RAVEN: 자동화된 취약점 수정을 위한 에이전트 기반 RAG
요약
RAVEN은 에이전트 기반 RAG와 반복 수정 프로세스를 통합하여 소프트웨어 취약점을 자동 수정하는 프레임워크입니다. 오픈 소스 LLM을 활용하며, 큐레이터 에이전트를 통해 파일 간 의존성을 파악하여 복잡한 취약점까지 해결합니다.
핵심 포인트
- 에이전트 기반 RAG와 제어된 반복 수정 기술 통합
- 오픈 소스 LLM을 활용한 로컬 배포 및 효율적 운영 가능
- 큐레이터 에이전트를 통한 파일 간 의존성 문제 해결
- 실제 CVE 160개 대상 테스트 결과 83.13% 수정 성공률 달성
- 다양한 언어 및 미학습 취약점 유형에 대한 높은 일반화 성능
자동화된 취약점 수정(Automated vulnerability repair)은 증가하는 소프트웨어 취약점 문제를 완화하기 위한 유망한 방향으로 부상했습니다. 최근 거대 언어 모델(Large Language Models, LLMs)의 발전은 자동화된 수정 연구를 더욱 가속화했습니다. 그러나 기존 프레임워크는 여전히 메모리 관련 취약점과 로컬에서 수정 가능한 취약점 설정에 크게 국한되어 있어, 보지 못한(unseen) 취약점 유형에 대한 일반화 연구가 미흡한 상태입니다. 또한 이들의 평가는 종종 단일 프로그래밍 언어에 한정되며, 주로 독점 모델(proprietary models)에 의존합니다. 본 논문에서 우리는 에이전트 기반 검색 증강 생성(Agentic Retrieval-Augmented Generation, RAG) 파이프라인과 제어된 반복 수정(controlled iterative repair)을 단일 프레임워크로 통합한 확장 가능하고 효율적이며 자율적인 프레임워크인 RAVEN을 제안합니다. 이 프레임워크는 제한된 GPU 요구 사항을 가진 완전한 로컬 배포 설정에서 오픈 소스 LLM을 활용하는 동시에, 과거의 관련 취약점 수정 사항을 검색하고 패치 생성을 안내하기 위한 다각적인 검색 파이프라인을 구축합니다. 또한, RAVEN은 대상 저장소(repository)로부터 파일 간 의존성(cross-file dependencies)을 검색하는 전용 큐레이터 에이전트(Curator Agent)를 도입하여, 로컬 취약 코드만으로는 해결할 수 없는 복잡한 취약점을 수정합니다. 우리는 다양한 취약점 유형, 두 가지 프로그래밍 언어, 보지 못한 CWE 카테고리 및 분포 외(out-of-distribution) 설정에 걸쳐 160개의 실제 CVE 취약점을 대상으로 RAVEN을 평가합니다. RAVEN은 전체 수정 성공률 83.13%를 달성하여 기존의 모든 최첨단(state-of-the-art) 수정 프레임워크를 능가하는 동시에, 강력한 일반화 능력을 입증하고 수정 비용을 무시할 수 있는 수준으로 유지합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기