security-audit-skill README

The project's README from github.com/cloudflare/security-audit-skill. As one markdown file: README.md.

security-audit

A coding-agent skill that turns your agent into a security auditor. It orchestrates isolated agents through reconnaissance, coverage-led hunting, candidate validation, structured output, independent record verification, and target-neutral reporting.

This is the skill that seeded Cloudflare's vulnerability discovery harness, described in Build your own vulnerability harness. The harness grew into a multi-stage, fleet-wide system; this skill is the single-repo starting point it evolved from.

What it does

The skill runs a structured audit in six phases:

  1. Reconnaissance -- map architecture, trust boundaries, input surfaces, prior evidence, and deterministic coverage in architecture.md and coverage-ledger.json.
  2. Coverage-led hunting -- assign isolated hunters from ledger units, record their checks, and use coverage critics to find gaps.
  3. Candidate validation -- give every unique candidate to a fresh verifier that tries to disprove it.
  4. Structured output -- write confirmed, needs_validation, and rejected records to findings.json and validate them against report-schema.json.
  5. Independent record verification -- fresh agents verify final source claims. Material replacements receive another independent verifier.
  6. Target-neutral reporting -- derive REPORT.md, FINDINGS-DETAIL.md, and NEEDS-VALIDATION.md from the verified records and coverage ledger.

The parent runs validate-coverage-ledger.cjs after creating the ledger and after each later ledger update. It runs validate-findings.cjs in Phase 4 and again after every Phase 5 replacement.

The verdicts are distinct: confirmed has a complete source trace and bounded observed result, needs_validation has an exact unresolved fact and no severity, and rejected records a disproved candidate.

Multiple runs against the same repo are additive. The skill uses prior ledgers and findings to target gaps, revalidate changed source, and carry forward current-source evidence without treating stale or unresolved work as covered.

Files

File Purpose
SKILL.md Setup, core principles, platform 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 attack prompts
MEMORY-SAFETY-AND-BINARY.md Memory-safety, binary, and kernel hunting classes for native 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 extension 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 restore 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 candidate validation, structured output, record verification, and reporting
report-schema.json JSON schema for all three findings.json verdicts
validate-findings.cjs Zero-dependency validator for findings.json in 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 in Phases 1–5
validate-coverage-ledger.test.cjs Coverage-ledger validator tests

Installation

Install the skill with the Skills CLI:

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

Use --global for a user-level installation:

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

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

Usage

Start your coding agent in (or pointed at) the codebase you want to audit, then ask it to do a security audit:

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

The skill activates automatically when the request matches its trigger (security audit, find vulnerabilities, pen-test the code, etc.). A direct codebase audit or pen-test request uses full audit mode. Security questions and focused vulnerability work use guidance mode unless you request report artifacts. In full audit mode, an unspecified output directory defaults to ~/security-audit-skill/<repo-name>/run-<N>. The workflow writes inside the target repository only when you explicitly select a directory that version control ignores.

Requirements

Design principles

Contact

Questions, feedback, or comparing notes on AI-driven security tooling: [email protected]

License

MIT -- see LICENSE.

security-audit-skill (cloudflare/security-audit-skill)

security-audit
Searching Database…

What is this?A Cloudflare coding-agent skill that turns your agent into a security auditor: it orchestrates isolated agents through a structured, multi-phase audit and returns independently verified, machine-readable findings.
Is this a separate app I run, or something that lives inside my coding agent?It is a skill your existing coding agent loads, not a standalone app. Start the agent in or pointed at the target codebase and ask it for a security audit — it activates automatically when the request matches its trigger.
How do I add it to my coding agent?Install it through the Skills CLI with npx skills; use --global for a user-level installation, and npx skills --help for agent-selection and non-interactive options.
What does my environment need before an audit can run properly?A coding agent whose model supports tool use and parallel sub-agents, Node.js for the zero-dependency validators, and an OS-enforced sandbox for anything target-controlled — builds, tests, browsers, fuzzers.
What happens if I skip the sandbox requirement?The workflow will not execute target code: leads stay as needsvalidation instead, so you get a more conservative, unverified report rather than unsandboxed execution of untrusted code.
Does it matter which OS I am on?It runs wherever your coding agent and Node.js do — macOS, Linux and Windows per the repo's platform tags — though native-target audits additionally require an OS-enforced sandbox.
What does an actual audit run look like?Six phases: reconnaissance writes architecture.md and coverage-ledger.json, isolated hunters work through ledger units while coverage critics look for gaps, every candidate goes to a fresh verifier that tries to disprove it, confirmed records land in findings.json, fresh agents re-verify final claims, and REPORT.md, FINDINGS-DETAIL.md and NEEDS-VALIDATION.md are generated from verified records.
What verdicts can a finding get?Three verdicts: confirmed requires a complete source trace and a bounded observed result; needsvalidation marks an exact unresolved fact and carries no severity; rejected means a verifier disproved the candidate. The agent checking a finding is never the one that found it, and defense-in-depth gaps are recorded as hardening notes, not vulnerabilities.
Which vulnerability classes does it cover?Shipped hunting prompts cover memory safety, binary and kernel issues; AI/LLM targets such as prompt injection and agent-tool misuse; HTTP protocol, cache and auth flaws; client-side DOM injection and prototype pollution; supply chain and release integrity; cloud IAM and deployment; RPC, queues and webhooks; resource exhaustion; tenant data isolation; and desktop, mobile and local IPC.
Is one audit run enough?Runs are additive: in Cloudflare's test runs a single pass found roughly half of the vulnerabilities that repeated runs found in total. Later runs use prior ledgers and findings to target gaps and revalidate changed source.
Creator
cloudflare
Size
0.1 MB
Stars
30.4K
Updated
CommitSep 14
Age
3mo
Commits · 90 Days