[Paper] 실험실에서 현실로: 취약점 탐지를 위한 Deep Learning Models 및 LLMs의 실용적 평가
Source: arXiv - 2512.10485v1
Overview
논문 From Lab to Reality: A Practical Evaluation of Deep Learning Models and LLMs for Vulnerability Detection 은 학술 벤치마크에서 뛰어난 성능을 보이는 최신 딥러닝(DL) 및 대형 언어 모델(LLM) 접근법이 실제 코드에서 버그를 찾아낼 수 있는지를 조사한다. 두 개의 인기 DL 모델(ReVeal, LineVul)과 네 개의 선도적인 LLM을 최근 수집한, 분포 외의 Linux 커널 수정 집합에 테스트함으로써 “실험실” 결과와 실제 보안 요구 사이에 큰 성능 격차가 존재함을 밝힌다.
Key Contributions
- Comprehensive cross‑dataset study – Juliet, Devign, BigVul, ICVul 네 개의 널리 사용되는 취약점 데이터셋에서 ReVeal과 LineVul을 학습·평가하고, t‑SNE로 학습된 코드 임베딩을 시각화한다.
- Real‑world benchmark (VentiVul) – 2025년 5월에 수정된 20개의 Linux 커널 취약점을 포함한 시간 순서상의 분포 외 데이터셋을 구축하여, 개발자가 실제로 마주치는 코드를 대표한다.
- LLM comparison – 동일한 탐지 파이프라인을 사용해 네 개의 사전 학습된 LLM(Claude 3.5 Sonnet, GPT‑o3‑mini, GPT‑4o, GPT‑5)을 VentiVul에 벤치마크한다.
- Empirical evidence of poor generalization – DL 모델과 LLM 모두 커리케이션된 벤치마크에서 VentiVul로 이동할 때 정확도가 급격히 떨어짐을 보여주며, 데이터셋 특유 패턴에 과적합된 것을 강조한다.
- Evaluation framework – 독립적인 데이터셋별 학습, 표현 분석, 분포 외 테스트를 포함하는 배포 지향 방법론을 제안하여 연구자와 보안 팀이 재사용할 수 있게 한다.
Methodology
- Model selection – 두 개의 대표적인 DL 탐지기:
- ReVeal (그래프 신경망 기반, 프로그램 의존성 그래프에 작동).
- LineVul (트랜스포머 기반, 토큰화된 소스 라인에 작동).
- Dataset preparation – 각 모델을 네 개의 벤치마크 데이터셋(Juliet, Devign, BigVul, ICVul) 중 하나에 처음부터 학습한다. 교차 데이터셋 파인튜닝은 수행하지 않아 전형적인 학술 관행을 그대로 모방한다.
- Embedding inspection – 학습 후 모델 내부 코드 표현을 t‑SNE를 이용해 2‑D로 투영한다. 저자들은 취약한 코드와 비취약한 코드 조각이 클러스터링되는지를 살핀다.
- Real‑world test set (VentiVul) – 학습 데이터 컷오프(2025년 5월) 이후에 수집된 Linux 커널의 20개 취약점 패치를 사용한다. 각 패치는 “취약”(수정 전)과 “비취약”(수정 후) 조각으로 나뉜다.
- LLM prompting – 동일한 VentiVul 조각들을 네 개의 LLM에 제로샷 프롬프트로 전달해 코드가 취약한지 안전한지 라벨링하도록 요청한다. 추가 파인튜닝은 적용되지 않는다.
- Metrics – 표준 탐지 지표(precision, recall, F1)를 각 모델·데이터셋 조합에 대해 보고하며, VentiVul로 이동했을 때의 성능 저하에 초점을 맞춘다.
Results & Findings
| Model / Dataset | Avg. F1 on Benchmark | F1 on VentiVul |
|---|---|---|
| ReVeal (Juliet) | 0.84 | 0.31 |
| ReVeal (Devign) | 0.78 | 0.28 |
| LineVul (BigVul) | 0.81 | 0.34 |
| LineVul (ICVul) | 0.77 | 0.30 |
| Claude 3.5 Sonnet (LLM) | – (zero‑shot) | 0.36 |
| GPT‑o3‑mini | – | 0.22 |
| GPT‑4o | – | 0.38 |
| GPT‑5 | – | 0.41 |
Key observations
- Embedding collapse – t‑SNE 플롯에서 취약 코드와 안전 코드 사이에 거의 구분이 없으며, 학습된 표현이 견고한 보안 의미를 포착하지 못함을 보여준다.
- Dataset over‑fitting – 원래 벤치마크에서 높은 F1 점수를 기록했지만 VentiVul에서는 거의 사라져, 분포 외 일반화가 매우 부족함을 확인한다.
- LLMs are not a silver bullet – 가장 최신 LLM(GPT‑5)조차 DL 모델보다 약간만 앞설 뿐이며, 모두 실제 취약점의 대부분을 놓친다.
- Time‑wise OOD effect – VentiVul이 학습 데이터 컷오프 이후에 작성된 패치로 구성된 점은 분포 이동을 더욱 크게 만들며, 실제 배포 상황을 잘 반영한다.
Practical Implications
- Security tooling teams should be skeptical of benchmark‑only claims – Devign에서 80 % 이상 점수를 받은 모델이라도 일상 코드 리뷰에서는 쓸모없을 수 있다.
- Dataset quality matters – 최신 커널 패치, 오픈소스 라이브러리, 실제 CI 로그 등을 포함한 최신·다양한 코드 코퍼스가 생산 환경 드리프트를 견디는 모델 훈련에 필수적이다.
- Hybrid approaches – 정적 분석 휴리스틱과 DL/LLM 예측을 결합하면 모델이 불확실할 때 특히 false negative를 줄일 수 있다.
- Continuous re‑training – 배포 환경에서는 CVE 데이터베이스 등에서 새로 고쳐진 취약점을 지속적으로 수집·학습하는 파이프라인이 필요하다.
- Explainability hooks – 임베딩이 취약 코드를 명확히 구분하지 못하므로, 어텐션 시각화나 프로그램 분석 기반 설명을 추가해 개발자가 모델 제안을 신뢰(또는 거부)하도록 돕는다.
Limitations & Future Work
- Small real‑world test set – VentiVul은 20개 패치만 포함하고 있어, 추세를 확인하려면 더 크고 다양화된 OOD 데이터셋이 필요하다.
- Zero‑shot LLM evaluation – 파인튜닝이나 few‑shot 프롬프트를 탐색하지 않아 LLM 성능 향상의 가능성을 놓쳤다.
- Focus on C/Linux kernel – 다른 언어나 생태계(예: JavaScript, Rust)에서는 결과가 다를 수 있다.
- Representation analysis limited to t‑SNE – 선형 분리성 테스트, 상호 정보량 등 보다 엄밀한 프로빙이 임베딩 품질을 더 잘 규명할 수 있다.
- Future directions – 저자들은 지속적으로 업데이트되는 “vulnerability stream” 데이터셋 구축, 코드 보안을 위한 대조 학습 목표 탐색, 동적 실행 트레이스를 모델 입력에 통합하는 방안을 제시한다.
Authors
- Chaomeng Lu
- Bert Lagaisse
Paper Information
- arXiv ID: 2512.10485v1
- Categories: cs.CR, cs.LG, cs.SE
- Published: December 11, 2025
- PDF: Download PDF