본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 06. 25. 11:29

표현이 중요하다: LLM 취약점 추론을 위한 프로그램 표현에 관한 실증적 연구

요약

LLM을 활용한 프로그램 취약점 탐지 시, 원시 소스 코드와 정적 분석 기반의 프로그램 표현 방식이 추론 성능에 미치는 영향을 연구했습니다. 실험 결과, AST와 PDG를 결합한 구조적 표현이 원시 소스보다 훨씬 높은 정확도를 보임을 입증했습니다.

핵심 포인트

  • RepBench 벤치마크를 통해 다양한 프로그램 표현 방식의 성능 비교
  • AST+PDG 결합 방식이 83.2%의 정확도로 가장 우수한 성능 달성
  • 원시 소스 추가 시 오히려 성능이 저하되는 '문맥 희석 효과' 발견
  • 정적 분석이 보안 중심 LLM 추론을 위한 효과적인 프롬프트 구성 계층임을 시사

대규모 언어 모델 (LLMs)은 자동화된 취약점 탐지에 점점 더 많이 사용되고 있지만, LLM 기반 추론을 위해 프로그램 구조와 의미론 (semantics)을 어떻게 표현해야 하는지는 여전히 불분명합니다. 대부분의 프롬프팅 기반 접근 방식은 원시 소스 코드 (raw source code)를 제공하며, 이는 더 많은 소스 수준의 문맥이 모델에게 더 나은 증거를 제공한다는 것을 암묵적으로 가정합니다. 본 논문은 원시 소스 코드와 정적 분석 (static-analysis) 기반의 프로그램 표현을 비교하는 실증적 벤치마크인 RepBench를 통해 이러한 가설에 도전합니다. RepBench는 실제 C/C++ 취약점 테스트 케이스를 여러 가지 표현 방식으로 변환합니다: 원시 소스 (raw source), 추상 구문 트리 (ASTs), 제어 흐름 그래프 (CFGs), 프로그램 의존 그래프 (PDGs), 이들의 조합, 그리고 풍부해진 PDG (ePDGs)의 보조 트랙입니다. 5개의 CWE 카테고리에 걸쳐 Joern 기반의 107개 테스트 케이스로 구성된 PrimeVul 유래 말뭉치를 사용하여, 고정된 사고의 사슬 (Chain-of-Thought) 및 구조화된 출력 프로토콜 하에서 10가지 표현 변형을 평가하였으며, VulChecker/Hector를 통해 생성된 19개의 추가 ePDG 케이스도 포함했습니다. 표현의 선택은 LLM의 취약점 추론에 상당한 영향을 미칩니다. 가장 강력한 변형인 AST+PDG는 83.2%의 정확도를 달성하였으며, 이는 원시 소스의 53.5%와 대조됩니다. 패밀리 수준에서 그래프 전용 프롬프트는 소스 전용 및 소스+그래프 프롬프트 모두보다 뛰어난 성능을 보이면서도 프롬프트 오버헤드 (overhead)는 훨씬 적게 요구합니다. 이러한 결과는 문맥 희석 효과 (context dilution effect)를 드러냅니다: 압축된 구조적 그래프 증거에 원시 소스 코드를 추가하면 취약점 관련 증거의 현저성 (salience)을 떨어뜨려 추론 능력을 저하시킬 수 있습니다. 전반적으로, 우리의 연구 결과는 신중하게 선택된 구조적 표현이 단순히 LLM에 더 많은 원시 입력을 제공하는 것보다 더 나은 정확도-오버헤드 트레이드오프 (tradeoff)를 제공함을 보여주며, 정적 분석이 보안 중심의 LLM 추론을 위한 효과적인 프롬프트 구성 계층 (prompt-construction layer) 역할을 할 수 있음을 시사합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0