[논문 리뷰] Vul-RAG: Enhancing LLM-based Vulnerability Detection via Knowledge-level RAG
Vul-RAG은 CVE로부터 다차원 취약점 지식 기반을 구축하고, 기능적 의미를 바탕으로 관련 지식을 검색하며, 지식 가이드 추론을 통해 취약점을 감지하는 지식 수준의 검색증강생성 프레임워크를 사용합니다. PairVul에서 베이스라인을 능가하고 수동 탐지를 돕기 위한 고품질 설명을 제공합니다.
Although LLMs have shown promising potential in vulnerability detection, this study reveals their limitations in distinguishing between vulnerable and similar-but-benign patched code (only 0.06 - 0.14 accuracy). It shows that LLMs struggle to capture the root causes of vulnerabilities during vulnerability detection. To address this challenge, we propose enhancing LLMs with multi-dimensional vulnerability knowledge distilled from historical vulnerabilities and fixes. We design a novel knowledge-level Retrieval-Augmented Generation framework Vul-RAG, which improves LLMs with an accuracy increase of 16% - 24% in identifying vulnerable and patched code. Additionally, vulnerability knowledge generated by Vul-RAG can further (1) serve as high-quality explanations to improve manual detection accuracy (from 60% to 77%), and (2) detect 10 previously-unknown bugs in the recent Linux kernel release with 6 assigned CVEs.
연구 동기 및 목표
- 렉시컬 코드 패턴을 넘어 고수준 취약점 의미론을 포착할 필요성을 제시한다.
- 함수적 의미, 원인, 수정 해결책의 세 차원으로 CVE 인스턴스로부터 취약점 지식 기반을 구축한다.
- 코드 스니펫에 대한 취약점 지식의 검색 및 추론을 위한 지식 수준의 RAG 파이프라인을 개발한다.
- 최신 베이스라인과 비교하여 Vul-RAG를 평가하고 자동 탐지 및 수동 취약점 탐지에 미치는 영향을 평가한다.
제안 방법
- LLM 주도 추출을 사용하여 CVE로부터 세 차원(함수적 의미, 원인, 수정 해결책)의 취약점 지식 표현을 구성한다.
- CVEs 전반에 걸친 추출된 지식을 추상화하고 일반화하여 취약점 지식 기반을 구축하고, 코드 특정 식별자를 제거하는 지식 추상화를 포함한다.
- 온라인 검색은 세 가지 질의 요소(코드, 추상적 용도, 상세 동작)에 대한 코드 의미와 BM25 기반 유사치를 사용하여 최상위 지식 항목을 검색하고 Reciprocal Rank Fusion으로 순위를 융합한다.
- LLMs와 함께 검색된 지식 항목을 반복적으로 추론하여 취약점 원인과 수정 해결책을 탐지하며, 취약점이 확인되거나 항목이 소진되면 중지한다.
- 원인과 수정에 대한 두 단계 추출을 위한 프롬프트를 제공하고, LLM이 지식 요약을 하도록 소수 예시를 활용한 시범을 포함한다.

실험 결과
연구 질문
- RQ1Vul-RAG은 PairVul에서 대표적 학습 기반 취약점 탐지기와 정적 분석과 비교하여 성능이 어떠한가?
- RQ2취약점 지식을 포함하는 것이 자동 탐지(정확도, 페어와이즈 정확도)와 인간 분석가의 성능을 향상시키는가?
- RQ3지식 수준의 검색이 취약한 코드 쌍과 패치가 비슷하지만 다른 코드를 구분하는 데 어떤 영향을 미치는가?
- RQ4생성된 취약점 설명이 수동 탐지 개선에 얼마나 도움이 되는가?
주요 결과
- Vul-RAG은 Pair-Vul에서 정확도 12.96%, 페어와이즈 정확도에서 110%의 이익을 거두며 베이스라인보다 상당히 우수합니다.
- 코드 수준 RAG를 갖춘 GPT-4 계열은 지표 전반에서 Vul-RAG에 의해 지속적으로 상회됩니다.
- 사용자 연구에 따르면 취약점 지식이 수동 탐지 정확도를 0.60에서 0.77로 높였습니다.
- PairVul 벤치마크는 2,073개 CVE에 걸쳐 4,314개의 취약-대패치 쌍을 포함하며, 896개 CVE/학습용과 373개 CVE/테스트용으로 분리되어 있습니다.

더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.