Code-Augur: 명세 추론을 통한 능동적 취약점 탐지
Code-Augur: Agentic Vulnerability Detection via Specification Inference
능동적인 취약점 탐지는 이미 소프트웨어 보안 분야의 중요한 전환점이 되고 있습니다. LLM 에이전트가 완전히 자율적으로 수행하는 감사는 디지털 사회를 지탱하는 핵심 소프트웨어에서 심각한 취약점을 발견하고 있으며, 이러한 많은 취약점들은 수년간 숨겨져 있다가 AI 에이전트가 등장하면서 드러났습니다. 그러나 이러한 발견들의 근거는 여전히 불투명하고 검증되지 않은 상태입니다. 에이전트가 특정 함수를 안전하다고 판단할 때, 해당 함수의 입력에 대해 어떤 가정을 했습니까? 추론의 오류와 잘못된 가정은 취약점 탐지를 놓치게 하고, 에이전트 분석에 대한 신뢰도를 저하시킬 수 있습니다. 저희는 보안 명세 우선(security-specification-first) 패러다임을 제안합니다. 이 패러다임은 (1) 에이전트의 암묵적인 가정을 명시적인 보안 명세로 드러내고, (2) 런타임 테스트를 통해 이러한 명세를 지속적으로 개선하는 것을 목표로 합니다. 저희는 능동적 취약점 탐지를 위한 새로운 프레임워크인 Code-Augur를 통해 이 접근 방식을 구현했습니다. Code-Augur는 주어진 코드베이스의 각 구성 요소에서 취약한 코드를 분석합니다. 특정 구성 요소를 안전하다고 판단하면, 해당 판단의 근거가 되는 로컬 불변 조건을 소스 코드 내에 어설션(assertion)으로 기록합니다. 동시에, Code-Augur는 가이드형 퍼저(guided fuzzer)를 사용하여 이러한 가정들을 검증하려고 시도합니다. 퍼저가 어설션을 트리거하면, 이는 실제 취약점을 드러내거나 잘못된 명세를 수정하는 데 활용됩니다. 이 과정을 통해 에이전트는 코드의 의도를 이해하고, 실제로 코드가 어떻게 동작하는지에 대한 에이전트의 관점을 일치시킬 수 있습니다. 실제 환경에서 Code-Augur는 보안 명세를 효과적으로 활용하여 다른 최첨단 에이전트보다 더 많은 취약점을 탐지했습니다. 또한, Code-Augur는 주요 오픈 소스 프로젝트에서 22개의 새로운 취약점을 발견했습니다. Claude Mythos와 같은 전문 모델과 비교했을 때, Code-Augur는 Sonnet 및 DeepSeek와 같이 널리 사용 가능한 LLM을 기반으로 효과적인 능동적 취약점 탐지를 제공합니다.
The advent of agentic vulnerability detection is already becoming a watershed moment for software security. Audits conducted entirely by autonomous LLM agents are uncovering critical vulnerabilities in fundamental software underpinning digital society. Many of these vulnerabilities remained masked for years, surfacing only now with AI agents. Yet the reasoning behind these discoveries remains alarmingly opaque and unvalidated. What assumptions did the agent make about a function's inputs when it deemed that function to be secure? Failures in reasoning and incorrect assumptions can lead to missed vulnerabilities and reduce trust in agentic analysis. We propose a security-specification-first paradigm that (1) exposes the agent's tacit assumptions explicitly as security specifications and (2) continuously refines those specifications via runtime falsification. We realize our approach in Code-Augur, a novel harness for agentic vulnerability detection. Given a codebase, Code-Augur analyzes each component of the system for vulnerable code. When it deems a component to be secure, it commits the local invariants behind that judgment as in-source assertions. In parallel, Code-Augur leverages a guided fuzzer to attempt to falsify those assumptions. When the fuzzer triggers an assertion, this either reveals a genuine vulnerability or a flawed specification to refine. In both cases, this process grounds the agent's understanding, aligning its view of code intent with how the code actually behaves. On real-world subjects, Code-Augur effectively leverages security specifications to detect more vulnerabilities than other state-of-the-art agents. Additionally, Code-Augur found 22 new vulnerabilities in key open-source projects. Compared to curated specialized models like Claude Mythos, Code-Augur offers effective agentic vulnerability detection built on widely available LLMs like Sonnet and DeepSeek.
No Analysis Report Yet
This paper hasn't been analyzed by Gemini yet.
Log in to request an AI analysis.