Cloudflare가 내부 보안 취약점 탐색에 멀티 에이전트 LLM 파이프라인을 적용한 경험을 공개한다. "취약점 발견 하네스(VDH)"와 "취약점 검증 시스템(VVS)"의 2단계 구조로 운영되며, 모델을 교체 가능한 구성 요소로 취급하는 모델-독립 아키텍처가 핵심 설계 원칙이다. 실제 운영에서 원본 20,799개 후보를 삼계층 필터링으로 7,245개 실행 가능 발견사항까지 정제했다.
핵심 포인트- VDH는 Recon → Hunt → Validate → Gapfill → Trace → Dedup → Feedback 7단계 파이프라인으로 취약점을 탐색한다.
- 각 에이전트 컨텍스트 사용을 총 윈도우의 25% 이하로 제한해 할루시네이션을 줄인다.
- VVS가 완전히 다른 모델로 독립 검증 — 검증 거부율 40% → 11%, 고무결성 발견사항 비율 35% → 58%.
- 모든 단계를 SQLite에 저장해 크래시 시 진행 중 작업만 손실되고 전체 진행은 보존된다.
- 30,000줄 저장소 기준: 원본 100개 → 고품질 버그 80개, 중요 버그는 5일 내 패치, 일반 버그는 15~20일 롤아웃.
- 오케스트레이션 레이어를 안정적으로 설계하면 모델 교체가 파이프라인 전체를 흔들지 않는다.
상세 정리- 설계 철학: 단일 모델 의존은 모델 교체 시 파이프라인 전체가 흔들린다. 모델을 교체 가능한 구성 요소로 취급하고 오케스트레이션 레이어를 안정적으로 유지하는 것이 핵심.
- VDH Recon: 3개 병렬 에이전트가 저장소 아키텍처를 매핑하고 위협 벡터를 분석한다.
- VDH Hunt: 공격 클래스별로 사냥 에이전트가 실행되며 전체 작업의 9~20%를 차지한다.
- 위시리스트 메커니즘: 에이전트가 필요한 리소스를 중앙에 요청하는 도구 — 총 25,472회 호출로 가장 많이 쓰인 도구. Semgrep을 완전히 통합했지만 에이전트는 한 번도 사용하지 않았고 위시리스트가 더 유용했다.
- Validate 단계: 스키마 검증 + 대립적 검증을 거치며, 모든 확인된 발견사항은 PoC 테스트 코드와 함께 제출해야 통과된다. 소스 코드를 직접 편집한 익스플로잇은 거부.
- 삼계층 필터링: 원본 후보 20,799개 → 검증 통과 12,057개(58%) → 최종 실행 가능 발견사항 7,245개.
- VVS 독립 검증: VDH와 다른 모델로 구성 — Dedup(중복 통합), Judgment(프로덕션 도달성 평가), Fixing(패치 생성 + 회귀 테스트) 세 단계를 거친다.
- 검증 품질 개선: 초기 거부율 40% → 11%, 고무결성 발견사항 비율 35% → 58%로 향상.
- 상태 관리: (run_id, repo, stage)를 키로 SQLite에 모든 단계 저장 — 크래시 시 진행 중 단계만 재실행하면 되고 전체 진행은 보존.
- 모니터링: 의심스럽게 빨리 완료된 Hunt는 "얕은 것"으로 표시 후 재실행, 발견사항 0건 에이전트는 자동 플래그.
- 오픈소스 공개: 초기 보안 감사 스킬을 github.com/cloudflare/security-audit-skill 로 공개.
왜 읽나멀티 에이전트 LLM으로 보안 취약점 탐색을 자동화하려는 보안 엔지니어와 대규모 에이전트 파이프라인 설계자에게 실전 아키텍처 레퍼런스.