security-audit-skill은 코딩 에이전트를 보안 감사자처럼 동작하게 만드는 Cloudflare의 오픈소스 Agent Skill이다. 단순히 “취약점 찾아줘” 프롬프트를 길게 쓰는 대신, 정찰부터 독립 검증까지 여섯 단계 파이프라인으로 감사를 강제한다.
여섯 단계 파이프라인
| 단계 | 산출물/역할 |
|---|---|
| Recon | 애플리케이션 아키텍처, 신뢰 경계, 입력 표면을 조사하고 architecture.md 생성 |
| Hunt | injection, access control, business logic, cryptography, feature abuse 등 여러 관점에서 병렬 취약점 탐색 |
| Validate | 별도 에이전트가 각 finding을 반증하려고 시도해 false positive 제거 |
| Report | 사람이 읽는 REPORT.md와 상세 추적용 FINDINGS-DETAIL.md 작성 |
| Structured output | findings.json을 report-schema.json에 맞춰 생성하고 검증 |
| Independent verification | fresh agent가 구조화 결과의 사실 주장을 실제 소스 코드와 대조 |
핵심 설계는 발견자와 검증자를 분리하는 것이다. 취약점을 찾은 에이전트가 스스로 확신하는 구조를 피하고, 별도 검증 단계가 공격 가능성과 영향을 다시 확인한다.
보고 원칙
Cloudflare README는 몇 가지 원칙을 분명히 둔다.
- 실제 exploit scenario가 없는 항목은 보고하지 않는다
- 심각도는 체크리스트 위반이 아니라 likelihood x impact로 정한다
- 다른 계층이 공격을 막으면 취약점이 아니라 hardening note로 본다
- 여러 번 실행하면 서로 다른 코드 경로를 탐색해 coverage가 늘어난다
이 원칙은 LLM 보안 리뷰에서 흔한 과잉 보고 문제를 줄인다. 특히 “이론상 가능”한 finding을 줄이고 실제 재현 가능한 경로를 요구한다는 점이 중요하다.
설치와 사용
Skills CLI로 설치한다.
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit글로벌 설치:
npx skills add https://github.com/cloudflare/security-audit-skill \
--skill security-audit \
--global코드베이스에서 코딩 에이전트에게 다음처럼 요청하면 스킬이 활성화된다.
security audit this codebase누가 쓰면 좋은가
- 보안 엔지니어: 반복 가능한 1차 코드 감사를 에이전트에 맡기되 false positive를 줄이고 싶은 경우
- 플랫폼 팀: 여러 저장소에 같은 보안 감사 워크플로를 적용하고 구조화 결과를 수집하려는 경우
- 코딩 에이전트 운영자: 병렬 서브에이전트와 검증 단계를 갖춘 실전형 스킬 설계를 참고하려는 경우
라이선스
MIT 라이선스로 공개되어 있다.
관련 문서
- agent-skills — AI 에이전트의 능력을 확장하는 스킬 시스템
- cybersecurity-evals — AI 에이전트 보안 능력을 측정하는 벤치마크 설계 패턴
- snyk-vulnbench-js — LLM 보안 리뷰의 반복 가능성을 측정하는 JavaScript 취약점 벤치마크
참고 자료
- cloudflare/security-audit-skill — GitHub 공식 저장소