コンテンツにスキップ

セキュリティ検出結果をエクスポートして追跡する

完了した Codex Security スキャンを、次の 2 種類のハンドオフのソースとして使用します。

  • エクスポートでは、ポータブルな JSON、CSV、または SARIF ファイルを作成します。
  • 検出結果の追跡では、選択した検出結果を Linear、GitHub、または Jira のイシュー、あるいは非公開の GitHub Security Advisory のドラフト 1 件として準備し、重複を確認してから、書き込み前に承認を待ちます。

これらのワークフローによって、封印済みのスキャンバンドルが変更されることはありません。

ポータブルなアーティファクトをエクスポートする

完了した検出結果ワークスペースを開き、エクスポートを選択して形式を選びます。

形式 用途
JSON ツールやスクリプトで使用できるよう、封印済みの構造化された検出結果を保持します。
CSV スプレッドシートで検出結果と現在のローカルなトリアージ状態を確認します。
SARIF SARIF 交換形式をサポートするツールに検出結果を送信します。

検出結果をエクスポートを選択し、返されたアーティファクトパスを使用します。検出結果のみの投影ではなく、完全なスキャンコンテキストが別のツールで必要になる場合は、元の scan-manifest.jsonfindings.jsoncoverage.json を一緒に保持してください。

JSON、CSV、SARIF の形式オプションを含む検出結果のエクスポートダイアログ
完了した検出結果を JSON、CSV、または SARIF としてエクスポートし、後続のレビューやツールで使用します。

選択した検出結果を追跡する

$codex-security:track-findings ワークフローでは、1 件の封印済みスキャンから、検証済みの検出結果 1 件、または明示的に選択した最大 25 件の検出結果のバッチを、イシュー追跡用に受け付けます。GitHub Security Advisory のドラフトで受け付けられる検出結果は 1 件のみです。1 回の実行では、1 つのプロバイダーと 1 つの宛先を使用します。

Linear の場合は、次のようなプロンプトを送信します。

Use $codex-security:track-findings to prepare finding [finding ID] from
[completed scan directory] for the Linear team [team] and project [project, if
any]. Check for duplicates and show me the exact issue title, body, metadata,
and destination. Do not create or update anything until I approve that payload.

GitHub のイシューの場合は、次を送信します。

Use $codex-security:track-findings to prepare finding [finding ID] from
[completed scan directory] for GitHub repository [owner/repository]. Check open
and closed issues for duplicates and show me the exact issue title, body,
metadata, repository visibility, and authenticated transport. Do not create or
update anything until I approve that payload.

Jira の場合は、次を送信します。

Use $codex-security:track-findings to prepare finding [finding ID] from
[completed scan directory] for Jira project [project key] as [issue type].
Check for duplicates and show me the exact issue summary, description,
metadata, and destination. Do not create or update anything until I approve
that payload.

Jira の追跡には、Codex の Atlassian Rovo プラグインが必要です。イシューを再利用するには読み取りアクセス権が必要で、イシューを作成または更新するには読み取りおよび書き込みアクセス権が必要です。

非公開の GitHub Security Advisory のドラフトの場合は、次を送信します。

Use $codex-security:track-findings to prepare finding [finding ID] from
[completed scan directory] as a private draft GitHub Security Advisory in
[owner/repository]. Verify the sealed source revision, repository, affected
paths, package metadata, and duplicate state. Show me the exact advisory
payload, authenticated GitHub CLI identity, and disclosure warnings. Do not
create anything until I approve that payload.

ドラフトアドバイザリーには、封印済みの git_revision スキャンからの検出結果 1 件、検証済みの公開された正規ソースリポジトリ、および管理者アクセス権が必要です。このワークフローでは、アドバイザリーのバッチ処理、更新、公開、終了は行いません。ソースがこれらの要件を満たさない場合は、承認済みの非公開イシューの宛先を使用してください。

提案された書き込みをレビューする

  1. 検出結果 ID とフィンガープリントが、意図した封印済みスキャンから取得されたものであることを確認します。
  2. プロバイダー、正確な Linear チーム、GitHub リポジトリ、Jira プロジェクト、またはアドバイザリーリポジトリと、実際の宛先の公開範囲を確認します。
  3. 重複の結果を確認します。createreuseupdate、または blocked のいずれかです。
  4. 提案された完全なタイトル、本文、ソースの場所、プロバイダーのメタデータを読みます。宛先に公開すべきでないエクスプロイトの詳細や内部証拠を削除します。
  5. その正確なペイロードだけを承認します。宛先、公開範囲、検出結果セット、または本文を変更する場合は、新しいプレビューが必要です。

機密性の高い検出結果は、非公開の宛先に送る必要があります。内部または公開 GitHub リポジトリにイシューを作成する場合は、公開範囲に関する明示的な警告と、完全なコンテンツへの承認が必要です。ドラフトアドバイザリーの説明は最終的に公開されるものとして扱い、認証情報、非公開の証拠、不要なエクスプロイトの詳細を承認前に削除してください。

追跡したアイテムを検証する

承認後、Codex は封印済みのソース、宛先、アクセス権、重複状態を再検証します。バッチは順番に処理され、不確実な結果が最初に発生した時点で停止します。作成、更新、または再利用は、Codex が正確なイシューを読み戻し、その関連付け ID とコンテンツを検証した後にのみ完了します。

返された正規のイシュー URL またはアドバイザリー URL を、トリアージ記録とともに保持してください。所有者が修正のためにアイテムを受け入れたら、検出結果を修正して検証する に進みます。