
소스 코드를 공격자처럼 추론하고, 실행 가능한 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 규율 — 유출된 행, ×-증폭, 방치된 키-시간 — 을 추가하며, 서술되지 않습니다. 더 나음이란: 발견의 타당성이 더 이상 어떤 모델이 컨테이너를 세울 직관을 가졌는지에 달려 있지 않다는 것입니다. (진행 중 — 빌드 계획은 공개 로드맵에 있습니다; issues에서 문의하거나 저장소의 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/런타임은 전체 철자를 유지합니다.
각 구성 요소는 자체 포함된 하위 트리로 구성됩니다: