Snyk VulnBench JS 1.0: LLM은 동일한 버그를 두 번 찾을 수 있는가?
요약
Snyk VulnBench JS 1.0을 통해 에이전트형 LLM의 보안 취약점 탐지 반복 가능성을 실험했습니다. 연구 결과, LLM의 추가 탐지 결과는 불균일한 반면, Claude와 같은 모델이 기존 SAST 도구와 일치하는 결과는 높은 안정성을 보였습니다.
핵심 포인트
- LLM의 보안 탐지 결과는 실행 시마다 불균일하게 나타남
- Claude는 기존 SAST 도구의 결과와 일치할 때 높은 안정성을 보임
- LLM은 익숙한 취약점 탐지에 강점이 있으나 결과의 재현성이 낮음
- LLM을 SAST의 대체재가 아닌 상호 보완적 도구로 활용 권장
우리는 동일한 JavaScript 코드, 프롬프트(prompt), 그리고 벤치마크 하네스(benchmark harness) 환경에서 에이전트형 거대 언어 모델 (LLM) 보안 검토가 얼마나 반복 가능한지를 측정하기 위해 300회의 반복적인 취약점 탐지 스캔을 수행했습니다. 주요 결과는 LLM의 보안 탐지 결과가 불균일하게 반복된다는 점입니다. 참조(reference)와 일치하는 탐지 결과는 안정적이었으나, 모델이 추가로 보고한 결과는 실행 시마다 크게 달랐습니다. 250회의 모델 실행 결과, 161개의 고유한 불일치 탐지 결과 중 80개는 5회의 동일한 반복 실행 중 단 한 번만 나타난 반면, 5회 모두 나타난 것은 22개에 불과했습니다. 이와 대조적으로, Claude가 Snyk Code의 참조 탐지 결과와 일치했을 때의 동작은 훨씬 더 안정적이었습니다. 158개의 고유한 참조 일치 탐지 결과 중 134개가 5회의 반복 실행 모두에서 나타났습니다. 또한 이 벤치마크는 상호 보완성을 보여줍니다. 모델들은 일관되게 익숙하고 신호가 높은(high-signal) 익스플로잇 형태를 찾아냈으며, 한 사례에서는 Snyk Code의 잠재적인 제품 격차(product gap)를 드러내기도 했습니다. Snyk Code의 정적 애플리케이션 보안 테스트 (SAST)는 결정론적(deterministic)이었으며, 반복되는 데이터 흐름 싱크(data-flow sinks)를 체계적으로 열거하는 데 더 뛰어났습니다. 이러한 결과는 에이전트형 LLM 검토를 다른 기술의 대체재로 취급하기보다, 결정론적 SAST와 결합하여 사용하는 것을 지지합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기