← 최신 논문
💻 computer science

Code-Augur: Agentic Vulnerability Detection via Specification Inference

Code-Augur는 코드로부터 보안 사양을 명시적으로 추론하고 런타임 반증(runtime falsification)을 통해 이를 지속적으로 정교화함으로써, 다른 방법들이 놓치는 실제 오픈 소스 프로젝트의 치명적인 취약점들을 찾아내어 자율형 LLM의 신뢰성과 효과성을 향상시키는 새로운 에이전트 기반 취약점 탐지 프레임워크입니다.

원저자: Zhengxiong Luo, Mehtab Zafar, Dylan Wolff, Abhik Roychoudhury

게시일 2026-06-19
📖 3 분 읽기☕ 가벼운 읽기

원저자: Zhengxiong Luo, Mehtab Zafar, Dylan Wolff, Abhik Roychoudhury

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 거대하고 복잡한 공장의 안전 위험 요소를 점검하기 위해, 아주 똑똑하지만 약간은 자만심이 있는 탐정을 고용한다고 상상해 보십시오. 이 탐정은 AI 에이전트입니다.

과거에는, 만약 이 AI 탐정이 "이 기계는 안전합니다"라고 말한다면, 당신은 그 말을 그대로 믿어야만 했습니다. 왜 그들이 안전하다고 생각했는지, 혹은 어떤 가정을 세웠는지 알 수 없었습니다. 만약 그들이 부품이 강철이라고 가정했는데 실제로는 플라스틱이라서 숨겨진 위험을 놓쳤다면, 당신은 기계가 폭발할 때까지 그 사실을 알지 못했을 것입니다.

CODE-AUGUR는 이 문제를 해결하기 위해 설계된 새로운 시스템입니다. 이 시스템은 AI 탐정이 자신의 가정을 기록하게 하고, 곧바로 그 가정이 틀렸음을 증명하도록 강제함으로써 AI 탐직의 작동 방식을 바꿉니다.

작동 방식은 다음과 같이 간단한 단계로 나뉩니다:

1. 탐정이 "안전 약속"을 작성합니다

AI 탐정은 단순히 코드를 보고 "안전" 또는 "위험"이라고 판단하는 대신, 어떤 코드 조각이 안전하다고 결정할 때마다 구체적인 규칙, 즉 **보안 명세(Security Specification)**를 작성해야 합니다.

  • 비유: 탐정이 다리를 보고 "이 다리는 안전합니다"라고 말한다고 가정해 봅시다. 기존 시스템에서는 이것이 이야기의 끝이었습니다. 하지만 CODE-AUGUR 체제에서는 탐정이 다리에 포스트잇을 붙여야 합니다: "나는 이 다리가 10톤을 견딜 수 있다고 가정한다."
  • 결과: 이 "포스트잇"은 실제로 소프트웨어 내부에 삽입되는 코드 한 줄(assertion, 단언문)입니다. 이는 탐정의 보이지 않는 사고 과정을 눈에 보이고 테스트 가능한 규칙으로 변환합니다.

2. "악마의 대변인"이 이를 무너뜨리려 시도합니다

탐정이 규칙을 작성하면, **퍼저(Fuzzer)**라고 불리는 두 번째 도구(혼란스럽고 끈질긴 스트레스 테스트 전문가라고 생각하십시오)가 고용됩니다. 이 도구의 유일한 임무는 탐정의 규칙을 깨뜨리는 것입니다.

  • 비유: 퍼저는 철거 전문가와 같습니다. 그는 그 다리 위로 15톤 트럭을 몰고 가서 다리가 무너지는지 확인하려 합니다.
  • 두 가지 결과:
    • 결과 A (다리가 무너짐): 퍼저가 규칙을 깨뜨리는 데 성공했습니다. 이는 탐정이 틀렸음을 의미합니다. 다리는 안전하지 않으며, 실제 취약점이 발견되었습니다.
    • 결과 B (규칙이 잘못됨): 퍼저가 규칙을 깨뜨렸지만, 다리가 실제로 위험하게 무너지지는 않았습니다. 이는 탐정의 "포스트ิต"이 너무 엄격했거나 상황을 오해했음을 의미합니다. 그러면 탐정은 자신의 규칙을 더 정확하게 업데이트합니다.

3. 개선의 루프

이 과정은 추론 → 규칙 작성 → 규칙 파괴 시도 → 규칙 수정 또는 버그 발견이라는 지속적인 루프로 이어집니다.

이렇게 함으로써, 시스템은 단순히 버그를 찾는 것에 그치지 않고, AI가 코드가 어떻게 작동해야 하는지에 대한 이해를 코드가 실제로 어떻게 작동하는지와 일치시키도록 강제합니다. 만약 AI가 잘못된 가정을 한다면, 퍼저가 즉시 잡아낼 것입니다.

무엇을 발견했는가?

연구진은 이 시스템(CODE-AUGUR)을 실제 소프트웨어 프로젝트에 테스트했습니다. 주요 결과는 다음과 같습니다:

  • 경쟁 모델보다 우수함: 다른 최상위 AI 보안 도구들보다 훨씬 더 많은 버그(34%에서 370% 더 많이)를 찾아냈습니다.
  • 새로운 발견: 아무도 몰랐던 인기 오픈 소스 소프트웨어에서 22개의 새로운 취약점을 발견했습니다.
  • 실질적인 영향력: 개발자들은 이미 이 새로운 버그 중 16개를 수정하거나 확인했습니다. 이러한 발견 중 일부는 "버그 바운티(취약점 신고 포상금)" 보상을 받기도 했습니다.
  • 장기적 가치: AI가 작성한 "규칙(invariants)"은 내구성이 있습니다. 이 규칙들은 감사가 끝난 후에도 코드에 남아 있습니다. GPS 소프트웨어 프로젝트와 관련된 한 사례 연구에서, 이 규칙들은 개발자들이 4개월 동안 관련된 일련의 버그들을 수정하는 데 도움을 주었으며, 동일한 실수가 다시 발생하는 것을 방지했습니다.

이것이 왜 중요한가

이 논문은 단순히 버그를 찾는 AI를 갖는 것만으로는 충분하지 않다고 주장합니다. 우리는 왜 그것이 안전하다고 생각하는지 알아야 합니다. CODE-AUGUR는 AI의 사고 과정을 투명하고, 테스트 가능하며, 자기 교정 가능하게 만듭니다. 이는 "블랙박스" 형태의 AI를, 자신의 논리를 기록하고, 테스트를 거치며, 실수를 통해 배우는 파트너로 변화시킵니다. 이를 통해 소프트웨어 보안을 훨씬 더 신뢰할 수 있게 만듭니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →