한 줄 요약
CheckerBench는 코드 생성 에이전트가 정적 분석 체커를 독자적으로 개발하는 능력을 평가하는 실행 가능한 벤치마크로, 300개의 실제 취약점 기반 작업을 포함한다.
핵심 기여도
- CheckerBench: 297개의 CVE, 167개의 리포지토리, 85개의 CWE, 5개의 언어 생태계를 기반으로 한 300개의 실행 가능한 작업을 포함한 벤치마크.
- CheckerLab: 체커 재빌드, 진단 대비, 패치 로컬라이제이션, 가짜 양성(FP) 등을 측정하는 통합 평가 프레임워크.
- 21개의 모델-하버스 구성에서 평균 Pass@1은 32.30%, 최고 성능은 45.33%로, 현재 코드 생성 에이전트의 한계를 드러냄.
- 체커 개발 실패 분석에서 25.32%는 시간 초과, 22.96%는 합성 과정 부족, 21.15%는 의미 모델링 부족으로 나타남.
핵심 아이디어
CheckerBench는 기존 코드 생성 에이전트 벤치마크가 체커 개발을 평가하지 못하는 문제를 해결하기 위해 설계되었다. 기존 벤치마크는 패치 생성이나 취약점 탐지에 집중하며, 체커 개발의 전체 과정을 평가하지 않는다. CheckerBench는 취약점 사양을 해석하고, 리포지토리를 검토하여 분석기 특정 로직을 구현하고, 컴파일 및 분석 피드백을 반복적으로 활용하여 체커를 개선하는 과정을 평가한다. CheckerLab은 제출된 체커를 독립적으로 재빌드하고 진단 대비, 패치 로컬라이제이션, FP 등을 측정함으로써 체커의 신뢰성과 재사용성을 평가한다.
기술적 접근법
- **CheckerBench**: 300개의 작업, 각각 취약점 및 수정된 리비전, 분석 환경, 체커 스캐폴드 포함.
- **CheckerLab**: 평가 프레임워크로, 독립적 재빌드, 진단 대비, 패치 로컬라이제이션, FP 측정.
- **평가 워크플로우**: 50분 동안의 생성 예산 내에서 에이전트가 작업을 수행하고, Claude Opus 5가 FP 삼각측량, 프로세스 품질, 취약점 의미론을 평가.
- **Pass@1**: 21개의 모델-하버스 구성에서 평균 32.30%, 최고 45.33%.
- **실험 조건**: DeepSeek-V4-Pro에서 툴 없이 1샷 생성 시 Pass@1은 0.33%로, 툴과 피드백이 성능에 큰 영향을 미침.
주요 결과
- **CheckerBench**: 300개 작업에서 21개 모델-하버스 구성의 평균 Pass@1은 32.30%, 최고는 45.33%.
- **실험 조건**: DeepSeek-V4-Pro에서 툴 없이 1샷 생성 시 Pass@1은 0.33%.
- **실패 원인**: 25.32%는 시간 초과, 22.96%는 합성 과정 부족, 21.15%는 의미 모델링 부족.
- **FP 비율**: 15.96%의 실패는 과도한 FP로 인함.
의의 및 한계
CheckerBench는 체커 개발 과정을 체계적으로 평가할 수 있는 첫 번째 실행 가능한 벤치마크로, 코드 생성 에이전트의 장기적 작업 능력을 평가하는 기준을 제공한다. CheckerLab은 체커의 진단 대비, 패치 로컬라이제이션, FP 등을 정량적으로 평가하여 신뢰성 있는 체커 개발을 측정한다. 그러나 현재 에이전트는 시간 내에 완료하거나 의미 모델링을 정확히 수행하는 데 어려움이 있으며, 이는 체커 개발의 복잡성과 다단계 작업의 필요성을 보여준다. 또한, 기존 벤치마크와의 환경 차이로 인해 결과 비교가 어려운 한계가 있다.
실용적 활용
CheckerBench는 소프트웨어 보안 연구, 정적 분석 도구 개발, 코드 생성 에이전트 평가에 활용될 수 있다. 특히, 취약점 사양을 기반으로 신뢰성 있고 재사용 가능한 체커를 자동 생성하는 시스템 개발에 기여할 수 있다. CheckerLab은 다양한 분석 환경에서 체커의 정확성과 효율성을 평가하는 표준화된 프레임워크로 활용될 수 있다.