security-audit-skill
기타cloudflare/security-audit-skill
프로그래밍 에이전트가 다단계 보안 감사를 수행하고 발견된 스킬 패키지를 검증하도록 합니다.
개요
Cloudflare가 오픈소스로 공개한 스킬 팩으로, 코딩 에이전트를 구조화된 보안 감사자로 바꿔 줍니다. 서로 격리된 하위 에이전트를 오케스트레이션하여 정찰, 커버리지 기반 점검, 적대적 검증 및 독립적 재검토를 수행하고, JSON 스키마에 부합하는 기계 판독 가능한 감사 결과를 출력하며, Web, LLM, 공급망, 클라우드 및 네이티브 애플리케이션 등 다양한 유형의 공격 플레이북을 내장하고 있습니다.
README 미리보기
# security-audit\n\nA 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.\n\nThis is the skill that seeded Cloudflare's vulnerability discovery harness, described in [Build your own vulnerability harness](https://blog.cloudflare.com/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.\n\n## What it does\n\nThe skill runs a structured audit in six phases:\n\n1. **Reconnaissance** -- map architecture, trust boundaries, input surfaces, prior evidence, and deterministic coverage in `architecture.md` and `coverage-ledger.json`.\n2. **Coverage-led hunting** -- assign isolated hunters from ledger units, record their checks, and use coverage critics to find gaps.\n3. **Candidate validation** -- give every unique candidate to a fresh verifier that tries to disprove it.\n4. **Structured output** -- write `confirmed`, `needs_validation`, and `rejected` records to `findings.json` and validate them against `report-schema.json`.\n5. **Independent record verification** -- fresh agents verify final source claims. Material replacements receive another independent verifier.\n6. **Target-neutral reporting** -- derive `REPORT.md`, `FINDINGS-DETAIL.md`, and `NEEDS-VALIDATION.md` from the verified records and coverage ledger.\n\nThe 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.\n\nThe 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.\n\nMultiple runs against the same repo are additive. The skill uses