$codex-security:triage-finding を使用して、現在のリポジトリに対する既存のセキュリティ検出結果を
レビューします。このワークフローでは、読み取り専用の静的
解析を実行します。Codex は各検出結果を未立証の主張として扱い、コードを実行せずにリポジトリ内の
証拠を調べます。
評価対象のリポジトリにスコープを限定した Codex プロジェクトから、このワークフローを 実行します。Codex にはリポジトリのソースコードを読み取れる権限が必要です。Jira と Linear の コネクタから検出結果データを取得できますが、GitHub の検出結果には認証済みの GitHub REST アクセスが必要です。いずれもソースコードへのアクセスの代わりにはなりません。
内部では、Codex は検出結果で参照されたコードまたはバージョン情報を起点とし、 攻撃者が制御できるとされるソース、関連するセキュリティ制御、 危険なシンク、到達可能なパスを追跡します。また、製品サーフェスと 信頼境界を確認し、反証となる証拠を探して、立証上の不足を記録します。その後、Codex は 検出結果ごとに 1 つの判定を返し、対応または追加 レビューが必要な検出結果を順位付けします。
これは $codex-security:validation とは異なります。検証では、コードのビルドや実行、
対象を絞ったテストや概念実証の作成、実際のインターフェースの操作による
検出結果の再現や反証が可能です。既存のバックログの分類と順位付けには
トリアージを使用します。静的な証拠だけでは確定できない検出結果を実行時の証拠で解決できる
場合は、検証を使用します。
バックログのトリアージは既存の検出結果を起点にします。リポジトリで新たな 脆弱性を探すには、セキュリティスキャンを実行してください。トリアージでは リポジトリの変更や修正の実装は行いません。
トリアージ対象の検出結果の選択
次のソースから、1 件の検出結果または複数件をまとめて指定できます:
| ソース | 指定する情報 | 要件 |
|---|---|---|
| 貼り付けた検出結果またはローカルの検出結果 | SARIF の結果、CVE または GHSA、アドバイザリ、スキャナーのチケット、バグバウンティ報告、Codex Security の検出結果アーティファクト、または自然言語で記述した脆弱性の主張。 | コネクタは不要です。 |
| Jira または Linear | セキュリティまたは脆弱性に関するイシューの正確な URL または識別子、Jira JQL、あるいは Linear のチーム、プロジェクト、検索語句。Codex はトリアージの前に、選択したイシューの内容を取得します。 | Atlassian Rovo 経由の Jira または Linear への読み取りアクセス権。 |
| GitHub | リポジトリと、次のいずれか 1 つの検出結果ソース:コードスキャン、Dependabot の脆弱性とマルウェア、セキュリティアドバイザリと非公開の脆弱性レポート、またはすべてのソース。リポジトリを指定しなかった場合、現在の Codex プロジェクトに関連付けられた GitHub リポジトリが利用可能であれば、Codex はそれを使用します。GitHub イシューはデフォルトの GitHub ソースに含まれません。GitHub イシューをトリアージする場合は、特定のイシューを指定するか、GitHub イシューを明示的に指定してください。 | 選択したリポジトリと検出結果の種類を読み取る権限を持つ、gh auth token、GH_TOKEN、GITHUB_TOKEN などによる認証済み GitHub REST アクセス。 |
Codex は、各ソースの検出結果を追跡できるよう、指定されたすべての検出結果について 入力順に 1 件ずつ結果を保持します。重複しているように見える検出結果を統合したり 除外したりすることはありません。
読み取り専用トリアージの実行
貼り付けた検出結果またはローカルのアーティファクトには、次のようなプロンプトを送信します:
Use $codex-security:triage-finding to triage these existing security findings against this repository:
[Paste the findings or provide the artifact path.]
Jira または Linear のイシューでは、対象のイシュー群を指定し、ソースシステムを 読み取り専用のままにします:
Use $codex-security:triage-finding to import and triage the security findings from [Jira or Linear issue URLs, identifiers, or query] against this repository.
Do not change the source issues.
GitHub の検出結果では、リポジトリとソースを指定します:
Use $codex-security:triage-finding to import and triage [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all] from [owner/repository] against this repository.
現在の Codex プロジェクトに関連付けられた GitHub リポジトリを使用するには、 検出結果のソースのみを指定します:
Use $codex-security:triage-finding to import and triage [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all] from GitHub against this repository. Use the GitHub repository attached to the current Codex project.
ワークフローは次の順序で進みます:
-
検出結果の収集と整理
Codex は、リクエストされたイシューまたは GitHub のコンテンツを取得し、ソースの 識別子と参照を保持して、入力ごとに 1 件のトリアージ項目を作成します。判定を割り当てる前に、 項目の完全な一覧を作成します。
-
リポジトリのコンテキストの確認
利用可能な場合、Codex は現在のリポジトリとリビジョンを特定します。また、
SECURITY.mdが存在する場合はそれを読み取り、サポート対象のバージョン、信頼できる入力、製品の 境界、対象外のサーフェスを評価に反映します。 -
静的な証拠の調査
Codex は各検出結果について、攻撃者が制御できるとされるソース、 関連するセキュリティ制御、脆弱なシンク、到達可能なパス、サポート対象の セキュリティ境界を追跡します。主張を裏付ける証拠、主張に反する証拠、 立証上の不足を記録します。
-
判定と順位の割り当て
Codex は各検出結果に判定と信頼度を割り当てます。
confirmedとneeds_reviewの検出結果を、悪用可能性に基づいて別々のキューで順位付けします。
結果のレビュー
| 判定 | 意味 |
|---|---|
confirmed | リポジトリの証拠から、指定された前提条件の下で脆弱なパスに到達でき、サポート対象のセキュリティ境界を越えていることが確認できます。 |
not_actionable | リポジトリの証拠により、影響を受けないバージョン、到達不能なパス、有効なガード、製品として提供されていないサーフェスなどが示され、その主張が否定されます。 |
needs_review | 必要な情報が欠けている、曖昧である、または実行時、環境、ポリシーに依存するため、リポジトリの証拠だけでは判定できません。 |
悪用可能性の順位には 1 から始まる正の整数を使用し、各判定キュー内で
個別に割り当てます。これにより、修正の優先順位と、未解決の
レビュー作業を分けて扱えます。順位 1 は、その結果セットで最も悪用可能性が高い confirmed の検出結果、
または優先度が最も高い needs_review の検出結果を表します。この順位は
スキャナーの重大度スコアではなく、not_actionable の検出結果には順位を付けません。
各検出結果について、次の点をレビューします:
- 判定と順位の根拠
- 主張を裏付ける証拠と主張に反する証拠
- 未解決の疑問点と残っている立証上の不足
- 影響を受ける箇所とコンポーネント
- 製品サーフェスとソースの信頼レベル
- 推奨される次のステップ
- 検出結果が
confirmedの場合の$codex-security:fix-findingへの 引き継ぎ
指定したすべての検出結果にそれぞれ 1 件の結果があり、Codex がそのソース識別子を保持し、 不確実な点がすべて明示されれば、トリアージは完了です。Jira、Linear、その他の バックログ内のレコードは、トリアージ結果をレビューした後で Codex に書き戻しを依頼しない限り、 変更されません。
次のステップ
-
confirmed:担当者が検出結果を修正対象として受け入れた後、$codex-security:fix-findingを使用して修正し、 検証します。トリアージでは、プロンプトにそのまま使用できる引き継ぎ情報を準備しますが、スキルを 自動的に呼び出すことはありません。 -
needs_review:コードを実行することで立証上の不足を解消できる場合は、$codex-security:validationを使用して範囲を限定した動的検証を行います。トリアージ結果から、 検出結果の主張、影響を受ける箇所、前提条件、静的な証拠、 立証上の不足を渡します:Use $codex-security:validation to dynamically validate finding [triage item ID or source ID] from the backlog triage result. Use the strongest realistic, bounded method, record exactly what was tested, and preserve any remaining proof gaps.トリアージとは異なり、検証ではコードのビルドや実行、対象を絞ったテストや 概念実証の作成、実際のインターフェースの操作を行う場合があります。提案されたコマンドは 承認する前にレビューし、Codex の承認ポリシーとセキュリティ ポリシー を引き続き適用してください。
-
needs_review:検出結果が製品ポリシーまたはデプロイの コンテキストに依存する場合は、コードを変更する前に、記載されている未解決の疑問点に回答してください。 -
not_actionable:証拠をトリアージ記録とともに保管してください。Codex は元のチケットを 自動的にクローズしたり更新したりしません。 -
指定したバックログ以外の脆弱性も探すには、セキュリティ スキャンを実行してください。