본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 26. 13:31

LLM 에이전트가 이제 제로데이를 찾아내고 있습니다: AI가 취약점 연구의 규칙을 자율적으로 재정립하는 방법

요약

LLM 에이전트가 자율적으로 제로데이 취약점을 탐지하고 CVE를 발견하는 새로운 보안 연구 패러다임을 소개합니다. Claude Mythos와 GPT-5.5를 활용한 에이전트형 하네스 아키텍처와 실제 macOS 커널 취약점 발견 사례를 분석합니다.

핵심 포인트

  • LLM 에이전트가 실제 macOS 커널 CVE를 발견하며 자율 보안 연구 가능성 입증
  • 에이전트형 하네스 아키텍처를 통한 익스플로잇 체인 구축 및 증명 생성
  • 발견 속도가 수정 속도를 앞지르는 새로운 보안 병목 현상 발생
  • AI 기반 보안 파이프라인 구축을 위한 실행 가능한 코드 및 방법론 제시

LLM 에이전트가 이제 제로데이를 찾아내고 있습니다: AI가 취약점 연구의 규칙을 자율적으로 재정립하는 방법

💡 요약 (TL;DR): Claude Mythos Preview 및 GPT-5.5와 같은 LLM 에이전트들이 이제 대규모로 제로데이 (Zero-days)를 자율적으로 사냥하고 있습니다 — 단 몇 주 만에 10,000개 이상의 심각한 CVE가 발견되었습니다. 이 포스트는 에이전트형 하네스 (Agentic harness) 아키텍처, 실제 결과물을 분석하고, 오늘 바로 자신만의 AI 보안 파이프라인을 구축할 수 있는 실행 가능한 코드를 제공합니다.

발행일: 2026년 5월 26일 · ⏱️ 읽기 시간 18분 · 태그: security, llm, ai-agents, vulnerability-research, devops, cybersecurity

AI scanning code for vulnerabilities in a cyberpunk server room

목차

  1. AI가 macOS 커널 CVE를 발견한 날
  2. LLM 취약점 연구란 무엇인가? (정적 분석을 넘어)
  3. Mythos Preview의 작동 방식: 익스플로잇 체인 (Exploit Chain) 구축 및 증명 생성
  4. 실제 결과: Mozilla, Cloudflare, 그리고 업계를 놀라게 한 수치들
  5. 에이전트형 하네스 (Agentic Harness) 아키텍처: 심층 기술 분석
  6. GPT-5.5 vs Claude Mythos: 최첨단 보안 모델 비교
  7. 새로운 병목 현상: 발견이 수정보다 빠름
  8. 자신만의 AI 보안 파이프라인 구축하기
  9. 안전성, 윤리 및 이중 용도 (Dual-Use) 우려
  10. 다음 단계: AI 기반 사이버 방어의 가까운 미래
  11. 결론 및 행동 촉구

1. AI가 macOS 커널 CVE를 발견한 날

2026년 5월 11일 — 불과 며칠 전 — Apple은 macOS Tahoe 26.5에 대한 보안 권고(Security advisory)를 발표했습니다. 수십 명의 인간 연구자 명단 사이에 한 줄의 특이한 문구가 숨어 있었습니다:

CVE-2026-28952 — 개선된 입력 검증을 통해 해결된 정수 오버플로 (Integer overflow). 영향: 앱이 루트 권한 (Root privileges)을 획득할 수 있음.
발견자: Claude 및 Anthropic Research와 협력한 Calif.io.

다시 한번 읽어보십시오. macOS에서 임의의 앱이 루트 권한(root access)을 획득할 수 있게 하는 커널 수준의 권한 상승(privilege escalation) 취약점이 AI 모델의 공로로 기록되었습니다.

이것은 단순한 장난감 벤치마크나 통제된 연구용 샌드박스(sandbox)가 아니었습니다. 이것은 자율 보안 연구 에이전트(autonomous security research agent)로 작동하는 대규모 언어 모델(LLM)이 핵심 커널 코드에서 찾아낸, 현재는 Apple에 의해 패치되고 CVE 번호가 할당된 실제 CVE였습니다. 같은 주, Anthropic의 Project Glasswing은 Claude Mythos Preview가 한 달도 채 되지 않아 세계에서 가장 시스템적으로 중요한 소프트웨어 전반에서 **10,000개 이상의 심각하거나 높은 수준의 취약점(critical or high-severity vulnerabilities)**을 발견했다고 발표했습니다.

만약 당신이 보안 엔지니어, 플랫폼 개발자, 또는 타인이 의존하는 소프트웨어를 배포하는 사람이라면 — 이것은 당신의 위협 모델(threat model)을 영구적으로 변화시킵니다. 이 포스트에서는 정확히 어떤 일이 일어났는지, 이러한 LLM 취약점 연구 에이전트가 내부적으로 어떻게 작동하는지, 그리고 지금 당장 무엇을 해야 하는지를 분석합니다.

2. LLM 취약점 연구란 무엇인가? (정적 분석을 넘어)

LLM이 등장하기 전, 자동화된 취약점 탐지는 잘 알려진 다음과 같은 범주로 나뉘었습니다:

  • SAST (Static Application Security Testing, 정적 애플리케이션 보안 테스트): 소스 코드 내의 알려진 취약점 시그니처(signature)를 대상으로 패턴 매칭을 수행합니다. 빠르지만 오탐률(false-positive rate)이 높고, 로직 버그(logic bugs)를 완전히 놓칩니다.
  • DAST (Dynamic Application Security Testing, 동적 애플리케이션 보안 테스트): 블랙박스 퍼징(black-box fuzzing) 방식으로, 잘못된 형식의 입력값을 보내고 충돌(crash) 여부를 관찰합니다. 입력값 검증(input validation) 버그에는 효과적이지만, 구조적 결함(architectural flaws)에는 무력합니다.
  • 심볼릭 실행 (Symbolic Execution): 제약 조건 해결사(constraint solvers, 예: KLEE, angr)를 사용하여 코드 경로를 철저하게 탐색합니다. 강력하지만 실제 규모의 코드베이스(codebases)로 확장하기 어렵습니다.
  • 수동 침투 테스트 (Manual Penetration Testing): 인간 연구원이 수동으로 코드를 감사(auditing)합니다. 품질은 높지만 비용이 매우 많이 들며 확장성이 없습니다.

LLM 취약점 연구는 이 중 그 어느 것도 아니면서, 동시에 이 모든 것을 아우릅니다.

최첨단 (Frontier) LLM을 차별화하는 요소는 바로 **대규모 문맥 추론 (contextual reasoning at scale)**입니다. 전통적인 SAST 스캐너는 패턴을 매칭합니다. 반면 LLM은 코드가 무엇을 _하려고 하는지_를 이해하며, 여러 파일로 구성된 호출 그래프 (call graphs)에 대해 추론할 수 있고, 신뢰 경계 (trust boundaries)에 대해 가설을 세울 수 있으며, 버그가 악용 가능한지에 대한 증거를 생성할 수 있습니다. 이 모든 과정이 단 한 번의 추론 과정 (reasoning pass) 내에서 이루어집니다.

2026년 연구 커뮤니티가 도달한 핵심 통찰은 다음과 같습니다: LLM은 단순히 패턴을 인식하여 버그를 찾는 것이 아닙니다. 프로그래머의 의도 (programmer intent)와 실제 동작 (actual behavior) 사이의 차이를 이해하고, 그 차이가 발생하는 지점을 찾아냄으로써 버그를 발견합니다.

Firefox에서 발견된 20년 된 XSLT 버그는 입력 공간 (input space)이 커버되지 않아서 퍼저 (fuzzer)가 놓친 것이 아니었습니다. 그 버그를 이해하려면 재진입 가능한 key() 호출이 해시 테이블의 재해시 (rehash)를 유발하여, 원시 엔트리 포인터 (raw entry pointer)가 여전히 사용 중인 동안 백킹 스토어 (backing store)를 해제하게 된다는 사실을 알아야 했기 때문입니다. 이는 코드베이스의 메모리 모델 (memory model)에 대한 의미론적 (semantic) 이해를 요구하는 다단계 논리 체인입니다. Claude Mythos가 이를 찾아냈습니다.

이것이 바로 패러다임의 전환입니다. 우리는 더 이상 자동화된 스캐너에 대해 이야기하고 있는 것이 아닙니다. 우리는 **시니어 보안 연구원처럼 추론하는 AI 에이전트 (AI agents)**에 대해 이야기하고 있습니다.

3. Mythos Preview의 작동 방식: 익스플로잇 체인 구축 및 증거 생성

Cloudflare의 보안 팀은 자체 인프라에서 Mythos Preview를 사용하며 몇 주를 보냈으며, 그들의 보고서에서는 이전의 모든 도구와 차별화되는 두 가지 능력을 확인했습니다.

3.1 익스플로잇 체인 구축 (Exploit Chain Construction)

실제 익스플로잇 (exploit)은 단일 취약점만을 사용하는 경우가 드뭅니다. 이들은 여러 프리미티브 (primitives)를 체인처럼 연결합니다. 예를 들어, Use-After-Free (UAF)가 임의 읽기/쓰기 (arbitrary read/write) 프리미티브가 되고, 이것이 제어 흐름 하이재킹 (control-flow hijacking)을 가능하게 하며, 최종적으로 완전한 샌드박스 탈출 (sandbox escape)을 가능하게 합니다. 각 단계는 개별적으로는 심각도가 낮지만, 결합되면 치명적입니다.

전통적인 스캐너는 버그를 개별적으로 보고합니다. Mythos Preview는 그것들을 어떻게 체이닝할지에 대해 추론합니다. 식별된 프리미티브 세트가 주어지면, 다음과 같이 평가합니다:

  • 어떤 프리미티브 (primitives)들을 결합할 수 있는가?
  • 각 단계에는 어떤 전제 조건 (preconditions)이 필요한가?
  • 공격자가 권한이 없는 컨텍스트 (unprivileged context)에서 해당 전제 조건들을 확실하게 충족할 수 있는가?
  • 최종 익스플로잇 (exploit)의 엔드 투 엔드 (end-to-end) 모습은 어떠한가?

Cloudflare는 모델이 평소라면 낮은 심각도의 백로그 (backlog)에 방치되었을 버그들을 가져와, 자사의 보안 팀조차 고려하지 못했던 높은 심각도의 익스플로잇 체인 (exploit chains)을 구축하는 것을 관찰했습니다. 이는 단순한 취약점 발견 (finding) 이 아니라, 방어자들이 진정한 리스크를 이해할 수 있도록 돕는 취약점 무기화 (weaponization) 입니다.

3.2 개념 증명 (Proof-of-Concept) 생성 루프

버그를 찾는 것과 그것이 익스플로잇 가능하다는 것을 _증명_하는 것은 매우 다른 두 가지 일입니다. Mythos Preview는 자율적인 PoC (Proof-of-Concept) 생성 루프를 통해 이 간극을 메웁니다:

  1. 가설 설정 (Hypothesize): 의심되는 취약점을 식별하고 트리거 조건 (triggering condition)을 공식화합니다.
  2. 합성 (Synthesize): 버그를 트리거할 코드를 작성합니다 — 테스트 하네스 (test harness), 잘못된 형식의 입력값 (malformed input), 또는 특정 API 호출 시퀀스 등입니다.
  3. 컴파일 및 실행 (Compile & Execute): 격리된 샌드박스 (sandbox) 환경에서 PoC를 빌드하고 실행합니다.
  4. 관찰 및 반복 (Observe & Iterate): 예상된 동작 (크래시, 메모리 오염, 권한 상승)이 관찰되지 않으면, 출력을 읽고 가설을 수정하여 다시 시도합니다.

이 루프는 자율적으로 작동합니다. Cloudflare는 모델이 컴파일러 에러 (compiler errors)를 읽고, 익스플로잇 로직을 조정하며, 재시도하는 과정을 관찰했다고 설명했습니다. 이는 이전에는 터미널 앞에 앉아 있는 인간 연구원이 필요했던 동작입니다. 그 결과는

조직 (Organization)발견된 버그 수 (Bugs Found)심각도 (Severity)비고 (Notes)
Project Glasswing Partners (~50개 조직)10,000개 이상Critical/High주요 인프라 전반에 걸쳐 집계됨
...

4.1 Mozilla의 Firefox: 가장 상세한 공개 사례 연구

Mozilla의 Hacks 블로그는 자신들의 하네스 방법론 (harness methodology)을 게시했으며, 심지어 특정 버그 ID를 공개하기도 했습니다. 이는 AI가 발견한 버그가 실제로 어떤 모습인지에 대해 매우 드문 통찰을 제공하는 이례적인 수준의 투명성입니다. 몇 가지 주요 내용은 다음과 같습니다:

  • Bug 2024918: 잘못된 equality check (등가 비교)로 인해 JIT 컴파일러가 활성 WebAssembly GC 구조체의 초기화를 최적화하여 제거함으로써, 임의의 읽기/쓰기가 가능한 가짜 객체 프리미티브 (fake-object primitive)를 생성했습니다. 이 코드는 내부 및 외부 연구원들에 의해 _광범위한 퍼징 (extensive fuzzing)_을 거쳤음에도 불구하고 발견된 적이 없었습니다.
  • Bug 2024437: 브라우저의 서로 떨어진 부분들 사이에서 재귀 스택 깊이 제한 (recursion stack depth limits), expando 속성, 그리고 cycle collection이 복잡하게 얽혀 트리거된 15년 된 <legend> HTML 요소의 버그입니다.
  • Bug 2022733: 참조 횟수 (refcount)가 많은 복사 루프 내의 레이스 컨디션 (race condition)을 확장하기 위해 WebTransport에 수천 개의 인증서 해시를 쏟아부어 트리거된 부모 프로세스의 UAF (Use-After-Free) 버그입니다. 그 후, 침해된 콘텐츠 프로세스로부터 IPC를 통해 해당 레이스 컨디션을 악용했습니다.

이것들은 단순한 버퍼 오버플로 (buffer overflows)가 아닙니다. 이것들은 브라우저 내부 구조에 대한 깊은 이해를 요구하는 **복잡하고, 다중 시스템적이며, 아키텍처를 인지하는 버그 (complex, multi-system, architecture-aware bugs)**입니다. 입력 공간을 탐색하는 방식으로 작동하는 퍼저 (Fuzzers)들은 이러한 버그를 가능하게 하는 구성 요소 간의 의미론적 관계 (semantic relationships)를 추론할 수 없습니다.

4.2 오탐 문제 (그리고 해결 방법)

한 가지 중요한 주의 사항이 있습니다. 초기 LLM 기반 보안 스캐닝 (2024년~2025년 초 모델 시대)은 **AI가 생성한 저질 버그 보고서 (AI-generated slop bug reports)**로 인해 골머리를 앓았습니다. 이는 그럴듯하게 들리지만 완전히 틀린 결과물로, 유지 관리자의 시간을 낭비하게 만들었습니다. 이에 따라 여러 오픈 소스 프로젝트들은 AI가 생성한 이슈를 명시적으로 거부하는 정책을 수립하기도 했습니다.

Mythos Preview는 이 지점에서 비약적인 개선을 보여줍니다. Cloudflare는 해당 모델의 출력 결과가 눈에 띄게 높은 품질을 보였다고 보고했습니다: 모호한 결과(hedged findings)가 줄어들었고, 재현 단계(reproduction steps)가 더 명확해졌으며, 수정 또는 기각(fix-or-dismiss) 결정을 내리기까지 필요한 작업량이 감소했습니다. 결정적으로, 작동하는 PoC(Proof of Concept)에 의해 뒷받침되는 결과는 정의상 오탐률(false-positive rate)이 0에 가깝습니다. 익스플로잇(exploit)이 실행되어 예상된 출력을 생성한다면, 그 버그는 실제 존재하는 것이기 때문입니다.

5. 에이전트형 하네스 아키텍처 (The Agentic Harness Architecture): 심층 기술 분석

AI security pipeline architecture diagram

모든 성공적인 배포 사례에서 얻은 핵심 교훈은 다음과 같습니다: 단순히 LLM을 저장소(repository)에 겨누고 "버그를 찾아라"라고 요청하는 방식은 잘 작동하지 않습니다. 결과의 품질은 모델 주변에 구축된 하네스(harness)의 정교함에 따라 극적으로 확장됩니다. 다음은 최첨단 전문가들이 수렴하고 있는 아키텍처입니다:

5.1 핵심 구성 요소 (Core Components)

┌─────────────────────────────────────────────────────────────┐
│                    보안 에이전트 파이프라인 (SECURITY AGENT PIPELINE)                  │
├─────────────────────────────────────────────────────────────┤
...

5.2 1단계: 위협 모델링 (Threat Modeling) (이를 생략하지 마세요)

생산성을 높이는 단 하나의 가장 큰 승수는 스캐닝을 수행하기 전에 위협 모델링(threat modeling)에 컴퓨팅 자원을 할당하는 것입니다. LLM에게 다음을 요청하십시오:

  1. 코드베이스의 의존성 그래프(dependency graph) 구축
  2. 모든 외부 신뢰 경계(external trust boundaries) 식별 (네트워크 입력, 파일 파싱, IPC, 사용자 입력)
  3. 공격 관련 하위 시스템(attack-relevant subsystems) 열거 (암호화(crypto), 인증(auth), 메모리 관리(memory management), 권한 작업(privilege operations))
  4. 공격 표면(attack surface)과 심각도 잠재력(severity potential)에 따라 정렬된, 우선순위가 지정된 스캔 대상 모듈 목록 생성

이는 초점이 맞지 않는 스캔을 타겟팅된 분석(targeted analysis)으로 전환합니다. Mozilla 팀은 이를 통해 신호 대 잡음비(signal-to-noise)가 극적으로 개선되었음을 발견했습니다. 즉, 전체 코드베이스에 걸쳐 10,000개의 낮은 신뢰도(low-confidence) 탐지 결과가 나오는 대신, 가장 위험도가 높은 서브시스템(subsystems)에서 500개의 높은 신뢰도(high-confidence) 탐지 결과를 얻었습니다.

5.3 2단계: 병렬 서브 에이전트 스캔 (Parallel Sub-Agent Scanning)

각 우선순위가 높은 모듈은 다음과 같은 기능을 갖춘 자체 서브 에이전트(sub-agent) 인스턴스를 할당받습니다:

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0