完了したスキャンの検出結果は、エクスポートして他のツールで利用できます。修正の進捗を追跡したり、情報開示に向けて調整したりするには、イシューまたは GitHub Security Advisory の非公開の下書きを用意するよう Codex に依頼します。
他のツールで利用できる形式でのエクスポート
デスクトップアプリで、セキュリティ > スキャンから完了したスキャンを開きます。アーティファクトの下にある検出結果の JSON を選択すると、構造化された検出結果が開きます。スキャンで SARIF レポートが生成された場合は、SARIF レポートを選択して開くこともできます。利用できるアーティファクトは、アプリとプラグインのバージョンによって異なります。
Codex が検出結果のエクスポートを提案したら、JSON、CSV、SARIF のいずれかを指定します。ターミナルからエクスポートするには、保存済みのスキャンディレクトリを指定して CLI のエクスポートコマンドを実行します。
| 形式 | 用途 |
|---|---|
| JSON | 封印済みの構造化された検出結果をそのまま保存し、ツールやスクリプトで利用します。 |
| CSV | スプレッドシートで検出結果を確認します。 |
| SARIF | データ交換形式の SARIF に対応したツールに検出結果を送ります。 |
最新のトリアージ状況、クローズした理由、メモを含めるには、これらの変更を反映してからプラグインで CSV をエクスポートします。スキャンディレクトリ内の exports/findings.csv を開いてください。CLI でエクスポートした保存済みのスキャンには、ローカルでのトリアージの変更は含まれません。
完了したスキャンから、カバレッジ、検出結果、スキャンマニフェスト、Markdown レポート、SARIF アーティファクトを開けます。
Markdown レポートを選択すると、設定したエディターで report.md が開きます。
生成された Markdown レポートで、スキャンの対象範囲、脅威モデル、検証済みの検出結果、詳細レポートへのリンクを確認します。
レポートをアーカイブする際は、スキャンディレクトリ全体を保存してください。追跡には元の scan-manifest.json と findings.json が必要です。検出結果を編集する場合は、先に findings.json のコピーを作成してください。
選択した検出結果の追跡
$codex-security:track-findings を使用し、同じ完了済みスキャンから検証済みの検出結果を 1 件以上指定します。実行ごとに追跡先を 1 つ選びます。
| 追跡先 | 指定する内容 |
|---|---|
| Linear イシュー | チームと、必要に応じてプロジェクト |
| GitHub イシュー | オーナーとリポジトリ |
| Jira の課題 | Atlassian アプリのサイト、プロジェクト、課題タイプ |
| GitHub Security Advisory の非公開の下書き | 検出結果 1 件と、その検出元である GitHub.com 上の公開ソースリポジトリ |
$codex-security:track-findings を使って、[completed scan directory] 内の検出結果 [finding ID] について、チーム [team] 向けの Linear イシューの下書きを作成してください。
複数の検出結果をまとめて追跡するには、依頼に各検出結果の ID を列挙します。Jira で追跡するには、Codex で Atlassian アプリを接続します。プロジェクトの課題を誰が閲覧できるか確認してください。課題の作成には閲覧権限と作成権限が必要です。既存の課題を再利用するには読み取り権限が、更新するには読み取り権限と編集権限の両方が必要です。
アドバイザリの下書きを作成するには、フォークではない公開ソースリポジトリの管理者権限を持つアカウントで、GitHub CLI(gh)を使って GitHub.com にサインインします。Git リビジョン(git_revision)を対象としたスキャンから、検出結果を 1 件選択します。コミット間の差分を対象としたスキャンは利用できません。パッケージ名、エコシステム、影響を受けるバージョンを事前に確認しておいてください。
イシューまたはアドバイザリの確認
- 検出元のスキャン、選択した検出結果、サインイン中のアカウントを確認します。追跡先と、その内容を誰が閲覧できるかも確認してください。機密性の高い検出結果には非公開の追跡先を使用します。内部公開または一般公開の GitHub イシューを使用するには、情報開示について明示的な承認が必要です。
- Codex の提案が、イシューの新規作成、再利用、更新のどれに当たるか確認します。アドバイザリの場合、Codex は非公開の下書きを作成するか、内容が一致する下書きや公開済みのアドバイザリを再利用できます。
- タイトル、本文、ソースコード内の該当箇所を確認します。アドバイザリの下書きは後で公開される可能性があります。認証情報、非公開の証拠、悪用方法に関する不要な詳細は削除してください。
- Codex がイシューやアドバイザリを作成または更新する前に、Codex との会話でプレビューを承認します。プレビューが変更された場合は、改めて確認して承認してください。
Codex がイシューを再度開けない場合でも、追跡ツールが返すイシューの ID またはリンクを保存してください。新規アドバイザリの場合、Codex は下書きの内容が承認された内容と一致することを確認します。
作成や更新が実際に行われたか判断できない場合、Codex は一括処理を停止します。再試行する前に、追跡ツールで該当するイシューまたはアドバイザリを確認し、どの検出結果の処理がまだ試行されていないか Codex に尋ねてください。
担当者が修正対応を引き受けたら、検出された問題の修正と検証に進みます。