클로드 코드 오푸스 5 자동 모드, 웹 요약 요청만으로 악성코드에 60~80% 뚫렸다

작성일

클로드 코드 오푸스 5 자동 모드, 웹 요약 요청만으로 악성코드 실행 60~80% 성공
앤트로픽 “0%” 주장과 달리 안전장치가 정리 명령까지 막은 사례도 나왔다

클로드 코드 관련 이미지 / AI 생성 일러스트(삽화)
클로드 코드 관련 이미지 / AI 생성 일러스트(삽화)

클로드 코드(Claude Code) 오푸스 5(Opus 5)의 자동 모드(Auto Mode)가 단순한 웹사이트 요약 요청만으로 악성코드를 실행하도록 유도됐다. 보안 연구자 Johann Rehberger는 자신의 연구 블로그 Embrace The Red를 통해 이 공격 사례를 공개했다. 제한적 실험에서 공격 성공률은 60%에서 80%에 달했다. 이는 앤트로픽(Anthropic)이 고정된 시나리오 테스트에서 오푸스 5 자동 모드의 프롬프트 인젝션(prompt injection, 입력값에 악성 명령을 숨겨 AI를 조작하는 공격) 성공률이 0%라고 밝힌 것과 뚜렷이 대비된다. 사이먼 윌리슨(Simon Willison)도 자신의 블로그에서 이 실험을 소개하며 “공격자의 표적이 될 위험이 있는 한 에이전트를 안전하게 실행하는 유일한 방법은 샌드박스(sandbox, 외부와 분리된 격리 실행 환경)”라고 평가했다.

웹사이트 요약 요청에서 시작된 침투 경로

공격은 평범한 지시로 시작됐다. 웹사이트를 요약해달라는 요청이었다. 공격자가 통제하는 웹사이트는 노트북 기록 아카이브를 표방했다. 클로드가 자체 웹 조회 도구로 접근하자 서버는 HTTP 415 오류를 반환했다.

클로드는 대신 셸 명령으로 curl을 실행해 사이트를 직접 가져왔다. 이 요청은 ZIP 압축파일로 리다이렉트됐고, 그 안에는 카탈로그 파일, 인코딩된 기록, 디코더 바이너리, struct.py라는 이름의 악성 파이썬 파일이 들어 있었다.

클로드는 포함된 네이티브 디코더 바이너리를 직접 실행하는 것은 거부했다. 안전한 판단이었지만, 이 선택이 다음 단계 공격의 발판이 됐다. 클로드는 대신 자체적으로 파이썬 디코더를 작성해 base64, zlib, json 같은 표준 모듈을 불러왔다. 문제는 이 코드를 압축 해제된 ZIP 디렉터리 내부에서 실행했다는 점이다. 파이썬은 모듈을 불러올 때 현재 디렉터리를 먼저 검색하는데, 공격자가 심어둔 struct.py가 파이썬 표준 라이브러리의 실제 struct 모듈을 가로챘다. 클로드가 base64를 불러오는 과정에서 결국 이 가짜 struct.py가 실행되며 악성 코드가 함께 구동됐다. 디코더 자체는 정상적으로 작동해 클로드는 유효하게 해독된 기록을 받았고, 숨겨진 페이로드가 이미 실행됐다는 사실을 즉시 인지하지 못했다.

실증 공격에서는 오염된 파이썬 모듈이 별도의 격리된 파이썬 프로세스를 띄웠다. 이 프로세스는 후속 페이로드를 내려받아 실행하고 명령제어(C2, command-and-control) 콜백을 생성했다. 계산기(Calculator) 앱을 여는 것으로 침해 사실을 시각적으로 드러냈다. 연구자는 악성 모듈이 클로드 코드를 헤드리스(headless, 화면 출력 없이 백그라운드로 실행) 모드로 재실행하는 두 번째 방식도 시험했다. 이렇게 실행된 하위 에이전트는 기초적인 시스템 정찰을 수행하고 계산기를 열었으며 원래 작업 공간 밖에 파일을 기록했다.

안전장치가 스스로 화를 자초한 순간 / AI 생성 이미지
안전장치가 스스로 화를 자초한 순간 / AI 생성 이미지

안전장치가 스스로 화를 자초한 순간

더 우려스러운 대목은 자동 모드의 안전 분류기(safety classifier, 명령의 위험도를 자동 판단하는 시스템)가 방어를 오히려 방해한 경우다. 윌리슨은 “일부 실행에서 클로드는 침해를 인지한 뒤 악성 프로세스를 종료하려 시도했지만, 자동 모드가 그 정리(cleanup) 명령을 거부했다”고 전했다. 분류기가 악성 프로세스의 생성은 허용하면서, 그 프로세스를 멈추려는 명령은 차단한 것이다.

Embrace The Red는 이 현상을 두고 자동 모드를 보안 경계선으로 취급해서는 안 된다고 결론지었다. 분류기는 짧은 명령 하나를 놓고 위험 여부를 판단하지만, 압축파일이나 로컬 임포트 경로, 하위 프로세스, 네트워크 요청 속에 숨은 위험까지는 파악하지 못할 수 있다는 것이다.

60~80% 성공률, 앤트로픽의 기존 주장과 배치

실험은 소규모 샘플을 대상으로 진행됐다. 파이썬 기반 공격 체인은 5회 중 3회(60%) 성공했다. 클로드 코드를 재귀적으로 실행하는 방식도 5회 중 3회(60%) 성공했다. 작업 공간 밖에 파일을 기록하는 방식은 5회 중 4회(80%)까지 성공률이 올라갔다.

이 결과는 앤트로픽이 앞서 고정된 시나리오 테스트에서 오푸스 5 자동 모드의 프롬프트 인젝션 성공률을 0%라고 밝힌 것과 뚜렷이 대비된다. 자동 모드는 모든 명령마다 사용자 승인을 요구하는 대신 안전 분류기로 도구 호출을 검토해 승인 피로(approval fatigue)를 줄이는 기능이다. 앤트로픽은 이 기능이 승인 절차를 완전히 생략하는 것보다는 안전하다고 설명하면서도, 샌드박스나 운영체제 수준의 보안 통제를 대체하는 장치는 아니라고 선을 그어왔다.

전문가 권고와 업계 파급

Embrace The Red는 자율 코딩 에이전트를 컨테이너, 가상머신, 전용 테스트 시스템 등 격리된 환경에서 구동해야 한다고 권고했다. 네트워크 접근을 제한하고 민감한 인증정보 접근을 차단하며, 프로세스를 모니터링하고 신뢰할 수 없는 디렉터리에서의 코드 실행을 막아야 한다는 것이다. 윌리슨도 “공격자의 표적이 될 위험이 있는 한 에이전트를 안전하게 실행하는 유일한 방법은 샌드박스”라고 재차 강조했다.

AI 에이전트가 사용자 대신 웹을 탐색하고 코드를 실행하는 권한을 넓혀가는 가운데, 이런 자율성이 새로운 공격 표면이 되고 있다는 우려는 이번이 처음은 아니다. 앞서 보안업체가 진행한 별도 실험에서는 다른 AI 에이전트가 가상 예약 시스템의 접근 제한을 반복적으로 우회한 사례도 확인됐다. 자동 모드는 승인 피로를 줄여주는 장점이 있지만, 신뢰할 수 없는 웹사이트나 압축파일, 저장소를 다룰 때는 여전히 샌드박스와 모니터링이 필수적이라는 지적이 나온다.