Cloudflare/Security-Audit-Skill

Sep 17, 2026 11:36 AM - 2 hours ago 5

A coding-agent accomplishment that turns your supplier into a information auditor. It orchestrates isolated agents done reconnaissance, coverage-led hunting, campaigner validation, system output, independent grounds verification, and target-neutral reporting.

This is the accomplishment that seeded Cloudflare's vulnerability find harness, described successful Build your ain vulnerability harness. The harness grew into a multi-stage, fleet-wide system; this accomplishment is the single-repo starting constituent it evolved from.

The accomplishment runs a system audit successful six phases:

  1. Reconnaissance -- representation architecture, spot boundaries, input surfaces, anterior evidence, and deterministic sum successful architecture.md and coverage-ledger.json.
  2. Coverage-led hunting -- delegate isolated hunters from ledger units, grounds their checks, and usage sum critics to find gaps.
  3. Candidate validation -- springiness each unsocial campaigner to a caller verifier that tries to disprove it.
  4. Structured output -- constitute confirmed, needs_validation, and rejected records to findings.json and validate them against report-schema.json.
  5. Independent grounds verification -- caller agents verify last root claims. Material replacements person different independent verifier.
  6. Target-neutral reporting -- deduce REPORT.md, FINDINGS-DETAIL.md, and NEEDS-VALIDATION.md from the verified records and sum ledger.

The genitor runs validate-coverage-ledger.cjs aft creating the ledger and aft each later ledger update. It runs validate-findings.cjs successful Phase 4 and again aft each Phase 5 replacement.

The verdicts are distinct: confirmed has a complete root trace and bounded observed result, needs_validation has an nonstop unresolved truth and nary severity, and rejected records a disproved candidate.

Multiple runs against the aforesaid repo are additive. The accomplishment uses anterior ledgers and findings to target gaps, revalidate changed source, and transportation guardant current-source grounds without treating old aliases unresolved activity arsenic covered.

File Purpose
SKILL.md Setup, halfway principles, level terminology, workflow overview, and audit anti-patterns
RECONNAISSANCE.md Phase 1 reconnaissance prompts and synthesis instructions
HUNTING.md Phase 2 orchestration, hunting methodology, and validation rules
ATTACK-CLASSES.md Core, wildcard, and obvious-things onslaught prompts
MEMORY-SAFETY-AND-BINARY.md Memory-safety, binary, and kernel hunting classes for autochthonal targets
AI-AND-LLM.md Prompt-injection, agent/tool, and output-handling hunting classes for LLM-backed targets
WEB-PROTOCOL-AND-AUTH.md HTTP request-framing, cache, and authentication-protocol hunting classes for HTTP-protocol and auth targets
CLIENT-SIDE.md DOM-injection, messaging-trust, UI-redress, and prototype-pollution hunting classes for client-side/browser targets
SUPPLY-CHAIN-AND-RELEASE.md Dependency, CI, release, signing, update, plugin, and hold hunting classes
CLOUD-AND-DEPLOYMENT.md IAM, infrastructure-as-code, container, serverless, ingress, and runtime-configuration hunting classes
PROTOCOLS-RPC-AND-MESSAGING.md RPC, serialization, queue, broker, webhook, and streaming-protocol hunting classes
RESOURCE-EXHAUSTION-AND-AVAILABILITY.md Shared resource, quota, queue, worker, and operator-spend hunting classes
DATA-ISOLATION-AND-LIFECYCLE.md Tenant isolation, cache, search, export, backup, migration, deletion, and reconstruct hunting classes
DESKTOP-MOBILE-AND-LOCAL-IPC.md Native app, deep-link, webview, exported-component, helper, daemon, and local-IPC hunting classes
VALIDATION-AND-REPORTING.md Phases 3–6 campaigner validation, system output, grounds verification, and reporting
report-schema.json JSON schema for each 3 findings.json verdicts
validate-findings.cjs Zero-dependency validator for findings.json successful Phases 4 and 5
validate-findings.test.cjs Findings-validator tests and producer-compatible fixture checks
validate-coverage-ledger.cjs Zero-dependency validator for coverage-ledger.json successful Phases 1–5
validate-coverage-ledger.test.cjs Coverage-ledger validator tests

Install the accomplishment pinch the Skills CLI:

npx skills adhd https://github.com/cloudflare/security-audit-skill \ --skill security-audit

Use --global for a user-level installation:

npx skills adhd https://github.com/cloudflare/security-audit-skill \ --skill security-audit \ --global

Run npx skills --help for agent-selection and non-interactive options.

Start your coding supplier successful (or pointed at) the codebase you want to audit, past inquire it to do a information audit:

security audit this codebase
find information vulnerabilities successful ./src
do a information review, output to ~/audits/my-project

The accomplishment activates automatically erstwhile the petition matches its trigger (security audit, find vulnerabilities, pen-test the code, etc.). A nonstop codebase audit aliases pen-test petition uses afloat audit mode. Security questions and focused vulnerability activity usage guidance mode unless you petition study artifacts. In afloat audit mode, an unspecified output directory defaults to ~/security-audit-skill/<repo-name>/run-<N>. The workflow writes wrong the target repository only erstwhile you explicitly prime a directory that type power ignores.

  • A coding supplier pinch a exemplary that supports instrumentality usage and parallel sub-agents
  • Node.js for the zero-dependency findings and coverage-ledger validators
  • An OS-enforced sandbox for target-controlled builds, tests, processes, browsers, emulators, fuzzers, and fixtures. It must disable outer networking, usage a sanitized allowlisted environment, enforce assets limits, and let writes only to assigned scratch paths. Without these controls, the workflow keeps the lead arsenic needs_validation alternatively of executing target code.
  • Only corroborate established bound failures. Keep a source-grounded blocked lead arsenic needs_validation pinch its nonstop unresolved fact.
  • Adversarial validation. The supplier that checks a uncovering is ne'er the supplier that recovered it.
  • Severity requires impact. Likelihood x impact, not deviation from a checklist.
  • Defense-in-depth gaps are not vulnerabilities. If Layer A prevents the attack, the absence of Layer B is simply a hardening note.
  • Multiple runs amended coverage. In our trial runs, a azygous tally recovered astir half of the vulnerabilities that repeated runs recovered successful total.

Questions, feedback, aliases comparing notes connected AI-driven information tooling: [email protected]

MIT -- spot LICENSE.

More