CVEGENIE 자동 다중 에이전트 프레임워크로 CVE 재현
초록
CVEGENIE는 대형 언어 모델(LLM) 기반 다중 에이전트 시스템으로, CVE 항목을 입력받아 관련 소스코드와 패치를 자동으로 수집·구성하고, 취약 환경을 재구축한 뒤 검증 가능한 익스플로잇과 검증자를 자동 생성한다. 2024‑2025년 사이 발표된 841개 CVE 중 428개(약 51%)를 평균 $2.77 비용으로 성공적으로 재현했으며, EAGER(Exploit, Assessment, Generalization, End‑to‑end, Rebuild) 기준을 모두 만족하는 최초의 프레임워크이다.
상세 분석
CVEGENIE는 기존 취약점 데이터셋이 갖는 “코드·환경·익스플로잇·검증” 네 가지 핵심 요소가 결여된 문제를 LLM 기반 에이전트의 협업으로 해결한다. 논문은 EAGER라는 이상적인 CVE 재현 시스템의 속성을 정의하고, 이를 구현하기 위해 네 개의 모듈(Processor, Builder, Exploiter, CTF Verifier)로 작업을 분할한다. Processor는 CVE ID를 기반으로 GitHub API와 cvelist를 활용해 취약 버전 소스와 패치, advisory, CWE 정보를 자동 추출하고, Knowledge Builder가 LLM에게 구조화된 지식베이스를 생성하도록 프롬프트를 설계한다. Builder는 도커·컨테이너 기반 환경을 자동 구성하고, 필요한 의존성을 해결한다. Exploiter는 LLM에게 취약점의 원인과 패치 차이를 설명하도록 요구한 뒤, 실제 동작 가능한 PoC 코드를 생성한다. 마지막 CTF Verifier는 생성된 PoC가 취약점을 트리거하는지 확인하는 검증 스크립트를 자동 작성한다. 각 모듈은 개발자(agent)와 비평가(agent) 쌍으로 이루어진 ReAct‑style 루프를 사용해 자체 검증과 반복 개선을 수행한다는 점이 특징이다.
LLM 선택과 프롬프트 엔지니어링에도 세심한 최적화가 이루어졌다. 예를 들어, 코드 이해와 패치 분석에는 코드‑전문 LLM(o1‑mini)과 코드‑생성에 특화된 GPT‑4o를 조합하고, 복잡한 논리 추론이 필요한 단계에서는 Claude‑3를 활용한다. 이러한 다중 모델·다중 프롬프트 전략은 단일 LLM이 EAGER 전 과정을 수행하지 못한다는 실험 결과와 일치한다.
실험에서는 2024‑2025년 사이 발표된 841개의 최신 CVE를 대상으로 자동 파이프라인을 실행했으며, 428개 CVE를 성공적으로 재현했다. 재현된 CVE는 267개의 프로젝트, 141개의 CWE, 22개의 프로그래밍 언어에 걸쳐 다양성을 보였다. 평균 비용은 $2.77이며, 이는 기존 수작업(수천 시간·수백 명 전문가) 대비 극적인 비용 절감을 의미한다. 또한, ARVO와 같은 기존 자동화 도구와 비교했을 때, CVEGENIE는 메모리 오류에 국한되지 않고 광범위한 취약점 유형을 포괄한다.
한계점으로는 (1) 현재 LLM의 코드 실행 안전성 검증이 완전하지 않아 일부 생성된 익스플로잇이 오탐일 가능성, (2) 폐쇄형 소프트웨어에 대한 접근 제한으로 데이터 수집이 어려운 경우, (3) 복잡한 빌드 시스템(예: 커스텀 스크립트, 특수 하드웨어 의존)에서 자동 재현 실패율이 높다는 점을 들 수 있다. 향후 연구에서는 LLM의 정밀도 향상, 정적·동적 분석 도구와의 연계, 그리고 멀티클라우드 환경에서의 스케일링을 통해 이러한 제약을 완화할 계획이다.
전반적으로 CVEGENIE는 LLM 에이전트를 활용한 자동화 파이프라인이 실용적인 보안 연구 인프라로 전환될 수 있음을 입증했으며, 향후 취약점 탐지, 패치 검증, AI 보안 능력 평가 등 다양한 분야에 활용될 잠재력을 보여준다.
댓글 및 학술 토론
Loading comments...
의견 남기기