anthropics/defending-code-reference-harness

quickstart

- The front door for this repo.

Voir la source
Document Skill original

Rendu depuis le dépôt source en conservant titres, exemples, code, tableaux, liens et images.

/quickstart

Two modes, picked by whether $ARGUMENTS is empty.

  • Empty → Intro mode. Short orientation, then offer the guided first run.
  • Non-empty → Help mode. Treat $ARGUMENTS as the operator's question.

Intro mode

Keep it short and a little warm; this is the first thing a new operator sees.

Say roughly:

Welcome! This repo takes you from finding your first vulnerability to patching at scale, using a set of Claude Code skills and an autonomous pipeline. Two ways in: interactive skills (no setup, safe, start here) and the autonomous pipeline (Docker, scales to hundreds of parallel agents). The ramp-up: | Day 1 | Threat-model + first static scan + triage | | Day 2 | Run the reference pipeline (C/C++) | | Day 3-4 | Customize it for your stack | | Week 2 | Autonomous scanning, triage, and patching | Day-1 goal: threat-model, scan, and triage the bundled canary target. Most teams get there before lunch.

Remind them to export CLAUDE_CODE_SUBAGENT_MODEL=<model-id> so subagents use the same model as the session.

Then AskUserQuestion with three options:

  1. Walk me through Day 1 on the canary (~10 min) → run "Guided first

run" below.

  1. I have a question → ask what it is, then switch to Help mode.
  2. I'll read the README → point at README.md Step 1 and stop.

Guided first run

Runs the three Step-1 skills on targets/canary, pausing after each to show what landed on disk. These only read/write files in the repo; no sandbox needed.

  1. /threat-model bootstrap targets/canary via Task. When done, open

THREAT_MODEL.md, show the focus areas, explain in 2-3 sentences how this steers the scan.

  1. /vuln-scan targets/canary via Task. When done, open

targets/canary/VULN-FINDINGS.md, summarize the count and top 2-3 findings, point at VULN-FINDINGS.json.

  1. /triage targets/canary/VULN-FINDINGS.json via Task. When done, open

TRIAGE.md, explain what changed vs. raw findings (verified, deduped, re-ranked).

Pause for the operator between each (AskUserQuestion); don't barrel through. Close with a one-line recap of the three artifacts on disk, then point at README Step 2 for the execution-verified pipeline. Never run `vuln-pipeline` or anything that executes target code here; that's Step 2 and needs Docker + a sandbox.


Help mode

Answer the operator's question using this repo as ground truth: README, docs/*.md, harness/*.py, dnr_harness/*.py, targets/*/config.yaml, .claude/skills/*. Don't answer from general knowledge when the repo has a specific answer.

Routing map

If the question is about…Read firstThen offer
running the pipelinedocs/pipeline.md, README Step 2the recon / run command
too many findings, triagedocs/triage.md/triage <path>
porting, Java/Go/Rust/etc.docs/customizing.md, README Step 3/customize
safety, sandbox, Dockerdocs/security.mdcite; no action
rate limits, 429, token budgetdocs/pipeline.md: Rate limits, docs/troubleshooting.md#rate-limitscite the numbers
duplicates, dedupdocs/troubleshooting.md#duplicate-findingsknown_bugs: hint
CLI flags, "what does --X do"harness/cli.py (grep the argparse)exact flag + example
which model, subagent pinningdocs/troubleshooting.md: Subagentsthe export line
best practices, promptingdocs/best-practices.md, docs/prompting.mdcite the principle
threat model, attack surface, scopedocs/threat-model.md/threat-model bootstrap <target-dir>
scan, audit, find vulns.claude/skills/vuln-scan/SKILL.md/vuln-scan <target-dir>
"how do I start"README Step 1offer Guided first run
patching, fix, diff, re-attackdocs/patching.md, README Step 4/patch <input>
threat hunting, incident response, logsdocs/detection-response.md/dnr-hunt or /dnr-respond
autonomous D&R, dnrcanarydocs/detection-response.md, targets/dnrcanary/README.mdthe dnr-pipeline run command
binary, embedded, other domainsdocs/other-use-cases.mdcite section
anything elseREADME Table of contentsbest-match doc

Answer format

  1. Direct answer in 2-5 sentences.
  2. > source: the file(s) and section you used.
  3. Next action: one copy-pasteable command or skill invocation, if one

applies. If none does, say so.

  1. If the question is ambiguous, ask one clarifying question; don't guess.

Constraints

  • Never fabricate CLI flags or file paths. If unsure, Grep for it in

harness/cli.py or the target configs and quote what you find.

  • If the repo doesn't answer the question, say so plainly and suggest the

operator open a GitHub issue on this repo.

  • Keep the Q&A dry and cited. Save the warmth for Intro mode.
du même dépôt

Autres Skills

Tous les Skills
anthropics
Officiel

dnr-hunt

Proactive threat hunt over web/application logs — no alert in hand. Profiles the corpus, runs a hypothesis-driven hunt loop with a mandatory written ledger, confirms suspects in source, detonates a local PoC, and writes INCIDENTS.json + INCIDENTREPORT.md. Use when asked to "hunt the logs", "find the campaign", "look for signs of compromise", or "run dnr-hunt". The no-alert entry to the detection & response track; /dnr-respond is the lead-in-hand entry.

installations
2
GitHub Stars
7,5 k
Mis à jour
6 août
anthropics
Officiel

patch

Generate candidate fixes for verified security findings. Consumes TRIAGE.json (preferred), VULN-FINDINGS.json, INCIDENTS.json, or a vuln-pipeline results directory. Pipeline input is delegated to the execution-verified vuln-pipeline patch ladder; static-analysis input gets a per-finding patch subagent + independent reviewer and is written as inert diffs for human review. Writes PATCHES/bugNN/{patch.diff,patchresult.json}, PATCHES.md, and PATCHES.json. Use when asked to "fix the findings", "patch these vulns", "generate fixes", or "close the loop on triage".

installations
2
GitHub Stars
7,5 k
Mis à jour
6 août
anthropics
Officiel

threat-model

- Build a threat model for a target codebase. Three modes: "interview" walks an application owner through the four-question framework and produces a threat model from their answers; "bootstrap" derives a threat model from the code plus past vulnerabilities (CVEs, git history, pentest reports) when no owner is available; "bootstrap-then-interview" chains the two when both owner and codebase are present. All write THREATMODEL.md in a shared schema. Use when asked to "threat model", "build a threat model", "map the attack surface", or "what should we be worried about in this codebase".

installations
2
GitHub Stars
7,5 k
Mis à jour
6 août