[Paper] 실험실에서 현실로: 취약점 탐지를 위한 Deep Learning Models 및 LLMs의 실용적 평가

발행: (2025년 12월 11일 오후 07:04 GMT+9)
8 min read
원문: arXiv

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

  1. Model selection – 두 개의 대표적인 DL 탐지기:
    • ReVeal (그래프 신경망 기반, 프로그램 의존성 그래프에 작동).
    • LineVul (트랜스포머 기반, 토큰화된 소스 라인에 작동).
  2. Dataset preparation – 각 모델을 네 개의 벤치마크 데이터셋(Juliet, Devign, BigVul, ICVul) 중 하나에 처음부터 학습한다. 교차 데이터셋 파인튜닝은 수행하지 않아 전형적인 학술 관행을 그대로 모방한다.
  3. Embedding inspection – 학습 후 모델 내부 코드 표현을 t‑SNE를 이용해 2‑D로 투영한다. 저자들은 취약한 코드와 비취약한 코드 조각이 클러스터링되는지를 살핀다.
  4. Real‑world test set (VentiVul) – 학습 데이터 컷오프(2025년 5월) 이후에 수집된 Linux 커널의 20개 취약점 패치를 사용한다. 각 패치는 “취약”(수정 전)과 “비취약”(수정 후) 조각으로 나뉜다.
  5. LLM prompting – 동일한 VentiVul 조각들을 네 개의 LLM에 제로샷 프롬프트로 전달해 코드가 취약한지 안전한지 라벨링하도록 요청한다. 추가 파인튜닝은 적용되지 않는다.
  6. Metrics – 표준 탐지 지표(precision, recall, F1)를 각 모델·데이터셋 조합에 대해 보고하며, VentiVul로 이동했을 때의 성능 저하에 초점을 맞춘다.

Results & Findings

Model / DatasetAvg. F1 on BenchmarkF1 on VentiVul
ReVeal (Juliet)0.840.31
ReVeal (Devign)0.780.28
LineVul (BigVul)0.810.34
LineVul (ICVul)0.770.30
Claude 3.5 Sonnet (LLM)– (zero‑shot)0.36
GPT‑o3‑mini0.22
GPT‑4o0.38
GPT‑50.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
Back to Blog

관련 글

더 보기 »

[Paper] Particulate: Feed-Forward 3D 객체 관절화

우리는 Particulate라는 feed-forward 접근 방식을 제시한다. 이 방법은 일상적인 객체의 단일 정적 3D mesh를 입력으로 받아, 기본적인 articulation의 모든 속성을 직접 추론한다.