[Paper] PentestEval: 모듈식 및 단계별 설계를 통한 LLM 기반 침투 테스트 벤치마킹
발행: (2025년 12월 16일 오후 06:37 GMT+9)
8 min read
원문: arXiv
Source: arXiv - 2512.14233v1
개요
이 논문은 PentestEval을 소개합니다. 이는 대형 언어 모델(LLM)이 침투 테스트를 자동화하는 능력을 체계적으로 측정하는 최초의 벤치마크입니다. 테스트 워크플로를 여섯 개의 뚜렷한 단계로 나누고, 대규모 전문가가 선별한 데이터셋을 제공함으로써, 저자들은 보안 분석가 역할을 수행하도록 요청받았을 때 인기 있는 LLM들의 현재 강점과 뚜렷한 약점을 드러냅니다.
주요 기여
- 모듈형 벤치마크 설계 – 6개의 명확히 정의된 침투 테스트 단계(정보 수집, 취약점 수집 및 필터링, 공격 의사결정, 익스플로잇 생성, 익스플로잇 수정, 전체 성공)로 세밀한 성능 분석이 가능하도록 함.
- 대규모·현실적인 데이터셋 – 12개의 실제 취약 시나리오에 걸친 346개의 주석이 달린 작업을 제공하며, 각 작업에 대한 정답 익스플로잇 단계와 결과를 포함함.
- 완전 자동화된 평가 파이프라인 – LLM 출력물을 실행하고, 익스플로잇 성공 여부를 검증하며, 인간 개입 없이 단계별 메트릭을 계산하는 스크립트 제공.
- 포괄적인 LLM 비교 – GPT‑4, Claude, LLaMA‑2 등 9개의 널리 사용되는 LLM과 PentestGPT, PentestAgent, VulnBot 등 기존 LLM 기반 침투 테스트 도구 3개의 실증 연구 수행.
- 모듈화에 대한 통찰력 있는 발견 – 모듈식·단계별 접근 방식이 단일 “블랙박스” 프롬프트 방식에 비해 성공률을 크게 향상시킴을 입증.
Methodology
- Task Decomposition – 저자들은 일반적인 침투 테스트 워크플로우를 여섯 개의 순차 단계로 나누고, 각 단계마다 구체적인 입력/출력 계약을 정의했습니다(예: “대상 IP가 주어지면, 열려 있는 서비스를 나열한다”).
- Scenario Construction – 일반적인 CVE와 잘못된 설정(예: 오래된 웹 서버, 보안이 취약한 Docker 설정)을 이용해 12개의 취약 환경을 구축했습니다.
- Ground‑Truth Annotation – 보안 전문가들이 각 시나리오의 모든 단계를 수동으로 수행하여 “골드‑스탠다드” 출력물(서비스 지문, CVE ID, 익스플로잇 스크립트 등)을 만들었습니다.
- Prompt Templates – 각 단계마다 신중하게 설계된 프롬프트 세트를 만들었습니다(소수 샷 예시, 시스템 메시지, 명시적 지시사항).
- LLM Evaluation – 동일한 프롬프트를 사용해 아홉 개의 LLM에 질의했습니다. 그들의 응답은 자동 파이프라인에 투입되어:
- 출력물을 파싱하고,
- 생성된 명령어나 익스플로잇 코드를 샌드박스에서 실행하며,
- 익스플로잇이 성공했는지 확인합니다(예: 쉘 접근, 권한 상승).
- Metrics – 단계별 정확도(정보 수집에 대한 정밀도/재현율), 의사결정 정확성, 익스플로잇 생성 성공률, 전체 엔드‑투‑엔드 성공 비율을 측정했습니다.
Results & Findings
| Stage | Best‑performing LLM (accuracy) | Typical failure mode |
|---|---|---|
| 정보 수집 | GPT‑4 (78%) | 숨겨진 서비스 누락, 잡음이 많은 출력 |
| 취약점 수집 및 필터링 | Claude‑2 (62%) | CVE ID 과다 생성, 낮은 관련성 |
| 공격 의사결정 | LLaMA‑2‑70B (55%) | 활용 불가능한 벡터 선택 |
| 익스플로잇 생성 | GPT‑4 (48%) | 구문 오류, 페이로드 누락 |
| 익스플로잇 수정 | Claude‑2 (41%) | 샌드박스 피드백에 적응 불가 |
| 엔드‑투‑엔드 성공 | — | 31% (전체 파이프라인) |
핵심 요약
- 가장 강력한 LLM(GPT‑4)조차 단계별로 평가했을 때 작업의 3분의 2 이상에서 실패한다.
- 이 모델들을 기반으로 만든 자율 에이전트(PentestGPT, PentestAgent, VulnBot)는 어느 단계에서도 거의 성공하지 못하며, “프롬프트만”으로 자동화하는 것이 충분하지 않다는 것을 확인한다.
- 워크플로를 모듈화(각 단계를 전용 프롬프트로 실행)하면 성공률이 <10 % (단일형)에서 전체 약 31 %로 향상되지만, 한계는 여전히 낮다.
Practical Implications
- Tool developers should adopt a pipeline architecture: separate LLM calls for reconnaissance, vulnerability mapping, and exploit crafting, rather than a single “do‑everything” prompt.
- Security teams can use PentestEval as a sanity check before trusting LLM‑generated scripts in production; the benchmark highlights where human review is still mandatory (e.g., exploit generation).
- CI/CD security integrations could embed stage‑level LLM checks to automatically flag missing patches or misconfigurations, but must retain a fallback to expert validation.
- LLM vendors now have a concrete, reproducible test suite to benchmark future model releases for security‑oriented tasks, encouraging fine‑tuning on penetration‑testing data.
제한 사항 및 향후 작업
- 시나리오 다양성 – 이 벤치마크는 12개의 설정을 다루지만, 모든 네트워크 토폴로지, 클라우드 서비스 또는 IoT 디바이스를 포괄하지는 않는다.
- 프롬프트 엔지니어링 편향 – 결과는 수작업으로 만든 프롬프트의 품질에 의존한다; 다른 프롬프트 설계가 성능을 변화시킬 수 있다.
- 샌드박스 현실성 – 실행이 격리된 컨테이너에서 이루어지기 때문에 실제 공격에서 발생하는 타이밍‑사이드‑채널이나 하드웨어‑레벨 미묘함을 포착하지 못할 수 있다.
- 향후 방향은 저자들이 제시한 바와 같이: 보다 최신 공격 표면(예: Kubernetes, 서버리스)을 포괄하도록 데이터셋을 확장하고, 탐색적 공격을 반복적으로 개선할 수 있는 강화학습 기반 에이전트를 도입하며, 단계별 보안 코퍼스에 대한 모델 파인‑튜닝을 탐구하는 것이다.
저자
- Ruozhao Yang
- Mingfei Cheng
- Gelei Deng
- Tianwei Zhang
- Junjie Wang
- Xiaofei Xie
논문 정보
- arXiv ID: 2512.14233v1
- Categories: cs.SE, cs.AI, cs.CR
- Published: 2025년 12월 16일
- PDF: PDF 다운로드