facts
캐피털원(Capital One)이 소스코드 내의 실행 가능한 취약점을 스캔하고 공격 경로를 매핑하며 수정안을 제안하는 에이전틱 AI 보안 도구 'VulnHunter'를 공개했다. 이 도구는 Apache 2.0 라이선스로 GitHub에 공개되어 누구나 사용할 수 있다.
VulnHunter의 핵심 기술 스택은 Anthropic의 Claude Opus 4.8 모델이며, Claude Code 환경 내에서 작동한다. 다만 캐피털원은 해당 프레임워크가 다른 파운데이션 모델이나 코딩 하네스(Coding Harness)에서도 작동할 수 있는 잠재력을 가지고 있다고 밝혔다.
도구의 주요 기능적 파이프라인은 세 단계로 구성된다. 먼저 소스코드를 스캔해 취약점을 찾고, 공격자가 해당 취약점에 도달할 수 있는 경로를 매핑하며, 마지막으로 엔지니어가 검토할 수 있는 타겟 수정안을 제안한다. 이 모든 과정은 코드가 프로덕션 환경에 배포되기 전 단계에서 수행된다.
how-it-works
VulnHunter의 작동 방식은 기존의 취약점 스캐너가 채택하던 '역방향 분석'과 대조되는 '공격자 우선 전방 분석(attacker-first forward analysis)' 워크플로우를 따른다. 기존 스캐너는 위험해 보이는 코드 패턴을 먼저 발견한 뒤, 가상의 공격자가 그 지점에 도달할 수 있는 경로를 역으로 추적했다. 이 방식은 실제 공격 가능성과 상관없이 패턴만으로 경고를 보내기 때문에 다량의 오탐(False Positive)을 발생시키는 원인이 됐다.
반면 VulnHunter는 실제 공격자가 시스템에 진입하는 지점부터 분석을 시작한다. 구체적인 진입점은 다음과 같다.
- API 엔드포인트
- 네트워크 메시지 핸들러
- 파일 업로드 인터페이스
도구는 이러한 진입점에서 시작해 애플리케이션의 로직을 따라 전방으로 추론하며, 특정 공격 경로가 코드에 구현된 기존 방어 체계를 뚫고 실제로 생존하여 취약점에 도달할 수 있는지를 판단한다.
분석의 정확도를 높이기 위해 도입된 두 번째 핵심 장치는 '거짓 증명 엔진(falsification engine)'이다. 이는 AI가 발견한 잠재적 취약점을 개발자에게 전달하기 전, 스스로 그 결과가 틀렸음을 증명하려고 시도하는 구조다. 엔진은 구조화된 추론 워크플로우를 통해 다음과 같은 요소를 탐색한다.
- 논리적 간극(Logical gaps)
- 근거 없는 가정(Unsupported assumptions)
- 공격 성공을 가로막는 특정 조건
이 과정을 통해 거짓으로 판명되지 않은 결과만이 인간 검토자에게 전달된다. 이때 VulnHunter는 단순한 경고 알림에 그치지 않고, 전체 공격 경로에 대한 상세 설명과 즉시 적용 가능한 코드 수정안을 함께 제공한다.
implementation-impact
개발자와 보안 실무자가 VulnHunter를 도입할 때 가장 크게 다르게 판단해야 할 지점은 '탐지 결과의 성격'이다. 기존 도구가 '위험해 보이는 코드의 존재'를 알려줬다면, VulnHunter는 '실행 가능한 공격 경로의 존재'를 입증하는 데 집중한다. 이는 엔지니어링 팀이 수많은 오탐 알람에 매몰되지 않고, 실제로 서비스에 위협이 되는 취약점부터 우선적으로 처리할 수 있는 환경을 제공한다.
운영 관점에서는 보안 분석의 시점이 배포 전 단계로 완전히 전진 배치된다는 점이 핵심이다. 공격자 관점의 전방 분석과 자체 검증 엔진을 거친 결과물이 제공되므로, 코드 리뷰 단계에서 보안 담당자와 개발자 간의 소통 비용을 줄일 수 있다. 특히 단순한 패턴 매칭이 아니라 API와 네트워크 메시지 등 실제 진입점을 기준으로 분석하므로, 인프라 설정과 코드 로직이 결합된 복합적인 취약점을 찾아내는 데 유리하다.
또한, 특정 모델(Claude Opus 4.8)에 종속되지 않는 프레임워크 구조를 지향하고 있어, 향후 기업 내부의 보안 정책이나 비용, 지연시간 요구사항에 따라 다른 LLM으로 교체하여 운영할 수 있는 유연성을 확보하고 있다.




