コンテンツにスキップ

バックログをトリアージする

$codex-security:triage-finding を使用して、既存のセキュリティ検出結果を現在のリポジトリと照合します。このワークフローでは、読み取り専用の静的解析を実行します。Codex は各検出結果を未証明の主張として扱い、コードを実行せずにリポジトリの証拠を調査します。

評価対象のリポジトリをスコープとする Codex プロジェクトから、このワークフローを実行します。Codex がリポジトリのソースコードを読み取れる必要があります。Jira、Linear、GitHub のコネクターは検出結果のデータを提供しますが、ソースコードへのアクセスの代わりにはなりません。

内部では、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 は現在の Codex プロジェクトに関連付けられた GitHub リポジトリを使用します。GitHub Issues は既定の GitHub ソースに含まれません。トリアージする場合は、特定の issue を指定するか、GitHub Issues を明示的に要求してください。 選択したリポジトリと検出結果の種類へのアクセス権を持つ GitHub です。

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.

ワークフローは次の順序で進みます。

  1. 検出結果を収集して整理する

Codex は要求された課題または GitHub のコンテンツを取得し、ソースの識別子と参照を保持し、入力ごとに 1 つのトリアージ項目を作成します。判定を割り当てる前に、項目の完全な一覧を作成します。

  1. リポジトリのコンテキストを確認する

Codex は、利用可能な場合、現在のリポジトリとリビジョンを解決します。SECURITY.md が存在する場合は読み取り、サポート対象バージョン、信頼できる入力、プロダクトの境界、対象外のサーフェスを評価に反映します。

  1. 静的な証拠を調査する

各検出結果について、Codex は主張された攻撃者制御のソース、関連するセキュリティ制御、脆弱なシンク、到達可能なパス、サポート対象のセキュリティ境界を追跡します。主張を裏付ける証拠、主張に反する証拠、証明の不足箇所を記録します。

  1. 判定とランクを割り当てる

Codex はすべての検出結果に判定と信頼度を割り当てます。confirmedneeds_review の検出結果を、悪用可能性に基づいて別々のキューでランク付けします。

結果を確認する

判定 意味
confirmed リポジトリの証拠から、記載された前提条件の下で脆弱なパスに到達でき、サポート対象のセキュリティ境界を越えることが示されています。
not_actionable リポジトリの証拠から、影響を受けないバージョン、到達不能なパス、有効なガード、出荷されないサーフェスなどによって、主張が否定されています。
needs_review 必要な情報が不足している、曖昧である、実行時に依存する、環境に依存する、またはポリシーに依存するため、リポジトリの証拠だけでは判断できません。

悪用可能性のランクには 1 から始まる正の整数を使用し、各判定キュー内で個別に付与します。これにより、修正の優先順位と未解決のレビュー作業を分けて管理できます。ランク 1 は、その結果セットにおける最も悪用可能性の高い confirmed 検出結果、または最優先の needs_review 検出結果です。ランクはスキャナーの重大度スコアではなく、not_actionable の検出結果にはランクが付けられません。

各検出結果について、次の項目を確認します。

  • 判定とランクの根拠
  • 主張を裏付ける証拠と、主張に反する証拠
  • 未解決の質問と残っている証明の不足箇所
  • 影響を受ける場所とコンポーネント
  • プロダクトのサーフェスとソースの信頼レベル
  • 推奨される次のステップ
  • 検出結果が confirmed の場合の $codex-security:fix-finding ハンドオフ

指定したすべての検出結果に 1 つずつ結果があり、Codex がソースの識別子を保持し、不確実性が明示されていれば、トリアージは完了です。トリアージ結果を確認した後に Codex へ書き戻すよう依頼しない限り、Jira、Linear、その他のバックログレコードは変更されません。

次のステップ

  • 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 がソースチケットを自動的にクローズまたは更新することはありません。
  • 指定したバックログ以外の脆弱性を探すには、セキュリティスキャンを実行します