GRAML: LLM 기반 소프트웨어 취약점 탐지를 위한 그래프 기반 추론 및 다중 작업 학습
요약
본 논문은 LLM의 한계를 극복하고 소프트웨어 취약점 탐지 성능을 높이기 위해 GRAML 프레임워크를 제안했습니다. GRAML은 정적 분석으로 추출한 그래프 증거와 다중 작업 학습, 그리고 ToT 기반 추론 과정을 결합하여 높은 정확도를 달성했습니다.
핵심 포인트
- GRAML은 그래프 증거, 취약점 설명 생성, 다중 작업 학습을 통합함.
- ToT-VR과 그래프 기반 설명이 CoT 및 CPG보다 성능 향상을 입증함.
- ID 및 6개의 OOD 데이터셋에서 SOTA 대비 높은 F1 점수를 기록함.
대규모 언어 모델(LLMs)은 소프트웨어 취약점 탐지에 광범위하게 적용되어 왔습니다. 하지만, 이들의 성능은 종종 제어 흐름(control-flow) 및 데이터 흐름(data-flow) 정보의 불충분한 사용으로 인해 제한됩니다. 본 논문에서는 그래프 증거(graph evidence), 취약점 설명 생성, 그리고 다중 작업 학습을 결합한 프레임워크인 GRAML을 제안합니다. GRAML은 먼저 C/C++ 프로그램에 정적 분석(static analysis)을 수행하여 핵심 소스 라인과 타입화된 라인 관계를 구조적 증거로 추출합니다. 그런 다음, 이 증거를 사용하여 GPT-5가 트리 오브 쏘트 기반 취약점 추론(Tree-of-Thought-guided Vulnerability Reasoning, ToT-VR) 과정을 거치도록 안내하고 취약점 설명을 생성합니다. 이러한 설명들은 추가적으로 탐지(Detection), 위치 특정화(Localization), 평가(Assessment) 샘플과 결합되어 통합된 4가지 작업 학습 데이터셋을 구축합니다. 우리는 in-distribution (ID) 테스트 세트와 6개의 out-of-distribution (OOD) 데이터셋에서 GRAML을 평가했습니다. 그 결과, GRAML은 평균 F1 점수 범위가 66.67%에서 68.70%에 이르며, 최신 기술(state-of-the-art) 기준선보다 최대 30.92% 높은 성능을 보였습니다. 제거 실험(Ablation experiments)은 또한 ToT-VR과 그래프 기반 취약점 설명이 표준 체인 오브 쏘트(Chain-of-Thought, CoT) 추론 및 원시 코드 속성 그래프(Code Property Graph, CPG) 직렬화와 비교하여 탐지 성능을 향상시킨다는 것을 보여줍니다. 이러한 발견은 대규모 언어 모델을 사용하여 더욱 신뢰할 수 있고 안전한 소프트웨어 공학 시스템을 구축하는 데 실질적인 지침을 제공합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기