takt/builtins/ja/facets/output-contracts/security-review.md
nrslib 4e89fe1c23 feat: reviewers↔fix ループ収束を支援するレポート履歴・ループ監視・参照方針の整備
- phase-runner: レポートを上書きせずタイムスタンプ付きで同ディレクトリに保存し、fix が過去指摘の傾向を追跡できるよう改善
- output-contracts: persists/reopened/family_tag フィールドを追加してレビュー指摘の継続性を明示
- pieces: 全ビルトインピースに reviewers↔fix の loop_monitors を追加し、発散ループを自動検知
- fix.md: 過去レポートの参照方法を「Glob で {レポート名}.* を検索、最大2件読む」と具体化
- loop-monitor-reviewers-fix.md: ループモニタ判定用の共通インストラクションを新規追加
2026-03-04 11:32:19 +09:00

1.9 KiB
Raw Blame History

# セキュリティレビュー

## 結果: APPROVE / REJECT

## 重大度: None / Low / Medium / High / Critical

## チェック結果
| カテゴリ | 結果 | 備考 |
|---------|------|------|
| インジェクション | ✅ | - |
| 認証・認可 | ✅ | - |
| データ保護 | ✅ | - |
| 依存関係 | ✅ | - |

## 今回の指摘new
| # | finding_id | family_tag | 重大度 | 種類 | 場所 | 問題 | 修正案 |
|---|------------|------------|--------|------|------|------|--------|
| 1 | SEC-NEW-src-db-L42 | injection-risk | High | SQLi | `src/db.ts:42` | 生SQL文字列 | パラメータ化クエリを使用 |

## 継続指摘persists
| # | finding_id | family_tag | 前回根拠 | 今回根拠 | 問題 | 修正案 |
|---|------------|------------|----------|----------|------|--------|
| 1 | SEC-PERSIST-src-auth-L18 | injection-risk | `src/auth.ts:18` | `src/auth.ts:18` | 未解消 | バリデーションを強化 |

## 解消済みresolved
| finding_id | 解消根拠 |
|------------|----------|
| SEC-RESOLVED-src-db-L10 | `src/db.ts:10` はバインド変数化済み |

## 再開指摘reopened
| # | finding_id | family_tag | 解消根拠(前回) | 再発根拠 | 問題 | 修正案 |
|---|------------|------------|----------------|---------|------|--------|
| 1 | SEC-REOPENED-src-auth-L55 | injection-risk | `前回: src/auth.ts:20 で修正済み` | `src/auth.ts:55 で再発` | 問題の説明 | 修正方法 |

## 警告(非ブロッキング)
- {セキュリティに関する推奨事項}

## REJECT判定条件
- `new``persists`、または `reopened` が1件以上ある場合のみ REJECT 可
- `finding_id` なしの指摘は無効

認知負荷軽減ルール:

  • 問題なし → チェック表のみ10行以内
  • 警告のみ → + 警告1-2行15行以内
  • 脆弱性あり → + 指摘表30行以内