バックログをトリアージする
既存のセキュリティ検出結果をリポジトリと照合してレビューし、後続作業の優先順位を決めます。
$codex-security:triage-finding を使用して、既存のセキュリティ検出結果を現在のリポジトリと照合してレビューします。このワークフローでは、読み取り専用の静的解析を行います。Codex は各検出結果を未証明の主張として扱い、コードを実行せずにリポジトリ内の証拠を調査します。
評価対象のリポジトリをスコープとする Codex プロジェクトから、このワークフローを実行します。 Codex がリポジトリのソースコードを読み取れる必要があります。Jira と Linear のコネクターから検出結果データを取得できますが、GitHub の検出結果には認証済みの GitHub REST アクセスが必要です。いずれもソースコードへのアクセスの代わりにはなりません。
内部では、Codex は提示されたコードまたはバージョン情報から調査を開始します。主張されている攻撃者が制御可能なソース、関連するセキュリティ制御、危険なシンク、到達可能なパスを追跡します。また、製品の対象領域と信頼境界を確認し、矛盾する証拠を探して、証拠の不足を記録します。その後、Codex は検出結果ごとに一つの判定を返し、対応または追加レビューが必要な検出結果を順位付けします。
これは、コードのビルドや実行、対象を絞ったテストや概念実証の作成、実際のインターフェースの操作によって検出結果を再現または反証できる $codex-security:validation とは異なります。既存のバックログを分類して順位付けするにはトリアージを使用します。静的な証拠だけでは不確実な検出結果をランタイムの証拠で解決できる場合は、検証を使用します。
トリアージする検出結果を選択する
次のソースから、一つの検出結果または検出結果のコレクションを指定できます。
| ソース | 指定する内容 | 要件 |
|---|---|---|
| 貼り付けた、またはローカルの検出結果 | SARIF の結果、CVE または GHSA、アドバイザリ、スキャナーのチケット、バグバウンティレポート、Codex Security の検出結果成果物、または自然言語で記述した脆弱性の主張。 | コネクターは不要です。 |
| Jira または Linear | セキュリティまたは脆弱性に関する課題の正確な URL または識別子、Jira JQL、あるいは Linear のチーム、プロジェクト、検索フレーズ。Codex はトリアージ前に、選択された課題の内容を取得します。 | 読み取りアクセス権を持つ Atlassian Rovo 経由の Jira または Linear。 |
| GitHub | リポジトリと、コードスキャン、Dependabot の脆弱性とマルウェア、セキュリティアドバイザリと非公開の脆弱性レポート、またはすべてのソースのうち一つ。リポジトリを指定しない場合、利用可能であれば、Codex は現在の Codex プロジェクトに関連付けられた GitHub リポジトリを使用します。GitHub Issues はデフォルトの GitHub ソースに含まれません。トリアージする場合は、特定の issue を指定するか、GitHub Issues を明示的に要求してください。 |
選択したリポジトリと検出結果の種類を読み取る権限を持つ、gh auth token、GH_TOKEN、GITHUB_TOKEN などによる認証済み GitHub REST アクセス。 |
Codex は入力順に、指定された検出結果ごとに一つの結果を保持するため、各ソースの検出結果を追跡できます。重複しているように見える検出結果も、統合したり削除したりしません。
読み取り専用のトリアージを実行する
貼り付けた検出結果またはローカルの成果物には、次のようなプロンプトを送信します。
Use $codex-security:triage-finding to triage these existing security findings against this repository:
[Paste the findings or provide the artifact path.]Jira または Linear の issue では、対象となる issue セットを指定し、ソースシステムを読み取り専用に保ちます。
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 は要求された issue または GitHub のコンテンツを取得し、ソースの識別子と参照を保持して、入力ごとに一つのトリアージ項目を作成します。判定を割り当てる前に、完全な項目リストを構築します。
リポジトリのコンテキストを確認する
Codex は、利用可能な場合は現在のリポジトリとリビジョンを特定します。
SECURITY.mdが存在する場合は読み取り、サポート対象のバージョン、信頼済み入力、製品の境界、対象外の領域を評価に反映します。静的な証拠を調査する
Codex は検出結果ごとに、主張されている攻撃者が制御可能なソース、関連するセキュリティ制御、脆弱なシンク、到達可能なパス、サポート対象のセキュリティ境界を追跡します。主張を裏付ける証拠、反証する証拠、証拠の不足を記録します。
判定と順位を割り当てる
Codex はすべての検出結果に判定と信頼度を割り当てます。
confirmedとneeds_reviewの検出結果を、悪用可能性に基づいて別々のキューで順位付けします。
結果をレビューする
| 判定 | 意味 |
|---|---|
confirmed |
リポジトリの証拠から、記載された前提条件のもとで脆弱なパスに到達でき、サポート対象のセキュリティ境界を越えることが確認できます。 |
not_actionable |
影響を受けないバージョン、到達不能なパス、有効なガード、または出荷されない対象領域が示されるなど、リポジトリの証拠によって主張が否定されています。 |
needs_review |
必要な情報が欠けている、曖昧である、ランタイム、環境、またはポリシーに依存しているため、リポジトリの証拠だけでは判断できません。 |
検出結果ごとに、次の項目をレビューします。
- 判定と順位の根拠
- 主張を裏付ける証拠と反証する証拠
- 未解決の質問と残っている証拠の不足
- 影響を受ける位置とコンポーネント
- 製品の対象領域とソースの信頼レベル
- 推奨される次のステップ
- 検出結果が
confirmedの場合の、$codex-security:fix-findingへの引き継ぎ
指定したすべての検出結果に一つずつ結果があり、Codex がそのソース識別子を保持し、不確実な点が明示されていれば、トリアージは完了です。Jira、Linear、その他のバックログレコードは、トリアージ結果をレビューした後に Codex へ書き戻しを依頼しない限り変更されません。
次のステップ
confirmed: 担当者が検出結果の修正を承認したら、$codex-security:fix-findingを使用して修正し、検証します。トリアージでは、プロンプトにそのまま使える引き継ぎ情報を用意しますが、skill を自動的には呼び出しません。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 はソースのチケットを自動的にクローズまたは更新しません。指定したバックログ以外の脆弱性を探すには、セキュリティスキャンを実行します。