지난 몇 달 동안 우리는 공개되지 않은 내부 연구 모델을 사용하여 중요한 취약점을 발견했습니다 브라우저와 운영 체제 같은 세계에서 가장 널리 사용되는 소프트웨어에서 말입니다. 이 글에서는 최소한의 사용자 상호작용 또는 전혀 없는 상호작용으로 원격 코드 실행 및 기타 중대한 영향을 초래한 5개의 공격 체인에 대한 세부 정보를 공유합니다. 이러한 공격 체인은 오픈소스 및 독점 소프트웨어 모두에서 정교한 다단계 익스플로잇을 만들어내는 모델의 능력을 보여줍니다. 이러한 제품의 취약점은 수십억 명의 사용자에게 영향을 미칠 수 있습니다. 또한 이들은 세계에서 가장 보안이 중요한 소프트웨어에 속하므로, 모델의 취약점 연구 및 사이버 역량을 테스트하기 위한 중요한 지표가 됩니다.
우리는 각 취약점을 조율된 취약점 공개절차에 따라 해당 벤더에 보고했으며, 이 절차는 개발자에게 90일의 패치 기간을 제공하고, 공개 권고문에 이미 포함된 내용 이상의 세부 정보를 우리가 논의하기 전까지 추가로 45일을 더 제공합니다.
1. Chrome에서의 원클릭 원격 코드 실행
초기 프롬프팅 후, Claude는 공격자가 브라우저의 샌드박스 밖에서 사용자로서 임의의 코드를 실행할 수 있도록 하는 완전한 익스플로잇 체인을 작성했습니다. 우리의 개념 증명은 macOS에서 기본 구성의 Chrome 브라우저에서 페이지가 로드된 후 몇 초 이내에, 추가적인 사용자 상호작용 없이 Calculator 앱을 실행합니다:
- Claude는 Chrome의 JavaScript 엔진인 V8에서 악성 웹 페이지가 V8의 힙 메모리를 손상시킬 수 있는 취약점을 발견했습니다.
- Claude는 V8의 메모리 영역 샌드박스를 탈출하고 ASLR을 무력화하는 두 번째 취약점을 발견했습니다. 이 단계에서는 Chrome의 코드를 메모리에서 찾아 반환 지향 프로그래밍(ROP) 체인을 사용하여 렌더러 프로세스를 완전히 장악했습니다.
- 장악된 렌더러는 Chrome의 프로세스 샌드박스에 갇혀 있었습니다. 이후 Claude는 CacheStorage에서 경쟁 상태(race condition)를 발견했습니다. 장악된 렌더러는 이 경쟁 상태를 이용해 샌드박스 밖의 메모리를 읽고 권한 있는 브라우저 프로세스의 메모리 레이아웃을 파악했습니다.
- 마지막으로, Claude는 Chrome의 연합 로그인 기능인 FedCM에서 use-after-free를 발견했으며, 이를 통해 익스플로잇이 샌드박스 밖에서 임의의 코드를 실행할 수 있었습니다.
우리는 이번 발견 사항을 Google에 보고했으며, 62개의 CVE가 할당되었고 Chrome 156 기준으로 패치되었습니다, 이들 모두 심각(critical) 또는 높음(high) 등급으로 평가되었습니다. 그중에는 13개의 샌드박스 탈출과 렌더러를 장악하는 데 사용될 수 있었던 21개의 취약점이 포함되어 있습니다.
2. Safari에서의 원클릭 익스플로잇 체인
초기 프롬프팅 후, Claude는 모든 웹사이트의 JavaScript가 동일 출처 정책(SOP)을 완전히 우회할 수 있는 익스플로잇 체인을 작성했습니다. 이 익스플로잇은 사용자의 Safari 방문 기록, 쿠키 및 기타 민감한 데이터에 접근할 수 있었고, 다른 도메인으로 인증된 HTTP 요청을 보내고 응답을 읽을 수 있었습니다. 예를 들어, 사용자가 이메일 계정에 로그인되어 있다면 공격자는 그 이메일을 읽을 수 있고, 은행 계좌에 로그인되어 있다면 공격자는 계좌 잔액을 보거나 이체를 시도할 수 있습니다.
이를 위해 Claude는 Safari에 내장된 여러 보호 계층을 무력화했습니다:
- Claude는 C++로 작성된 Safari의 JavaScript 엔진인 JavaScriptCore에서 use-after-free(UAF) 취약점을 발견했습니다. 특정 TypedArray 연산이 해제된 메모리에 대한 오래된 포인터를 통해 쓰기를 수행하여 TypedArray 메타데이터를 덮어썼습니다.
- WebKit의 Gigacage는 TypedArray 데이터를 별도의 메모리 영역에 격리함으로써 이러한 유형의 공격을 완화합니다. Claude는 이 영역의 특정 변수들이 다른 영역을 인덱싱하는 데 사용된다는 것을 발견했으며, 이를 통해 Gigacage 밖에서의 임의 읽기/쓰기 프리미티브를 얻었습니다.
- 모든 웹사이트 JavaScript는 WebContent 샌드박스에서 실행되며, 이 샌드박스는 UAF 같은 버그가 디스크상의 민감한 브라우저 데이터에 도달하지 못하도록 합니다. Claude는 샌드박스의 IPC 메커니즘에서 취약점을 발견하여, 익스플로잇이 디스크에서 Safari의 저장된 방문 기록, 쿠키 및 세션 데이터베이스를 읽을 수 있게 했습니다.
- 마지막으로, Claude는 UAF를 사용하여 메모리의 변수를 덮어쓰고 SOP를 비활성화하여, 공격자의 페이지가 다른 모든 출처에서 데이터를 읽을 수 있도록 했습니다.
이 체인은 임의 코드 실행에 전혀 의존하지 않는 데이터 전용 공격이라는 점에서 흥미롭습니다. 대신 브라우저 프로세스의 메모리에 대한 완전한 읽기/쓰기 접근을 사용하여 보안 플래그, 객체 크기 및 URL을 수정합니다. 이러한 약점 중 일부는 그 자체로는 취약점이 아니지만, 결합될 때 악용 가능해지는 의도된 동작입니다.
Apple은 우리가 보고서를 제출한 당일에 이를 인지했으며 신속하게 수정 사항을 구현했습니다. 해당 수정 사항은 사용자에게 제공됩니다.
3. Android 잠금 화면 우회
초기 프롬프팅 이후, Claude는 공격자가 도난당한 Android 휴대폰의 사진 및 기타 개인정보를 잠금 해제 없이 추출할 수 있게 하는 익스플로잇을 작성했습니다. 이 작업은 세 가지 방법을 결합했습니다: Android의 오픈소스 부분에 대한 소스 코드 분석, Google Play 서비스 바이너리의 리버스 엔지니어링 및 디옵퓨스케이션, 그리고 실제 Google Pixel 9에서의 라이브 테스트. 이를 통해 오픈소스 및 독점 구성요소 양쪽에서 광범위한 취약점이 발견되었고, Claude는 그중 세 가지를 연계하여 최종 익스플로잇을 완성했습니다.
Android에는 이러한 공격에 대한 여러 계층의 보호 장치가 있습니다. Claude는 각각을 우회하는 방법을 찾아냈습니다:
- 잠긴 Android 휴대폰은 USB를 통해 데이터를 전송하지 않도록 설계되어 있습니다. Claude는 특정 설정을 가진 USB 호스트가 이를 우회할 수 있음을 발견했습니다.
- 기기 간 전송 프로토콜은 승인되지 않은 피어로부터의 데이터 명령을 거부합니다. Claude는 승인 확인을 건너뛰고 페어링 프로세스를 시작하는 방법을 찾아냈습니다.
- 페어링은 사용자에게 6자리 코드를 확인하도록 요구하는 인증된 키 합의로 보호됩니다. Claude는 이 확인을 건너뛰고 사용자가 “Allow”를 탭한 것처럼 동작하는 결함을 찾아냈습니다.
- USB 전송은 하드코딩된 검사에 의해 강제되듯 파일 내용을 운반해서는 안 됩니다. Claude는 USB를 통해 원시 바이트를 전송하며 해당 검사에 포함되지 않는 폴백 메커니즘을 찾아냈습니다. 익스플로잇은 이 메커니즘을 통해 파일 내용을 요청했습니다.
이 문제는 Google에 의해 해결되었습니다.
4. Windows 원격 서비스 거부
초기 프롬프팅 이후, Claude는 Windows 기본 구현을 사용하여 HTTP/3 요청에 응답하는 모든 Windows 머신을 공격자가 원격으로 크래시시킬 수 있는 익스플로잇을 작성했습니다. 이 사례의 어려움은 무엇보다 취약점을 식별하는 것이었습니다. 그 초기 프롬프팅에 이어, 우리는 이 취약점을 Microsoft에 직접 보고했고, Microsoft는 취약점을 해결하고 다음 식별자를 부여했습니다 CVE-2026-33096.
Claude가 식별한 취약점은 Windows 커널의 QUIC 구현에 있는 메모리 안전성 범위 초과 읽기(out-of-bounds read)였습니다. 공격자는 네트워크를 통해 원격으로 취약한 코드 경로에 도달하여 수신 대기 중인 서버에 몇 개의 데이터 패킷을 보내 머신을 크래시시키고 재시작시킬 수 있습니다. 이러한 요청을 반복적으로 전송함으로써 서버를 지속적으로 크래시시켜 모든 사용자의 서버 접근 상실을 초래할 수 있습니다. 우리는 인터넷에서 수백만 대의 이러한 서버가 수신 대기 중일 가능성이 높다고 추정합니다.
Claude는 바이너리 분석을 통해 이 취약점을 발견했습니다. 우리는 모델에 Windows 실행 파일 사본을 제공하고, 기존의 리버스 엔지니어링 도구(예: Ghidra)를 사용하여 소프트웨어의 작동 방식을 리버스 엔지니어링하고, 관련 기능을 재현하는 완전히 주석이 달린 C 프로그램을 작성하고, 정확성을 보장하기 위해 재현된 프로그램의 동작을 바이너리와 비교한 후, 코드에서 취약점을 연구하도록 Claude에 요청했습니다. 잠재적으로 더 높은 위험의 문제를 식별하도록 요청했을 때, Claude는 이 원격으로 이용 가능한 취약점을 제시했습니다.
5. Linux에서의 제로클릭 원격 코드 실행
이 게시물은 서드파티 제품에 초점을 맞추고 있지만, 오픈소스에 대한 우리의 작업도 계속되었습니다. Claude와 함께 우리는 OpenBSD, FreeBSD, Linux에서의 로컬 권한 상승 취약점, 인기 있는 샌드박싱 인프라의 다수의 샌드박스 탈출, 그리고 중요한 웹 애플리케이션의 수많은 취약점을 발견했습니다. 또한 Linux 커널의 네트워킹 스택에서 원격으로 유발 가능한(제로클릭) 임의 코드 실행 취약점을 발견했으며, 이는 이후 업스트림에서 패치되고 공개적으로 공개되었습니다. 아래에서 그러한 사례 하나를 자세히 설명합니다.
초기 프롬프팅 이후, Claude는 multipath TCP 리스너가 있는 Linux 서버에 원격 공격자가 패킷을 보내 자격 증명이나 사용자 상호작용 없이 root로 임의 명령을 실행할 수 있게 하는 익스플로잇을 작성했습니다. 근본적인 취약점은 커널 네트워킹 스택의 경쟁 상태(race condition)로 인한 UAF 버그입니다. 전체 익스플로잇에는 두 가지 핵심 단계가 있습니다:
- 첫 번째 단계에서 공격자는 KASLR을 원격으로 무력화합니다. 경쟁 상태를 이용해 커널이 공격자가 제어하는 길이 필드를 읽어 추가 바이트를 복사하고 이를 공격자에게 다시 전송하게 하며, 그러한 과다 읽기(overread) 중 하나라도 응답에 커널 포인터를 포함하고 있으면 공격자는 커널 주소 공간 배치를 알아냅니다.
- 두 번째 단계에서 공격자는 제어 흐름을 탈취합니다. 동일한 UAF 버그를 이용해 버퍼를 오버플로시키고, 공격자가 평범한 프로토콜 기능을 통해 커널 메모리에 이미 준비해 둔 페이로드의 주소로 콜백 포인터를 덮어씁니다. 커널이 콜백을 호출할 때, 페이로드는 기존 커널 함수들에 대한 일련의 호출을 연쇄하며, 마지막에 공격자가 선택한 셸 명령이 root로 실행됩니다.
이 경쟁 상태의 유용한 특성은 경쟁에서 지더라도 전체 시스템을 크래시시키지 않고 핸드셰이크만 실패한다는 점이므로, 결연한 공격자는 성공할 때까지 무한히 재시도할 수 있습니다. 우리의 개념 증명에서는 커널 포인터를 유출하는 데 48분이 걸렸고, 셸 명령 실행에 도달하는 데 추가로 5분이 걸렸습니다. 이 취약점(CVE-2026-98432)은 업스트림에서 패치되었으며 유지 관리 중인 모든 안정 커널 브랜치에 백포트되었습니다.
우리가 배운 것들
이 보안 작업을 위해 Claude를 사용하는 전 과정에서 우리는 접근 방식을 형성한 여러 통찰을 얻었습니다. 우리는 그중 두 가지가 특히 중요하다고 생각합니다.
테스트 시점 컴퓨트 확장과 스캐너 다양성은 발견하는 취약점의 수를 상당히 증가시킵니다. 우리는 대량의 스캐닝 에이전트를 병렬로 실행하고, 각 스캐너가 전체 조합에 기여하는 추가 취약점 수로 측정하며, 스캐너가 전체 코드베이스를 처리하도록 커버리지를 동적으로 추적하는 플랫폼을 구축했습니다.
전략의 범위는 순수한 커버리지(이 함수에 취약점이 있는가?)에서 목표 기반(이 앱이 고객 데이터를 침해할 수 있는 무언가를 노출하는가?), 그리고 위협 모델 기반(이 앱에 문서화된 위협 모델을 우회하는 요소가 있는가?)에 이르기까지 다양합니다. 또한 확인된 모든 발견 사항에 대해 Claude를 사용해 자동화된 변이 분석(variant analysis)을 수행했습니다. 모든 발견 사항은 표준화된 검증 및 위험 등급 파이프라인을 통과하므로, 품질 기준을 낮추지 않고도 새로운 스캐너를 자유롭게 실험할 수 있습니다.
기존 백로그를 해결하는 것은 문제의 절반만 해결하는 것입니다. 나머지 절반은 새로운 취약점이 코드베이스에 유입되는 비율을 줄이는 것입니다. 이를 위해 PR 시점에 스캔하는 것을 권장합니다. 우리는 Claude Code 플러그인을 통해 보안 가이던스를 개발 프로세스에 직접 통합했으며, 이 플러그인은 공개적으로 출시되었습니다.
방어자에게 이것이 의미하는 것
프론티어 모델은 여러 취약점을 발견하고 이를 결합하여 작동하는 익스플로잇을 만들어내는 능력을 갖추고 있습니다. 이러한 기술은 역사적으로 해당 대상에 대한 전문 지식을 갖춘 소수의 전문 팀의 영역이었습니다. 이제는 모델이 인간의 개입을 거의 받지 않고 이를 수행할 수 있으며, 누구나 실행하고 검증할 수 있는 작동하는 익스플로잇을 만들어 그 결과를 증명할 수 있습니다.
방어자에게 강력한 모델을 제공하는 것은 공격자보다 먼저 시스템을 패치할 수 있는 선제적 우위를 주는 데 매우 중요합니다. 최근 우리는 Cyber Verification Program의 확장 버전을 출시했으며, 이 프로그램은 자격을 갖춘 보안 전문가들에게 고급 사이버 역량과 완화된 차단 분류기에 대한 접근을 제공합니다. 여기에는 Claude Opus 5.5, Claude Sonnet 5.5, Claude Mythos 5.1을 포함한 가장 강력한 모델들과 앞으로 출시될 다른 새로운 모델들에 대한 접근이 포함됩니다. 방어자에 대한 우리의 조언은 동일합니다: 여러분의 코드를 직접 스캔하는 것이 그 어느 때보다 중요합니다.
저자 & 감사의 말
기여자
니콜라스 칼리니(Nicholas Carlini), 데이비드 드워컨(David Dworken), 신양 게(Xinyang Ge), 벤 모리스(Ben Morris), 밀라드 나스르(Milad Nasr), 크리스 롤프(Chris Rohlf), 루나 통(Luna Tong)