takt/builtins/ja/output-contracts/security-review.md
nrslib 2460dbdf61 refactor(output-contracts): unify OutputContractEntry to item format with use_judge and move runtime dir under .takt
- Remove OutputContractLabelPath (label:path format), unify to OutputContractItem only
- Add required format field and use_judge flag to output contracts
- Add getJudgmentReportFiles() to filter reports eligible for Phase 3 status judgment
- Add supervisor-validation output contract, remove review-summary
- Enhance output contracts with finding_id tracking (new/persists/resolved sections)
- Move runtime environment directory from .runtime to .takt/.runtime
- Update all builtin pieces, e2e fixtures, and tests
2026-02-15 11:17:55 +09:00

1.4 KiB
Raw Blame History

# セキュリティレビュー

## 結果: APPROVE / REJECT

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

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

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

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

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

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

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

認知負荷軽減ルール:

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