Summary
各脆弱性に対して「未対応 / 調査中 / 対応済み / リスク受容」などのステータスを付与し、チームでの対応状況を追跡する。コメントや担当者のアサイン機能も含む。
前提
ユースケース
- SBOM 監査やウォッチリストで検出された脆弱性に対して、チームで対応状況を管理したい
- 「リスク受容」の判断を記録として残し、監査時に説明できるようにしたい
- 誰がいつ何を判断したかのログを追跡したい
既存実装との関係
注意: sbom_finding_statuses テーブル(migrations/000032)で SBOM限定のfindingステータス管理 は実装済み。
ただしこれは「SBOMバージョン × 脆弱性 × パッケージ(purl)」の組み合わせに対するもので、
本issueで求める 「脆弱性ID単体に対する組織全体のトリアージ」 とは別スコープ。
| 既存 (SBOM finding statuses) |
本issue (脆弱性トリアージ) |
| SBOMバージョン+purl単位 |
脆弱性ID単位 |
| SBOMアップロードが前提 |
SBOMなしでも利用可能 |
| ステータスのみ(justification付き) |
ステータス+担当者+コメントスレッド |
| SBOM画面内のフィルタ |
専用のトリアージ一覧画面 |
機能要件
ステータス管理
- ステータス:
open / investigating / resolved / accepted_risk / false_positive
- ステータス変更時にコメント(理由)を必須 or 任意で記録
- ステータス変更の履歴を保持
担当者アサイン
- 脆弱性に担当者(ユーザー)を割り当て
- 担当者フィルタでの一覧表示
コメント
- 脆弱性に対して自由テキストのコメントを追加
- 調査メモ、対応内容、参考リンク等を記録
フィルタ・検索
- ステータス別フィルタ
- 担当者別フィルタ
- 期限切れ(Due Date)フィルタ
タスク
DB(マイグレーション)
API
UI
Webhook通知連携
参考: 既存SBOM実装(本issueのスコープ外)
以下は実装済みで本issueでは対応不要:
- ✅
sbom_finding_statuses テーブル + CRUD API + UI
- ✅
sbom_finding_status_log テーブル(変更履歴)
- ✅
expires_at による期限切れ自動リセット
- ✅ SBOM scan結果画面内でのステータスフィルタ
Summary
各脆弱性に対して「未対応 / 調査中 / 対応済み / リスク受容」などのステータスを付与し、チームでの対応状況を追跡する。コメントや担当者のアサイン機能も含む。
前提
ユースケース
既存実装との関係
機能要件
ステータス管理
open/investigating/resolved/accepted_risk/false_positive担当者アサイン
コメント
フィルタ・検索
タスク
DB(マイグレーション)
vulnerability_triageテーブル(脆弱性ID × チーム/ユーザー単位のステータス、担当者、期限)triage_commentsテーブル(自由テキストコメント)triage_historyテーブル(ステータス変更ログ)API
UI
Webhook通知連携
triage_status_changedイベント追加(#18 Webhook通知機能)参考: 既存SBOM実装(本issueのスコープ外)
以下は実装済みで本issueでは対応不要:
sbom_finding_statusesテーブル + CRUD API + UIsbom_finding_status_logテーブル(変更履歴)expires_atによる期限切れ自動リセット