PatchHolmes: 리스트 단위 선택을 통한 에이전트 기반 패치 검색
요약
본 논문은 취약점 패치 검색의 효율성을 높인 2단계 시스템 'PatchHolmes'를 제안합니다. 이 시스템은 하이브리드 검색기와 에이전트 기반 검사 루프를 결합하여, 후보 목록 전체를 한 번에 보고 최적의 커밋을 선택적으로 읽어냅니다. 실험 결과, 기존 방식 대비 높은 Recall@1 성능과 효율성을 입증했습니다.
핵심 포인트
- PatchHolmes는 하이브리드 검색기와 에이전트 검사 루프를 결합한 2단계 시스템입니다.
- 에이전트는 후보 목록 전체를 보고 선택적으로 커밋을 읽어 최적의 결과를 도출합니다.
- 기존 방식 대비 Recall@1 지표에서 높은 성능 향상(최대 39.86%)을 보였습니다.
- 시스템은 로컬 Git 저장소 위에서 구동되는 고정된 open-weight 모델 기반입니다.
패치 검색(patch retrieval)은 알려진 취약점을 수정하는 커밋을 찾는 작업으로, 취약점 관리 워크플로우의 기초가 됩니다. 하지만 주요 자문 데이터베이스에 있는 CVE 중 60%에서 63%는 패치 링크가 부족합니다. 본 논문에서는 하이브리드 방식의 첫 번째 검색기(retriever)와 에이전트 기반의 두 번째 검사 루프를 결합한 2단계 패치 검색 시스템인 PatchHolmes를 제시합니다. 각 후보군을 독립적으로 점수화하는 기존의 포인트와이즈(pointwise) 작업과 달리, Phase 2 에이전트는 상위 100개의 목록 단위로 읽습니다. 즉, 전체 후보 목록을 한 번에 보고 네 가지 예산 할당 도구(budgeted tools)를 통해 3개에서 10개의 커밋을 선택적으로 읽은 후 단 하나의 최적의 커밋을 제출합니다. GitHubAD 데이터셋에서 PatchHolmes는 포인트와이즈 이진 분류기 Favia보다 Recall@1 지표에서 25.34% 높고, retrieve-and-CoT 기준선 IRCoT보다 31.40% 높은 성능을 보였습니다. 이는 CVE당 단 한 번의 에이전트 대화로 달성한 수치이며, Favia가 필요로 하는 열 번의 대화에 비해 효율적입니다. 후보군 세트를 동일하게 유지했을 때도, 이 에이전트는 검색기의 상위 후보를 선택하는 것보다 Recall@1 지표에서 27.32% 더 높은 성능을 보였습니다. 또한, 같은 에이전트를 변경 없이 PatchFinder_top10에 적용했을 때, PatchFinder가 자체적으로 선택한 상위 1개 커밋(24.28%)의 Recall@1을 39.86%까지 끌어올렸습니다. LLM 백본으로 Qwen 계열 모델을 교체해도 Recall@1 지표는 1% 미만으로 변동했으며, 다른 모델 계열인 gpt-oss 역시 에이전트가 없는 기준선보다 훨씬 높은 성능을 유지했습니다. 따라서 이러한 성능 향상은 목록 단위의 에이전트 루프에서 비롯된 것이며, 전체 시스템은 파인튜닝이나 외부 검색 API 없이 로컬 Git 저장소 위에서 고정된(frozen) open-weight 모델로 구동됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기