$codex-security:vulnerability-writeup を使うと、脆弱性ごとに単独で読めるレポートを作成できます。Codex Security のスキャン結果を使うことも、手元の調査結果、脆弱性開示に関するメモ、PoC、ソースコードを直接使うこともできます。Codex Security によるスキャンは必須ではありません。
根拠資料の準備
ワークフローには次の資料を渡します。
- レビュー対象の調査結果、脆弱性開示に関するメモ、または評価文書
- 対象のソースツリーと、影響を受けるリビジョンまたはリリース
- 既存の PoC、ログ、トレース、スクリーンショット、または診断出力
- 修正コミットまたは差分(入手できる場合)
Codex はレポートを作成する前に、資料の各記述を影響を受けるソースコードと照合します。ソースコードまたは該当リビジョンを入手できない場合は、未検証の記述を明示したうえでレポートを作成するかどうかを判断してください。
ワークフローの実行
次のようなプロンプトを送信します。
$codex-security:vulnerability-writeup を使い、[input paths] の資料に記載された脆弱性ごとに、単独で読めるレポートを 1 件ずつ作成してください。資料の各記述を [source path and revision] のソースコードと照合して検証してください。提供された PoC はそのまま保持するか改善し、レポートを [output directory] に保存してください。脆弱性の再現はローカルのテスト環境で行ってください。
Codex は提供された資料を一覧にし、根本原因と脆弱性のあるコードパスが共通するレポートをまとめます。そのうえで、脆弱性ごとにレポート用のディレクトリを作成します。各ディレクトリには Markdown 形式のレポートが入り、裏付けとなる PoC ファイルがある場合は poc/ ディレクトリも含まれます。
各レポートの確認
レポートを配布する前に、次の点を確認してください。
- 攻撃者が制御できる入口からバグの発現までの流れをたどり、セキュリティ上のどの不変条件が破られ、どのような影響が生じるかを説明しているか
- 検証済みの挙動を、仮説や未解決の制約と区別しているか
- ソースコードの抜粋に、パス、関数、影響を受けるリビジョンを併記しているか
- PoC を用意できる場合は、そのソースコード、ビルドまたは実行の手順、代表的な出力、安全に使用するための制約を記載しているか
- 他の環境でも使えるパスを使用し、内部ストレージやローカルの絶対パスに依存していないか
スキャンで作成したレポートの利用
標準スキャン、詳細スキャン、変更箇所のスキャンでは、詳細な脆弱性レポートの作成は任意です。作成を依頼すると、Codex は各レポートを findings/<slug>/<slug>.md に保存し、関連ファイルを findings/<slug>/poc/ に格納します。各レポートへのリンクは report.md に追加されます。
スキャン結果を共有またはアーカイブする際は、スキャンディレクトリ全体をひとまとめにしてください。複数のレポートに共通する問題のパターンを見つけて改善策を検討するには、セキュリティ強化策の提案に進んでください。