关于 quickstart
quickstart 是面向 Claude Code 操作者的引导技能,帮助熟悉漏洞发现与修复仓库的交互式技能和自动化流程。它根据是否提供参数切换入门引导或问题解答,并明确区分安全的初步扫描与需要 Docker 沙箱的执行流程。
主要功能
- 01按参数切换入门或问答模式
- 02引导运行威胁建模、扫描和分诊
- 03展示并解释生成的报告文件
- 04按问题主题定位仓库文档
- 05提示执行目标代码前的安全边界
适用场景
- 01首次在 canary 目标上完成威胁建模与扫描
- 02询问流水线、分诊或修复的仓库用法
- 03查找语言迁移或安全沙箱相关指引
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ anthropics/ defending-code-reference-harness --skill quickstart安装后在 Claude Code 中输入/quickstart确认已加载。
详细介绍
/quickstart
根据 $ARGUMENTS 是否为空选择两种模式。
- 为空 → 入门模式。 简短介绍,然后提供引导式首次运行。
- 不为空 → 帮助模式。 将
$ARGUMENTS视为操作者的问题。
入门模式
保持简短、友好;这是新操作者看到的第一条内容。
大致这样说:
欢迎! 本仓库通过一组 Claude Code 技能和一条自主流水线,带你从发现第一个漏洞到大规模修复。 有两种入门方式:交互式技能(无需设置、安全,建议从这里开始) 和自主流水线(需要 Docker,可扩展到数百个并行 Agent)。
入门路线:
| 第 1 天 | 威胁建模 + 首次静态扫描 + 分类处置 | | 第 2 天 | 运行参考流水线(C/C++) | | 第 3-4 天 | 根据你的技术栈进行自定义 | | 第 2 周 | 自主扫描、分类处置和修补 |
第 1 天的目标:对捆绑的金丝雀目标进行威胁建模、扫描和分类处置。 大多数团队午餐前就能完成。
提醒他们执行 export CLAUDE_CODE_SUBAGENT_MODEL=<model-id>,让子 Agent
使用与当前会话相同的模型。
然后使用 AskUserQuestion 提供三个选项:
- 带我完成第 1 天的金丝雀演练(约 10 分钟) → 运行下面的“引导式首次运行”。
- 我有个问题 → 询问具体问题,然后切换到帮助模式。
- 我会阅读 README → 指向
README.md中的第 1 步,然后停止。
引导式首次运行
在 targets/canary 上运行第 1 步的三个技能,每个技能完成后暂停并展示写入磁盘的内容。这些操作只会读取或写入仓库中的文件;无需沙箱。
- 通过 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);不要一口气跑完。
最后用一句话回顾磁盘上的三个产物,然后指向 README 第 2 步,介绍经过执行验证的流水线。此处绝不要运行 vuln-pipeline 或任何会执行目标代码的内容;那属于第 2 步,需要 Docker + 沙箱。
帮助模式
根据本仓库内容作为事实依据回答操作者的问题:README、
docs/*.md、harness/*.py、dnr_harness/*.py、targets/*/config.yaml、
.claude/skills/*。
如果仓库针对某个问题有具体答案,不要依据一般知识作答。
路由图
| 如果问题涉及…… | 优先阅读 | 然后提供 |
|---|---|---|
| 运行流水线 | docs/pipeline.md、README 步骤 2 | recon / run 命令 |
| 发现结果过多、分类处理 | docs/triage.md | /triage <path> |
| 移植、Java/Go/Rust 等 | docs/customizing.md、README 步骤 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) | 具体标志 + 示例 |
| 使用哪个模型、固定子 Agent 模型 | docs/troubleshooting.md:子 Agent | 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 步骤 1 | 提供引导式首次运行 |
| 打补丁、修复、差异、重新攻击 | docs/patching.md、README 步骤 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:写明所用的文件和章节。- 下一步操作: 如果适用,提供一条可直接复制粘贴的命令或技能调用。如果不适用,请说明。
- 如果问题含糊,只问 一个 澄清问题;不要猜测。
约束
- 绝不编造 CLI 标志或文件路径。如果不确定,请在
harness/cli.py或目标配置中使用Grep搜索,并引用搜索结果。 - 如果仓库无法回答问题,请直言说明,并建议操作人员在此仓库中提交 GitHub issue。
- 问答保持简洁、引用来源。把热情留给介绍模式。