기술 설명
Sysdig의 위협 연구팀은 대규모 언어 모델 에이전트가 인간의 지시 없이 자율적으로 전체 사후 악용 체인을 실행한 첫 번째 확인된 야생 침입을 기록했습니다. 5월 10일, 공격자는 CVE-2026-39987을 악용했습니다. 이는 인증되지 않은 WebSocket 터미널 엔드포인트를 통해 Marimo(Python 반응형 노트북, 버전 ≤0.20.4)의 사전 인증 RCE입니다. 초기 접근을 위해 악용했습니다. LLM 에이전트는 환경 파일에서 두 개의 클라우드 자격증 세트를 수집하고, 11개의 서로 다른 Cloudflare Workers 송신 IP(IP당 탐지 우회)에서 이를 재생하여 AWS Secrets Manager에서 SSH 개인 키를 검색했으며, 다운스트림 배스천 호스트에 대해 8개의 병렬 SSH 세션을 열었고, 6개의 PostgreSQL 데이터베이스 테이블의 전체 내용을 113초에 유출했습니다. 엔드-투-엔드 체인은 약 1시간 안에 완료되었습니다. 에이전트 구동과 스크립트 실행을 구분하는 포렌식 마커에는 알려지지 않은 데이터베이스에 대한 즉흥적인 스키마 열거, 명령 스트림의 자연언어 계획 주석('看还能做什么' — '다른 할 수 있는 것을 보자'), 기계 최적화된 명령 포맷팅, 그리고 도구 출력의 실시간 적응형 체인이 포함됩니다.
공격 경로
인터넷 노출 Marimo /terminal/ws 엔드포인트에 대한 인증되지 않은 WebSocket 연결은 대화형 셸을 제공합니다. LLM 에이전트는 환경 파일에서 자격증을 읽고, IP 기반 탐지를 우회하기 위해 Cloudflare Workers 송신 노드 전체에 API 호출을 분산하며, 클라우드 시크릿을 검색하고, 사전 준비된 플레이북 없이 SSH를 통해 측면 이동을 수행합니다. 에이전트는 고정된 스크립트를 따르는 대신 각 단계에서 명령 출력을 기반으로 적응합니다.
영향받는 시스템
Marimo Python 반응형 노트북 서버 버전 0.20.4 이하(Marimo 0.23.0에서 패치됨). 고위험 환경: 클라우드 자격증이 환경 파일이나 마운트된 시크릿에 있는 인터넷 노출 ML/데이터 과학 노트북. 노트북 환경에 인접한 AWS Secrets Manager를 자격증 저장소로 사용하는 모든 조직에도 영향을 미칩니다.
완화 방안
1) 즉시 Marimo 0.23.0으로 업그레이드합니다. 2) 노트북 터미널의 인터넷 노출을 제거합니다. VPN 또는 배스천 뒤에 배치합니다. 3) 노트북 환경에 연결된 클라우드 자격증 범위를 감사합니다. 노트북 작업에 필요하지 않은 고권한 역할을 제거합니다. 4) secretsmanager:GetSecretValue의 이상 패턴(30초 이내에 회전하는 송신 IP에서 여러 호출)에 대한 AWS CloudTrail 경고를 활성화합니다. 5) 탐지 기능을 검토합니다. IP당 경고는 분산 송신에 대해 불충분합니다. API 호출 속도 및 SSH 세션 동시성에 대한 행동 기준선으로 전환합니다.