Claude Code가 23년간 숨어있던 Linux 취약점을 발견하다
Claude Code Found a Linux Vulnerability Hidden for 23 Years
TL;DR Highlight
Claude Code를 활용한 Anthropic 연구원 Nicholas Carlini가 Linux 커널의 23년간 미발견된 원격 익스플로잇 가능 힙 버퍼 오버플로우 취약점을 포함한 다수의 보안 취약점을 발견하며 AI가 기존 보안 연구 방식을 근본적으로 혁신할 수 있음을 입증했다.
Who Should Read
보안 취약점 분석이나 코드 감사(audit)에 관심 있는 보안 연구자 또는 백엔드 개발자. 특히 대규모 오픈소스 코드베이스의 취약점을 자동화된 방법으로 탐지하고 싶은 사람.
Core Mechanics
- Anthropic 연구과학자 Nicholas Carlini가 [un]prompted 2026 AI 보안 컨퍼런스에서 발표한 내용으로, Claude Code를 사용해 Linux 커널에서 원격 익스플로잇 가능한 힙 버퍼 오버플로우(heap buffer overflow, 정해진 메모리 경계를 넘어 데이터를 쓸 수 있는 취약점) 취약점 여러 개를 발견했다고 밝혔다.
- Carlini는 이런 취약점을 이전엔 단 한 번도 직접 발견한 적이 없었다고 했다. 원격 익스플로잇 가능한 힙 버퍼 오버플로우는 업계에서도 매우 찾기 어려운 종류의 버그인데, Claude Code를 이용해 여러 개를 발견했다고 밝혔다.
- 탐지 방법이 놀라울 정도로 단순하다. 별도의 정교한 세팅 없이 Linux 커널 소스 코드를 향해 Claude Code에게 'CTF(Capture The Flag, 보안 경쟁 대회)에 참가 중이니 취약점을 찾아달라'고 지시하는 셸 스크립트 하나만 사용했다.
- 스크립트는 Linux 커널의 모든 소스 파일을 순회(find 명령 사용)하면서 각 파일을 Claude에게 하나씩 집중 분석시켰다. 이렇게 하면 같은 취약점을 중복 발견하는 것을 방지하면서 커널 전체를 망라할 수 있다.
- 발견된 취약점 중 하나는 Linux의 NFS(Network File Share, 네트워크를 통해 파일을 공유하는 프로토콜) 드라이버에서 발견됐다. 이 버그를 이용하면 공격자가 네트워크를 통해 커널 메모리를 원격으로 읽을 수 있다.
- 취약점의 원리는 이렇다. Client A가 NFS 서버에 1024바이트짜리 owner ID로 파일 락을 걸어둔 뒤, Client B가 같은 파일에 락을 요청하면 서버가 락 거부 응답을 생성한다. 이 응답에는 Client A의 owner ID(최대 1024바이트)가 포함되는데, 서버는 이 응답을 고작 112바이트짜리 버퍼에 쓰려다 1056바이트를 덮어쓰게 된다.
- 이 버그는 2002년 Linux 커널에 처음 도입된 이후 23년간 발견되지 않았다. 단순한 패턴 매칭이 아니라 NFS 프로토콜의 복잡한 상태 흐름을 이해해야 발견할 수 있는 버그라는 점에서 Claude Code의 심층 이해 능력이 돋보인다.
- Claude Code는 버그 탐지뿐 아니라 버그 리포트에 포함된 ASCII 프로토콜 다이어그램도 자동으로 생성했다. 분석 결과물을 문서화까지 해주는 셈이다.
Evidence
- "코드를 붙여넣고 '뭘 빠뜨렸어? 버그가 어디 있어?'라고 물어보면 된다"는 댓글이 있었다. 스레딩이나 분산 시스템 버그처럼 기존에 몇 시간씩 걸리던 분석을 AI가 빠르게 잡아낸다는 긍정적 경험이 공유됐고, 실제로 지금쯤 수많은 암호화폐 구현체들이 AI에게 검토받고 있을 거라는 예측도 나왔다.
- 한 댓글에서는 이 취약점이 '숨겨진' 게 아니라 '아무도 귀찮아서 안 찾아본' 것에 가깝다고 지적했다. 가변 길이 데이터를 다룰 때 유효 범위를 항상 확인해야 한다는 원칙을 지키면 예방할 수 있었던 버그이며, 일부 정적 분석(static analysis) 도구로도 발견 가능했을 수 있다는 의견이 있었다.
- 실제로 여러 프로덕션 코드베이스에 이 방법을 적용해봤다는 댓글이 있었다. 결과는 중복 탐지(dupes), 오탐(false positives), 실제 익스플로잇 불가능한 버그들이 많았지만, 그 중에서도 실제 크리티컬 취약점(crits)도 발견됐다는 실사용 경험이 공유됐다.
- Claude 코드 품질 자체에 대한 회의적 시각도 있었다. '할루시네이션이 많고 6개월 전이라면 코드 리뷰를 통과하지 못했을 코드를 Claude가 만들어낸다'는 반론이 제기됐다. AI가 과대포장되고 있는 건지 자신이 잘못 쓰고 있는 건지 모르겠다는 솔직한 고민도 있었다.
- GitHub Security Lab에서도 유사한 AI 보안 에이전트 작업을 진행 중이라는 댓글이 달렸다. 2025년에만 이미 23개의 취약점을 발견했다는 스트림을 공유했으며, 직접 실행해볼 수 있는 Taskflow 하네스도 공개했다고 밝혔다.
How to Apply
- 보안 감사를 주기적으로 해야 하는 개발팀이라면, 위 스크립트처럼 find 명령으로 소스 파일을 순회하면서 각 파일을 Claude Code에게 CTF 형식으로 검토시키는 자동화 파이프라인을 CI/CD에 붙여볼 수 있다. 오탐이 많더라도 실제 크리티컬 취약점을 놓치는 것보다 낫다.
- 새로운 기능을 개발하고 코드 리뷰 전 단계에서, 작성한 코드를 Claude Code에 붙여넣고 '여기서 빠뜨린 게 뭐야? 버그나 보안 취약점이 있어?'라고 물어보면 버퍼 크기 불일치, 경쟁 조건(race condition) 같은 놓치기 쉬운 문제를 사전에 잡을 수 있다.
- 오픈소스 라이브러리나 프로토콜 구현체를 사용 중인 프로젝트라면, 해당 소스 파일을 Claude Code에 주고 '이 프로토콜의 엣지 케이스(edge case, 극단적 입력 조건)에서 발생할 수 있는 취약점을 찾아줘'라고 요청하면 NFS 케이스처럼 프로토콜 수준의 깊은 버그도 탐지 힌트를 얻을 수 있다.
- 발견된 취약점의 수를 신뢰하기보다는 선별 과정을 반드시 거쳐야 한다. 오탐과 실제 익스플로잇 불가능한 케이스가 많으므로, Claude Code의 결과를 1차 스크리닝 도구로 사용하고 사람이 검증하는 2단계 프로세스를 설계하는 것이 현실적이다.
Code Example
# Linux 커널 전체 소스를 파일 단위로 순회하며 Claude Code에게 취약점 탐지를 요청하는 스크립트
# (Nicholas Carlini가 사용한 방법과 유사)
find . -type f -print0 | while IFS= read -r -d '' file; do
claude \
--verbose \
--dangerously-skip-permissions \
--print "You are playing in a CTF. \
Find a vulnerability. \
hint: look at $file \
Write the most serious \
one to /out/report.txt."
doneTerminology
관련 논문
adamsreview: Claude Code용 멀티 에이전트 PR 코드 리뷰 파이프라인
Claude Code에서 최대 7개의 병렬 서브 에이전트가 각각 다른 관점으로 PR을 리뷰하고, 자동 수정까지 해주는 오픈소스 플러그인이다. 기존 /review나 CodeRabbit보다 실제 버그를 더 많이 잡는다고 주장하지만 커뮤니티에서는 복잡도와 실효성에 대한 회의론도 나왔다.
Claude를 User Space IP Stack으로 써서 Ping에 응답시키면 얼마나 빠를까?
Claude Code에게 IP 패킷을 직접 파싱하고 ICMP echo reply를 구성하도록 시켜서 실제로 ping에 응답하게 만든 실험으로, 'Markdown이 곧 코드이고 LLM이 프로세서'라는 아이디어를 네트워크 스택 수준까지 밀어붙인 재미있는 사례다.
AI Agent를 위한 Git: re_gent
AI 코딩 에이전트(Claude Code 등)가 수행한 모든 툴 호출을 자동으로 추적하고, 어떤 프롬프트가 어느 코드 줄을 작성했는지 blame까지 가능한 버전 관리 도구다.
Agent-Native CLI를 위한 설계 원칙 10가지
AI 에이전트가 CLI 도구를 더 잘 사용할 수 있도록 설계하는 원칙들을 정리한 글로, 에이전트가 CLI를 도구로 활용하는 빈도가 높아지면서 이 설계 방식이 실용적으로 중요해지고 있다.
Agent-harness-kit: MCP 기반 멀티 에이전트 워크플로우 오케스트레이션 프레임워크
여러 AI 에이전트가 서로 역할을 나눠 협업할 수 있도록 조율하는 scaffolding 도구로, Vite처럼 설정 없이 빠르게 멀티 에이전트 파이프라인을 구성할 수 있다.
Tilde.run – AI Agent를 위한 트랜잭션 기반 버전 관리 파일시스템 샌드박스
AI 에이전트가 실제 프로덕션 데이터를 건드려도 롤백할 수 있는 격리된 샌드박스 환경을 제공하는 도구로, GitHub/S3/Google Drive를 하나의 버전 관리 파일시스템으로 묶어준다.