{
  "$schema": "https://readbeforerun.ai/schema/entry.schema.json",
  "entry": {
    "id": "cloudflare-security-audit-skill",
    "name": "Cloudflare Security Audit Skill",
    "summary": "Agent skill that runs a multi-phase, source-first security audit of a codebase and verifies each candidate finding.",
    "draft": "review",
    "type": "skill",
    "mission": [
      "defensive"
    ],
    "task": [
      "code-review-sast"
    ],
    "domain": [
      "application-security"
    ],
    "runtime": [
      "claude-code"
    ],
    "tier": "listed",
    "last_checked": "2026-10-19",
    "next_check": "2027-01-17",
    "freshness": "fresh",
    "superseded": false,
    "in_my_kit": null,
    "advice": null,
    "code_shows": "writes outside the project · runs shell commands or eval · reads broad tokens or the environment",
    "source": {
      "repo": "https://github.com/cloudflare/security-audit-skill",
      "subpath": "skills/security-audit",
      "commit": "c1c8a8c1471069fb0e188eeaff69b8e8db6564a8",
      "version": null,
      "license": "MIT"
    },
    "install": {
      "skills_cli": null,
      "claude_code": null,
      "upstream": "npx skills add https://github.com/cloudflare/security-audit-skill \\\n  --skill security-audit",
      "bundled": false
    },
    "scan": {
      "status": "static scan pending (not run)"
    },
    "reach": {
      "method": "reach-v0.1",
      "level": 2,
      "level_source": "static",
      "level_label": "open",
      "unknown_axes": 0,
      "verdict": "not-run",
      "badge": "reach 2 · not run yet",
      "long": "reach 2 from code (open); lab: not run yet",
      "declared": {
        "fs": 2,
        "net": 0,
        "exec": 2,
        "cred": 0,
        "persist": 1
      },
      "static": {
        "level": 2,
        "fs": 2,
        "net": 0,
        "exec": 2,
        "cred": 2,
        "persist": 1,
        "hitl": 0,
        "unknown": []
      },
      "observed": null,
      "surplus": null,
      "fit": null,
      "exports": {
        "aivss": {
          "fs": 0.5,
          "net": 0,
          "exec": 0.5,
          "cred": 0.5,
          "persist": 0.5,
          "hitl": 0
        },
        "usf_risk_tier": "L2"
      }
    },
    "profile": {
      "read_at": "c1c8a8c1471069fb0e188eeaff69b8e8db6564a8",
      "read_on": "2026-10-25",
      "overview": "An agent skill for security guidance and vulnerability review of codebases, APIs, services, CLI tools, libraries and daemons. It runs the complete audit workflow only for an explicit codebase audit or pen-test request, a full or end-to-end review, or requested report artifacts.",
      "purpose": [
        "Finds vulnerabilities that cross a real trust boundary and gives owners source evidence, safe reproduction, priority and the smallest effective fix.",
        "Turns a coding agent into a security auditor that coordinates isolated agents through reconnaissance, hunting, validation, verification and reporting.",
        "Answers security questions and supports focused reviews, methodology, triage and investigation of specific findings."
      ],
      "use_cases": [
        {
          "text": "Audit a codebase for security vulnerabilities from its source with a coding agent started in or pointed at the repository.",
          "task": "code-review-sast"
        },
        {
          "text": "Review code where a language model takes part in trust-sensitive decisions: RAG pipelines, agent memory, tool-calling loops, MCP servers and clients.",
          "task": "code-review-sast"
        },
        {
          "text": "Review cloud identity, infrastructure-as-code, container, Kubernetes and serverless definitions in a repository.",
          "task": "cloud-iac-posture"
        },
        {
          "text": "Review dependency resolution, CI, release, signing and plugin loading in a repository for supply-chain flaws.",
          "task": "dependencies-secrets"
        }
      ],
      "maturity": null,
      "capabilities": [
        {
          "name": "Guidance mode",
          "effects": [
            "reads"
          ],
          "enabled": "default"
        },
        {
          "name": "Reconnaissance",
          "effects": [
            "reads",
            "changes"
          ],
          "enabled": "optional"
        },
        {
          "name": "Coverage-led hunting",
          "effects": [
            "reads"
          ],
          "enabled": "optional"
        },
        {
          "name": "Use bounded local evidence",
          "effects": [
            "runs-commands"
          ],
          "enabled": "optional"
        },
        {
          "name": "Candidate validation",
          "effects": [
            "reads"
          ],
          "enabled": "optional"
        },
        {
          "name": "Structured output",
          "effects": [
            "changes"
          ],
          "enabled": "optional"
        },
        {
          "name": "Independent record verification",
          "effects": [
            "reads"
          ],
          "enabled": "optional"
        },
        {
          "name": "Target-neutral reporting",
          "effects": [
            "changes"
          ],
          "enabled": "optional"
        },
        {
          "name": "Findings and coverage-ledger validators",
          "effects": [
            "reads",
            "runs-commands"
          ],
          "enabled": "optional"
        },
        {
          "name": "ATTACK-CLASSES.md and domain companions",
          "effects": [
            "reads"
          ],
          "enabled": "default"
        }
      ],
      "effects": [
        "reads",
        "changes",
        "runs-commands"
      ],
      "runs": "in-client",
      "listens": [],
      "sends_to": [],
      "model": "client",
      "needs": [
        {
          "kind": "other",
          "text": "A coding agent whose model supports tool use and parallel sub-agents."
        },
        {
          "kind": "runtime",
          "text": "Node.js to run the findings and coverage-ledger validators."
        },
        {
          "kind": "os",
          "text": "OS-enforced sandbox (no external network, allowlisted env, resource limits, scratch-only writes) to run target code; without it leads stay needs_validation."
        },
        {
          "kind": "tools",
          "text": "Target toolchains and dependencies must already be present locally; the skill tells agents not to install or fetch them."
        }
      ]
    },
    "urls": {
      "page": "/catalog/cloudflare-security-audit-skill/",
      "json": "/entries/cloudflare-security-audit-skill.json",
      "md": "/catalog/cloudflare-security-audit-skill.md",
      "badge": "/badge/cloudflare-security-audit-skill.svg"
    }
  },
  "data": {
    "schema_version": "0.5",
    "slug": "cloudflare-security-audit-skill",
    "name": "Cloudflare Security Audit Skill",
    "summary": "Agent skill that runs a multi-phase, source-first security audit of a codebase and verifies each candidate finding.",
    "draft": "review",
    "in_my_kit": null,
    "type": "skill",
    "mission": [
      "defensive"
    ],
    "task": [
      "code-review-sast"
    ],
    "domain": [
      "application-security"
    ],
    "phase": [
      "def:protect"
    ],
    "role": [
      "appsec"
    ],
    "runtime": [
      "claude-code"
    ],
    "auth": null,
    "autonomy": null,
    "addresses": [],
    "frameworks": {
      "owasp_ast": [],
      "owasp_asi": [],
      "attack_tactic": [],
      "atlas": []
    },
    "source": {
      "repo": "https://github.com/cloudflare/security-audit-skill",
      "subpath": "skills/security-audit",
      "commit": "c1c8a8c1471069fb0e188eeaff69b8e8db6564a8",
      "license": "MIT",
      "manifest": "SKILL.md",
      "also_listed": {}
    },
    "upstream": {
      "checked_at": "2026-10-19",
      "updated_at": "2026-09-14",
      "current_release": null,
      "archived": false,
      "stars": 31280,
      "commit_history": {},
      "releases_since_pin": 0
    },
    "install": {
      "upstream": "npx skills add https://github.com/cloudflare/security-audit-skill \\\n  --skill security-audit",
      "upstream_evidence": "README.md#L54-55",
      "bundled": false
    },
    "scan": [
      {
        "tool": "cisco-skill-scanner",
        "version": "not-run",
        "llm_judge": false,
        "date": "2026-10-19",
        "result": "pending"
      }
    ],
    "privileges": {
      "method": "reach-v0.1",
      "declared": {
        "axes": {
          "fs": 2,
          "net": 0,
          "exec": 2,
          "cred": 0,
          "persist": 1
        },
        "evidence": {
          "fs": "README.md#L84 author states the default output directory is under the user's home, outside the audited repository",
          "net": "skills/security-audit/SKILL.md#L42 author forbids probing deployed endpoints and external services",
          "exec": "README.md#L90 author states the workflow runs target-controlled builds and tests inside an OS sandbox",
          "cred": "skills/security-audit/SKILL.md#L84 author forbids capturing the ambient environment or credential values",
          "persist": "README.md#L22 author states runs are additive and reuse prior ledgers outside the target"
        }
      },
      "static": {
        "level": 2,
        "axes": {
          "fs": 2,
          "net": 0,
          "exec": 2,
          "cred": 2,
          "persist": 1,
          "hitl": 0
        },
        "evidence": {
          "fs": "skills/security-audit/SKILL.md#L51 write target is a new directory under the user's home, outside the audited repository",
          "net": "none found: patterns net-v0.1 in 6 files at c1c8a8c",
          "exec": "skills/security-audit/HUNTING.md#L163 hunters run the target's own builds, tests and fuzzers, i.e. arbitrary target code",
          "cred": "skills/security-audit/ATTACK-CLASSES.md#L118 the skill reads committed .env, credentials.json, .pem and .key files inside the audited repository to find hardcoded secrets: several secret files in the working directory (secrets 2, credential stores outside it would be 3)",
          "persist": "skills/security-audit/SKILL.md#L96 later runs read the ledgers kept in earlier run directories outside the target",
          "hitl": "none found: patterns hitl-v0.1 in 6 files at c1c8a8c"
        },
        "unknown": []
      },
      "min_config": {
        "status": "derived",
        "claude_code": "permissions.allow: [Read, Grep]; run in guidance mode unless you pass an explicit audit request, and provide an OS-enforced sandbox with no network before a full audit; without one the skill only reviews source and records the missing control as a blocker",
        "note": "derived from the code, not tested in the lab"
      },
      "override": null,
      "reviews": []
    },
    "status": {
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "superseded_by": null,
      "added": "2026-10-19",
      "added_by": "scout"
    },
    "evidence": {
      "runs": [],
      "badge": "/badge/cloudflare-security-audit-skill.svg"
    },
    "changes": []
  },
  "profile": {
    "schema_version": "0.1",
    "entry": "cloudflare-security-audit-skill",
    "draft": "review",
    "commit": "c1c8a8c1471069fb0e188eeaff69b8e8db6564a8",
    "read_on": "2026-10-25",
    "check": {
      "date": "2026-10-25",
      "facts": 52,
      "confirmed": 52,
      "verified": 47
    },
    "overview": {
      "text": "An agent skill for security guidance and vulnerability review of codebases, APIs, services, CLI tools, libraries and daemons. It runs the complete audit workflow only for an explicit codebase audit or pen-test request, a full or end-to-end review, or requested report artifacts.",
      "ev": "skills/security-audit/SKILL.md#L3 frontmatter description"
    },
    "purpose": [
      {
        "text": "Finds vulnerabilities that cross a real trust boundary and gives owners source evidence, safe reproduction, priority and the smallest effective fix.",
        "ev": "skills/security-audit/SKILL.md#L8 stated goal of the skill"
      },
      {
        "text": "Turns a coding agent into a security auditor that coordinates isolated agents through reconnaissance, hunting, validation, verification and reporting.",
        "ev": "README.md#L3 author description"
      },
      {
        "text": "Answers security questions and supports focused reviews, methodology, triage and investigation of specific findings.",
        "ev": "skills/security-audit/SKILL.md#L14 guidance mode scope"
      }
    ],
    "use_cases": [
      {
        "text": "Audit a codebase for security vulnerabilities from its source with a coding agent started in or pointed at the repository.",
        "task": "code-review-sast",
        "ev": "README.md#L70 usage section"
      },
      {
        "text": "Review code where a language model takes part in trust-sensitive decisions: RAG pipelines, agent memory, tool-calling loops, MCP servers and clients.",
        "task": "code-review-sast",
        "ev": "skills/security-audit/AI-AND-LLM.md#L5 when to use the AI companion"
      },
      {
        "text": "Review cloud identity, infrastructure-as-code, container, Kubernetes and serverless definitions in a repository.",
        "task": "cloud-iac-posture",
        "ev": "skills/security-audit/CLOUD-AND-DEPLOYMENT.md#L5 when to use the cloud companion"
      },
      {
        "text": "Review dependency resolution, CI, release, signing and plugin loading in a repository for supply-chain flaws.",
        "task": "dependencies-secrets",
        "ev": "skills/security-audit/SUPPLY-CHAIN-AND-RELEASE.md#L5 when to use the supply-chain companion"
      }
    ],
    "not_for": [
      {
        "text": "The author rules out probing deployed endpoints, external services, shared infrastructure, production identities, other users' data or live control planes.",
        "ev": "skills/security-audit/SKILL.md#L42 execution safety rule"
      },
      {
        "text": "The audit describes fixes and does not modify target source.",
        "ev": "skills/security-audit/SKILL.md#L166 remediation scope"
      }
    ],
    "capabilities": {
      "coverage": "complete",
      "count": {
        "n": 6,
        "unit": "steps",
        "by": "author",
        "text": "The author describes the audit as six phases.",
        "ev": "README.md#L9 phase count"
      },
      "groups": [
        {
          "name": "Guidance mode",
          "does": "Answers security questions, focused reviews and triage with the relevant parts of the skill, without audit artifacts; it may launch focused agents.",
          "effects": [
            "reads"
          ],
          "enabled": "default",
          "ev": "skills/security-audit/SKILL.md#L14 guidance mode"
        },
        {
          "name": "Reconnaissance",
          "does": "Maps architecture, trust boundaries, input surfaces, prior evidence and deterministic coverage into architecture.md and coverage-ledger.json.",
          "effects": [
            "reads",
            "changes"
          ],
          "enabled": "optional",
          "ev": "README.md#L11 phase 1"
        },
        {
          "name": "Coverage-led hunting",
          "does": "Assigns isolated hunter agents to ledger units, records their checks and runs coverage-critic waves to find gaps.",
          "effects": [
            "reads"
          ],
          "enabled": "optional",
          "ev": "README.md#L12 phase 2"
        },
        {
          "name": "Use bounded local evidence",
          "does": "Runs sandboxed local tests (function harness, existing unit test, parser fixture, isolated-loopback client) to resolve behavior when all execution controls are available.",
          "effects": [
            "runs-commands"
          ],
          "enabled": "optional",
          "ev": "skills/security-audit/SKILL.md#L144 bounded local checks"
        },
        {
          "name": "Candidate validation",
          "does": "Gives every unique candidate to a fresh verifier agent that tries to disprove it.",
          "effects": [
            "reads"
          ],
          "enabled": "optional",
          "ev": "README.md#L13 phase 3"
        },
        {
          "name": "Structured output",
          "does": "Writes confirmed, needs_validation and rejected records to findings.json and checks them against report-schema.json.",
          "effects": [
            "changes"
          ],
          "enabled": "optional",
          "ev": "README.md#L14 phase 4"
        },
        {
          "name": "Independent record verification",
          "does": "Fresh agents re-verify final source claims; a material replacement record goes to another independent verifier.",
          "effects": [
            "reads"
          ],
          "enabled": "optional",
          "ev": "README.md#L15 phase 5"
        },
        {
          "name": "Target-neutral reporting",
          "does": "Derives REPORT.md, FINDINGS-DETAIL.md and NEEDS-VALIDATION.md from the verified records and the coverage ledger.",
          "effects": [
            "changes"
          ],
          "enabled": "optional",
          "ev": "README.md#L16 phase 6"
        },
        {
          "name": "Findings and coverage-ledger validators",
          "does": "The parent runs validate-coverage-ledger.cjs after creating and after each update of the ledger, and validate-findings.cjs in Phase 4 and after every Phase 5 replacement.",
          "effects": [
            "reads",
            "runs-commands"
          ],
          "enabled": "optional",
          "ev": "README.md#L18 when the validators run"
        },
        {
          "name": "ATTACK-CLASSES.md and domain companions",
          "does": "Attack classes from ATTACK-CLASSES.md selected for the application type, extended with application-specific classes from Phase 1 and split per subsystem for large codebases.",
          "effects": [
            "reads"
          ],
          "enabled": "default",
          "ev": "skills/security-audit/ATTACK-CLASSES.md#L5 class selection"
        }
      ]
    },
    "architecture": {
      "summary": {
        "text": "Markdown instructions the coding agent's model follows: a parent agent coordinates the run and owns shared state, and delegates through the platform's Task tool to research agents for source exploration and general agents for investigation and bounded local execution.",
        "ev": "skills/security-audit/SKILL.md#L23-26 parent, Task tool and agent roles"
      },
      "runs": {
        "where": "in-client",
        "text": "Instructions the coding agent's model follows; the skill activates when a request matches its trigger.",
        "ev": "README.md#L84 activation"
      },
      "modes": [
        {
          "where": "in-client",
          "mode": "full audit mode",
          "switch": null,
          "text": "Runs all six phases and writes run files when the user explicitly asks for a codebase audit, pen test, full review or report artifacts.",
          "ev": "skills/security-audit/SKILL.md#L15 full audit mode"
        },
        {
          "where": "in-client",
          "mode": "run profile",
          "switch": null,
          "text": "Picks a run profile from the user's request or proposes one; standard is the default and the choice is recorded in run-metadata.json.",
          "ev": "skills/security-audit/SKILL.md#L109 run profiles"
        }
      ],
      "parts": [
        {
          "name": "SKILL.md",
          "zone": "client",
          "does": "SKILL.md holds setup, core principles, platform terminology, workflow overview and audit anti-patterns for the agent.",
          "ev": "README.md#L28 file table entry for SKILL.md"
        },
        {
          "name": "Parent agent",
          "zone": "client",
          "does": "The parent agent coordinates the run and owns shared state.",
          "ev": "skills/security-audit/SKILL.md#L23 parent role"
        },
        {
          "name": "Output directory",
          "zone": "machine",
          "does": "New writable directory outside the target, default ~/security-audit-skill/<repo-name>/run-<N>; inside the target only if the user picks a VCS-ignored path.",
          "ev": "skills/security-audit/SKILL.md#L51 output directory"
        },
        {
          "name": "validate-findings.cjs",
          "zone": "machine",
          "does": "validate-findings.cjs, a zero-dependency validator for findings.json used in Phases 4 and 5.",
          "ev": "README.md#L44 file table entry for validate-findings.cjs"
        },
        {
          "name": "Target repository",
          "zone": "machine",
          "does": "The repository under review, read by the agents for source inspection.",
          "ev": "skills/security-audit/SKILL.md#L49 target definition"
        },
        {
          "name": "OS-enforced sandbox",
          "zone": "machine",
          "does": "User-provided OS-enforced sandbox in which target-controlled builds, tests and fixtures run.",
          "ev": "README.md#L90 sandbox requirement"
        }
      ],
      "listens": [],
      "connections": [],
      "model": {
        "who": "client",
        "text": "The coding agent's own model performs the audit; it must support tool use and parallel sub-agents.",
        "ev": "README.md#L88 requirement"
      }
    },
    "needs": [
      {
        "kind": "other",
        "text": "A coding agent whose model supports tool use and parallel sub-agents.",
        "ev": "README.md#L88 requirement"
      },
      {
        "kind": "runtime",
        "text": "Node.js to run the findings and coverage-ledger validators.",
        "ev": "README.md#L89 requirement"
      },
      {
        "kind": "os",
        "text": "OS-enforced sandbox (no external network, allowlisted env, resource limits, scratch-only writes) to run target code; without it leads stay needs_validation.",
        "ev": "README.md#L90 sandbox requirement"
      },
      {
        "kind": "tools",
        "text": "Target toolchains and dependencies must already be present locally; the skill tells agents not to install or fetch them.",
        "ev": "skills/security-audit/SKILL.md#L40 local tools rule"
      }
    ],
    "installer": [
      {
        "text": "Installs with npx skills add pointed at the GitHub repository URL and --skill security-audit; the command pins neither the Skills CLI version nor a commit.",
        "ev": "README.md#L53-56 install command"
      },
      {
        "text": "Adding --global installs the skill at user level.",
        "ev": "README.md#L58-64 global install"
      },
      {
        "text": "Agent selection and non-interactive install options are documented in npx skills --help.",
        "ev": "README.md#L66 installer options"
      }
    ],
    "limits": [
      {
        "text": "Without the sandbox controls the workflow keeps a lead as needs_validation instead of executing target code.",
        "ev": "README.md#L90 behaviour without sandbox"
      },
      {
        "text": "A reconnaissance agent reports whether the local platform can enforce the sandbox controls; missing controls block target-controlled execution.",
        "ev": "skills/security-audit/RECONNAISSANCE.md#L53 sandbox capability check"
      },
      {
        "text": "The author reports that in their test runs a single run found roughly half of the vulnerabilities that repeated runs found in total.",
        "ev": "README.md#L98 author statement on coverage"
      },
      {
        "text": "The obvious-things hunter checks the audited repository for committed .env, .env.local, credentials.json, *.pem and *.key files.",
        "ev": "skills/security-audit/ATTACK-CLASSES.md#L118 secret file check"
      },
      {
        "text": "The wildcard hunter is told to look at git history for reverted security fixes, commented-out auth checks and secrets committed then removed.",
        "ev": "skills/security-audit/ATTACK-CLASSES.md#L103 git history review"
      },
      {
        "text": "In full audit mode the default output directory is in the user's home under ~/security-audit-skill/<repo-name>/run-<N>.",
        "ev": "README.md#L84 default output path"
      },
      {
        "text": "Reproduction records keep allowlisted variable names and safe values; agents are told never to capture the ambient environment, credential values or authentication state.",
        "ev": "skills/security-audit/SKILL.md#L84 environment capture rule"
      },
      {
        "text": "The author states that validator success proves format and ledger consistency, not the correctness of findings.",
        "ev": "skills/security-audit/VALIDATION-AND-REPORTING.md#L118 validator scope"
      },
      {
        "text": "In full audit mode the agent is told not to end the run until all Phase 6 artifacts are written and both validators pass, or an incomplete run status with its reason is recorded.",
        "ev": "skills/security-audit/SKILL.md#L179 terminal states of a full audit run"
      },
      {
        "text": "A strict agent budget can still be exceeded by an unexpectedly large candidate set or by a material Phase 5 replacement that needs another independent verifier.",
        "ev": "skills/security-audit/SKILL.md#L134 author note on budget overrun"
      },
      {
        "text": "When a request could mean guidance or full audit mode, the skill asks one focused question before creating files or starting the complete workflow.",
        "ev": "skills/security-audit/SKILL.md#L17 human checkpoint on ambiguous requests"
      },
      {
        "text": "Reconnaissance reads the target and its local build and configuration state; it does not contact deployed endpoints, external identity providers, registries, brokers or cloud APIs.",
        "ev": "skills/security-audit/RECONNAISSANCE.md#L5 author network scope for Phase 1"
      },
      {
        "text": "Agents may make a disposable copy of target source in their assigned scratch/ directory when a build must write beside source.",
        "ev": "skills/security-audit/SKILL.md#L40 source copy into scratch"
      }
    ],
    "not_found": [
      {
        "field": "maturity",
        "searched": "README.md, skills/security-audit/SKILL.md for preview, experimental, alpha, beta, stable, deprecated"
      },
      {
        "field": "listen",
        "searched": "README.md, SKILL.md, RECONNAISSANCE.md, HUNTING.md, validate-findings.cjs, validate-coverage-ledger.cjs for listen, port, server, bind; validators open input files read-only"
      },
      {
        "field": "connection",
        "searched": "all *.md files and validate-*.cjs for http(s) URLs, fetch, curl, wget, network calls; only the install URL, skills.sh and a blog link appear, and the skill tells agents not to use network access"
      },
      {
        "field": "autonomy",
        "searched": "entry type is skill, not agent; SKILL.md operating modes reviewed"
      },
      {
        "field": "need (authorization)",
        "searched": "README.md, SKILL.md for statements on permission or authorisation to audit a target"
      }
    ]
  },
  "verdict": null,
  "runs": []
}
