
소스 코드를 공격자처럼 추론하고, 실행 가능한 PoC로 악용 가능한 결함을 확인하며, hunt, fix, verify 스킬을 통해 테스트 우선 수정을 이끄는 에이전트형 AI 보안 스캐너입니다.
[!NOTE] Capital One의 VulnHunter(Apache-2.0)의 유지 관리되는 포크 — Claude Code뿐만 아니라 모든 에이전트 하네스에서 실행되도록 제작되었습니다. 이 포크의 초점은 하네스 이식성, 샌드박스(컨테이너화) 익스플로잇 검증, 그리고 영향이 측정된 PoC입니다. 변경 이유 · 이 포크가 변경하는 것 · 숫자를 참조하세요.
패턴 매칭에서 증명 가능성으로.
VulnHunter는 소스 코드에 직접 사전 예방적이고 공격자 우선 분석을 적용하는 오픈 소스 에이전트형 AI 보안 도구입니다.
의심스러운 패턴을 표시하고 종종 오탐을 유발하는 기존의 수동적 SAST 스캐너와 달리, VulnHunter는 적대자처럼 추론합니다. 어떤 결함이 실제로 악용 가능한지 식별하고, 예상 공격 경로를 매핑하며, 증거에 기반한 표적화된 수정을 제안합니다.
현대 소프트웨어 공급망은 깊이 상호 연결되어 있습니다. 널리 사용되는 오픈 소스 구성 요소의 단일 취약점은 수천 개의 기업에 동시에 파급될 수 있습니다.
VulnHunter는 Capital One에서 내부적으로 개발되어 커뮤니티를 위해 오픈 소스로 공개되었습니다. 이 포크는 그 작업을 이어갑니다 — 동일한 방법론을 모든 에이전트 하네스에서 실행되도록 재작업하고, 샌드박스(컨테이너화) 익스플로잇 검증과 영향이 측정된 PoC를 로드맵으로 삼습니다. 이 포크가 변경하는 것을 참조하세요.
이중 용도 주의 VulnHunter는 이중 용도 사이버 보안 작업(취약점 발견 및 악용)을 수행합니다. 가드레일을 예상하세요: 대부분의 상용 모델은 이중 용도 사이버 안전 장치를 적용하며, 공격적인 악용 동작은 속도 제한이나 사용 플래그를 유발할 수 있습니다. VulnHunter의 개발 및 테스트는 오픈 웨이트, 커뮤니티 제공 모델 — 위험 요소가 제거되고, abliterated되고, 검열되지 않은 — 에서 실행되었으며, 이는 앞으로 조직 사용에서 중요해질 가능성이 높은 모델입니다. 소유하거나 감사 권한이 있는 코드만 감사하세요.
[!IMPORTANT] 사전 요구 사항 및 모델 요구 사항 VulnHunter의 방법론은 오픈 웨이트, 커뮤니티 제공 모델 — 조직이 실제로 배포할 수 있는 위험 요소가 제거되고, abliterated되고, 검열되지 않은 모델 — 에서 실행되도록 구축되었습니다. 유능한 추론 모델이 필요합니다. 하네스가 제공하는 가장 강력한 모델이 최상의 결과를 제공하지만, 방법론은 특정 벤더의 프런티어 모델에 의존하지 않습니다. 모델 접근은 직접 제공해야 합니다.
| 기능 | 업스트림 (Capital One) | 이 포크 | 상태 |
|---|---|---|---|
| 하네스 이식성 | 스킬이 Claude Code를 특정적으로 호출; 설치 프로그램이 ~/.claude/skills를 대상으로 함; 모델 게이트가 Opus를 하드코딩; 하네스가 claude-opus-4-8을 고정 | 스킬이 하네스 이식 가능한 프롬프트 파일(스킬 디렉터리 + 서브에이전트가 있는 모든 하네스); VULNHUNT_SKILLS_DIR / VULNHUNT_AGENTS_DIR / VULNHUNT_BIN_DIR / VULNHUNT_HOST_CMD / VULNHUNT_MODEL 환경 계약; 모델 게이트가 "하네스의 가장 유능한 추론 모델"로 재구성됨 | 출시됨 |
| 추측 없는 설치 프로그램 | install.sh가 ~/.claude/skills를 가정 | 명시적 디렉터리, GROK_HOME 의미론을 준수, vh 런처를 VULNHUNT_BIN_DIR/~/.local/bin에 작성, vulnhunter-run 스킬 + 에이전트 정의 설치; Windows .cmd 등가물 업데이트됨 | 출시됨 |
vulnhunter-run 운영자 스킬 | — (없음) | 무인 운영자: 복제 → 헌트 → 결과 찾기 → 스캔 매니페스트 작성/검증, 명시적 중지 규칙과 즉흥성 없음 | 출시됨 |
| 벤치마크/판정 강화 | 고정 모델 + 기본 재시도 | 환경을 통한 모델, 재시도/백오프 구성, analyze_misses 파이프라인 손실 지점 추적, 발견별 이력 추적 | 출시됨 |
| 하네스 중립적 보고 언어 | 스킬 전반에 Claude 특정 문구 | 하네스 중립적 도구 언어 (Agent → 서브에이전트, Claude CLI → 하네스 세션) | 출시됨 |
| 샌드박스 우선 익스플로잇 검증 | 익스플로잇 테스트가 정적 추적일 수 있음; 런타임 선택 임의적 | Docker 우선 런타임 프로비저닝; 발견별로 런타임 기록; Medium+ 심각도는 실행 필수 | 진행 중 |
| 영향이 측정된 PoC | PoC는 문서; 영향은 주장됨 | 실행 가능한 PoC + 발견 내 영향 수치 (노출된 행, 증폭된 요청, 방치된 키-시간) | 진행 중 |
VulnHunter의 방법론은 본질적으로 호스트에 구애받지 않습니다: 도구 바인딩이 아니라 프롬프트 절차입니다. 업스트림 프로젝트는 Claude Code 내부에서 성장했습니다 — 일관된 선택이자 올바른 첫 보금자리였습니다. 그러나 에이전트 하네스 환경은 넓어졌고, 그중 하나에만 설치되는 보안 방법론은 감사 기능이기를 멈추고 벤더 기능이 되기 시작합니다. 이 포크는 네 가지 변경을 가하며, 각각 이유가 있습니다.
여기의 모든 스킬은 명시적 환경 계약(VULNHUNT_SKILLS_DIR, VULNHUNT_AGENTS_DIR, VULNHUNT_MODEL, VULNHUNT_HOST_CMD)을 가진 이식 가능한 프롬프트 파일이며, 모델 게이트는 이제 특정 제품 대신 하네스의 가장 유능한 추론 모델을 요구합니다. 더 나은 의미: 동일한 방법론이 팀이 이미 실행하는 하네스에 설치되며 — 이 포크가 개발되는 방식인 벤치마크 실행에서 하네스 간 비교가 가능해집니다.
업스트림 설치 프로그램은 스킬을 무조건 ~/.claude/skills에 복사했습니다. 두 개의 하네스를 실행하는 머신 — 또는 홈이 재배치된 하네스 — 에서 그 추측은 조용히 잘못된 위치에 설치됩니다. 포크의 설치 프로그램은 묻거나 환경 변수를 받으며, 답이 없을 때 정확한 지침과 함께 크게 실패합니다. 더 나은 의미: 다중 하네스 머신에서 안전하고, 재배치된 홈에서도 정확하며, 잘못 구성되었을 때 조용한 대신 시끄럽습니다.
원래 설계는 이미 반증과 익스플로잇 테스트를 요구했습니다. 열린 채로 남겨둔 것은 그것들을 실제로 실행하기 위해 얼마나 열심히 작업할지였습니다: 정적 추적, 모의 테스트, 또는 실제 컨테이너화된 서버. 단일 커밋에 대한 6회 실행 벤치마크에서 그 재량은 3개에서 42개의 발견을 만들어냈으며 — 동일한 싱크에 대해 반대 판정, 하나는 모의에 대해 입증되고, 하나는 실제 서버에 대한 테스트로 종결되었습니다. 이 포크는 런타임 프로비저닝 절차(Docker 우선, 발견별 기록)와 영향이 측정되는 PoC 규율 — 유출된 행, ×-증폭, 방치된 키-시간 — 을 추가하며, 서술되지 않습니다. 더 나은 의미: 발견의 유효성이 더 이상 컨테이너를 세울 본능을 가진 모델에 의존하지 않습니다. (진행 중 — 빌드 계획은 공개 로드맵에 있습니다; 이슈에서 문의하거나 저장소의 Discussions를 지켜보세요.)
이 포크의 새로운 기능: vulnhunter-run, 복제하고, 헌트하고, 결과를 찾고, 명시적 중지 규칙으로 스캔 매니페스트를 작성하고 검증하는 무인 운영자. 벤치마크 도구는 환경을 통한 모델 구성, 재시도/백오프 노브, 놓친 발견에 대한 손실 지점 분석을 얻습니다. 더 나은 의미: 데모하는 도구와 예약하는 도구의 차이.
우리는 VulnHunter를 자기 자신과 벤치마킹합니다: 하나의 실제 프로덕션 Go 서비스에 대한 6회 전체 스캔 — 동일한 커밋, 5개의 하네스/모델 스택. 아래 숫자는 그 실행에서 나온 것이며, 이 포크가 존재하는 이유입니다.
| 14× | 동일한 커밋의 실행 간 확인된 발견의 편차. 스스로를 측정하는 프로세스가 첫 번째 취약점이었습니다 — 그 격차를 좁히는 것이 이 포크의 빌드 계획입니다. |
| 42/42 | 확인된 발견이 실행 가능한 익스플로잇 테스트를 수반 — 모두 PASS, 모두 자체 PoC 포함. 어떤 발견도 추측으로 출시되지 않습니다. |
| 55% | 후보 발견 중 적대적 검증 단계에서 제거되거나 강등된 비율 — 당신에게 도달하기 전에. 다른 도구는 스캔합니다. VulnHunter는 소송합니다. |
| 315 | 단일 스캔에서 인벤토리된 공격자 제어 입력 — 모두 추적되고, 모든 처분이 기록됨. 완전성은 열망이 아니라 규율입니다. |
| 20/20 | 한 번의 실행에서 라이브 서버에 대해 실행된 적대적 페이로드 — 주장이 아닌 결과 측정. |
6회의 완전한 VulnHunter 스캔이 동일한 프로덕션 Go 서비스의 하나의 커밋에 대해, 5개의 하네스/모델 스택에 걸쳐, 약 3주에 걸쳐 실행되었습니다. 위의 모든 수치는 보존된 스캔 아티팩트 — 입력별 처분 테이블, 적대적 판정 테이블, PoC, 실행된 익스플로잇 테스트 — 로 추적됩니다. 원시 출력은 유지 관리자가 보관합니다; 문의하거나 직접 다시 실행하세요.
VulnHunter는 완전한 자동화된 교정 루프를 형성하는 세 개의 구성 가능한 에이전트 스킬로 제공됩니다:
| 스킬 | 단계 | 핵심 책임 |
|---|---|---|
/vulnhunt | 헌트 | 진입점을 위험한 싱크에 매핑. 다단계 반증 파이프라인(정찰 → 병렬 헌트 → 적대적 반증 → 능력 필터)을 통해 발견을 필터링. 실행 가능한 익스플로잇과 제안된 수정이 있는 검증된 이슈만 출력. |
/vulnhunter-fix | 수정 | 개발자 주도, 테스트 주도 교정. 익스플로잇 데모를 작성하고, 실패하는 보안 테스트를 생성하고(RED), 코드 수정을 구현하고(GREEN), 회귀 없이 익스플로잇이 차단되는지 검증하고, 검토 가능한 PR을 생성합니다. |
/vulnhunt-fix-verify | 검증 | 발견이 성공적으로 교정되었는지 독립적으로 검증하는 완전히 별개의 읽기 전용 에이전트. 발견별 판정을 출력하여 수정이 믿음이 아닌 증명됩니다. |
참고: 이 루프를 대규모로 무인 실행하려면
vulnhunter-agent/가 스캐너를 헤드리스 런타임으로 감싸고,harness/가 여러 저장소에 걸쳐 배치로 구동합니다.
이름에 관하여: 제품군은 VulnHunter이지만, 핵심 스캐너 명령은
/vulnhunt(그리고 검증자는/vulnhunt-fix-verify)입니다 — 짧은 형식은 의도적이며 오타가 아닙니다./vulnhunter-fix교정 스킬과vulnhunter-agent/런타임은 전체 철자를 유지합니다.
각 구성 요소는 자체 포함된 하위 트리로 구성됩니다: