quickstart について
quickstartは、脆弱性の発見と修正を扱うリポジトリのClaude Code利用者向け導入スキルです。引数の有無で案内モードと質問回答モードを切り替え、初期スキャンとDockerサンドボックスが必要な実行工程を区別します。
主な機能
- 01引数に応じた案内・質問モードの切り替え
- 02脅威モデリング、スキャン、トリアージの案内
- 03生成されたレポートファイルの説明
- 04質問内容に応じたリポジトリ文書の案内
- 05対象コード実行前の安全境界の提示
活用シーン
- 01canary対象で脅威モデリングとスキャンを開始
- 02パイプライン、トリアージ、パッチ方法を確認
- 03言語移植やサンドボックス安全性の資料を探す
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ anthropics/ defending-code-reference-harness --skill quickstartインストール後、Claude Code で/quickstartを入力して読み込まれたか確認します。
詳細
/quickstart
$ARGUMENTS が空かどうかで、2 つのモードを切り替えます。
- 空 → イントロモード。 簡単な案内のあと、ガイド付きの初回実行を提案します。
- 空でない → ヘルプモード。
$ARGUMENTSをオペレーターからの質問として扱います。
イントロモード
簡潔に、少し親しみやすい調子で説明します。新しいオペレーターが最初に目にする内容です。
おおよそ次のように伝えます。
ようこそ! このリポジトリでは、Claude Code スキルのセットと自律型パイプラインを使って、最初の脆弱性の発見から大規模なパッチ適用まで取り組めます。始め方は 2 通りです。対話型スキル(セットアップ不要で安全。まずはこちらから)と、自律型パイプライン(Docker が必要で、数百のエージェントを並列実行できます)です。
段階的な進め方:
| 1 日目 | 脅威モデリング+最初の静的スキャン+トリアージ | | 2 日目 | リファレンスパイプラインを実行(C/C++) | | 3~4 日目 | 使用する技術スタックに合わせてカスタマイズ | | 2 週目 | 自律型スキャン、トリアージ、パッチ適用 |
1 日目の目標:同梱のカナリアターゲットを脅威モデリングし、スキャンして、トリアージします。 ほとんどのチームは昼食前にここまで進められます。
サブエージェントがセッションと同じモデルを使うように、export CLAUDE_CODE_SUBAGENT_MODEL=<model-id> を設定することも伝えます。
続いて AskUserQuestion を使い、次の 3 つの選択肢を提示します。
- 1 日目の作業を案内してほしい(カナリアを使って約 10 分) → 以下の「ガイド付き初回実行」を行います。
- 質問があります → 質問内容を尋ねてから、ヘルプモードに切り替えます。
- README を読みます →
README.mdのステップ 1 を案内して終了します。
ガイド付き初回実行
targets/canary に対して、ステップ 1 の 3 つのスキルを実行し、それぞれの完了後にディスク上に作成された内容を確認します。これらのスキルはリポジトリ内のファイルのみを読み書きするため、サンドボックスは不要です。
- Task 経由で
/threat-model bootstrap targets/canaryを実行します。完了したらTHREAT_MODEL.mdを開き、重点領域を示して、それがスキャンの方針にどう反映されるかを 2~3 文で説明します。 - Task 経由で
/vuln-scan targets/canaryを実行します。完了したらtargets/canary/VULN-FINDINGS.mdを開き、件数と上位 2~3 件の検出結果を要約して、VULN-FINDINGS.jsonを案内します。 - Task 経由で
/triage targets/canary/VULN-FINDINGS.jsonを実行します。完了したらTRIAGE.mdを開き、生の検出結果から何が変わったか(検証済み、重複排除、再ランク付け)を説明します。
各ステップの間で一時停止し、オペレーターに確認します(AskUserQuestion)。立て続けに進めてはいけません。
最後に、ディスク上に作成された 3 つの成果物を 1 行で振り返り、実行検証済みパイプラインについて README のステップ 2 を案内します。ここでは vuln-pipeline や、ターゲットコードを実行するものを絶対に実行しないでください。それはステップ 2 であり、Docker とサンドボックスが必要です。
ヘルプモード
このリポジトリを根拠としてオペレーターの質問に答えます。参照先は README、docs/*.md、harness/*.py、dnr_harness/*.py、targets/*/config.yaml、.claude/skills/* です。
リポジトリに具体的な回答がある場合は、一般知識をもとに回答してはいけません。
ルーティングマップ
| 質問の内容… | まず読むもの | 次に提示するもの |
|---|---|---|
| パイプラインの実行 | docs/pipeline.md、README Step 2 | recon / run コマンド |
| 指摘が多すぎる、トリアージ | docs/triage.md | /triage <path> |
| 移植、Java/Go/Rust など | docs/customizing.md、README Step 3 | /customize |
| 安全性、サンドボックス、Docker | docs/security.md | 引用する。操作は提示しない |
| レート制限、429、トークン予算 | docs/pipeline.md: レート制限、docs/troubleshooting.md#rate-limits | 数値を引用する |
| 重複、重複排除 | docs/troubleshooting.md#duplicate-findings | known_bugs: のヒント |
| CLI フラグ、「--X は何をするのか」 | harness/cli.py(argparse を grep する) | 正確なフラグと例 |
| 使用するモデル、サブエージェントの固定 | docs/troubleshooting.md: サブエージェント | export の行 |
| ベストプラクティス、プロンプト作成 | docs/best-practices.md、docs/prompting.md | 原則を引用する |
| 脅威モデル、攻撃対象領域、スコープ | docs/threat-model.md | /threat-model bootstrap <target-dir> |
| スキャン、監査、脆弱性の発見 | .claude/skills/vuln-scan/SKILL.md | /vuln-scan <target-dir> |
| 「どう始めればよいか」 | README Step 1 | ガイド付き初回実行を提示する |
| パッチ適用、修正、差分、再攻撃 | docs/patching.md、README Step 4 | /patch <input> |
| 脅威ハンティング、インシデント対応、ログ | docs/detection-response.md | /dnr-hunt または /dnr-respond |
| 自律型 D&R、dnrcanary | docs/detection-response.md、targets/dnrcanary/README.md | dnr-pipeline run コマンド |
| バイナリ、組み込み、その他のドメイン | docs/other-use-cases.md | セクションを引用する |
| その他 | README の目次 | 最も関連性の高いドキュメント |
回答形式
- 直接的な回答を2~5文で示します。
> source:使用したファイルとセクションを示します。- 次のアクション: 該当する場合は、コピーして実行できるコマンドまたはスキル呼び出しを1つ提示します。該当しない場合は、その旨を伝えます。
- 質問が曖昧な場合は、推測せず、確認の質問を1つします。
制約
- CLI フラグやファイルパスを捏造しないでください。不明な場合は、
harness/cli.pyまたは対象の設定ファイルでGrepし、見つかった内容を引用してください。 - リポジトリに回答がない場合は、その旨を明確に伝え、運用担当者にこのリポジトリの GitHub issue を作成するよう提案してください。
- Q&A は簡潔で、出典を明記してください。温かみのある表現は Intro モードで使ってください。