Refploit: 코드 에이전트 궤적 수정을 통한 익스플로잇(Exploit) 구축 지원
요약
Refploit은 코드 에이전트의 궤적 수정을 통해 Java 라이브러리 취약점 익스플로잇 재현을 자동화하는 LLM 기반 프레임워크입니다. 실패한 에이전트의 궤적을 분석하고 제약 조건을 도출하여, 기존 SOTA 모델보다 높은 80.2%의 재현율을 달성했습니다.
핵심 포인트
- 코드 에이전트가 생성한 잘못된 익스플로잇 궤적을 복구하는 기술 제안
- 차분 실행을 통해 생성된 익스플로잇의 유효성을 검증
- 실패한 궤적에서 유효한 세그먼트와 제약 조건을 추출하여 재시도 가이드
- DeepSeek-V4-Flash 환경에서 기존 방식 대비 64.3% 성능 개선
취약점 익스플로잇(Exploit)은 Java 라이브러리 취약점의 다운스트림 영향을 평가하는 데 중요한 역할을 합니다. 일부 취약점은 공개된 익스플로잇 참조(exploit references)가 동반되기도 하지만, 이러한 참조들은 종종 불완전하거나 구조화되어 있지 않으며 부분적인 재현 단계만을 설명하기 때문에 이를 실행 가능한 익스플로잇으로 자동 재현하는 것은 여전히 어려운 과제로 남아 있습니다. 최근의 코드 에이전트(code agents)는 이 과정을 자동화할 수 있는 유망한 방법을 제공하지만, 본 연구에 따르면 에이전트가 생성한 익스플로잇은 취약한 API를 직접 구현한 함수로 대체하는 것과 같이 실제 취약한 로직을 트리거하지 않고도 성공한 것처럼 보이는 경우가 많습니다. 이를 해결하기 위해, 우리는 공개된 익스플로잇 참조로부터 취약점 재현을 용이하게 하는 LLM 기반의 궤적 복구(trajectory recovery) 프레임워크인 Refploit을 제안합니다. 핵심 통찰은 실패한 에이전트 궤적(agent trajectory)이 완전히 무용지물은 아니라는 점입니다. 해당 궤적은 이미 일부 재현 하위 작업(reproduction subtasks)을 완료했을 수도 있고, 동시에 피해야 할 오도된 방향을 드러낼 수도 있습니다. Refploit은 먼저 차분 실행(differential execution)을 통해 에이전트가 생성한 익스플로잇을 검증합니다. 익스플로잇이 효과가 없을 경우, Refploit은 재현 진행 상황을 분석하고, 재현 진행 상황과 관련된 궤적 세그먼트(trajectory segments)를 찾아내며, 집중적인 복구를 가이드할 제약 조건(constraints)을 도출합니다. 우리는 143개의 취약점에 대한 172개의 익스플로잇 참조를 포함하는 세 가지 오픈 소스 Java 취약점 데이터셋을 통해 Refploit을 평가했습니다. DeepSeek-V4-Flash 환경에서 Refploit은 138개의 익스플로잇을 성공적으로 재현하여 80.2%의 재현율을 달성했습니다. 이는 초기에 생성된 궤적 대비 64.3%의 상대적 개선을 이룬 것이며, 최첨단(SOTA) 익스플로잇 생성 방법인 PoCGen과 GPT-5.4를 탑재한 Codex와 같은 고급 코드 에이전트보다 뛰어난 성능을 보였습니다. 우리는 Refploit을 다른 코드 에이전트에도 적용하여 일관된 개선을 관찰하였으며, 이를 통해 범용성을 입증했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기