Cursor 마켓플레이스에 올라온 Claude Code 확장이 변조된 사실이 드러났어요. 악성 2.1.313은 약 12시간 노출됐고 최대 5,000명이 영향권이에요. Anthropic 시스템은 침해되지 않았지만 진입 경로는 아직 미확인이에요.
개발자라면 한 번쯤 소름 돋을 소식이에요. 🔐 10월 29일, Anthropic 공식 확장 ID로 올라온 Claude Code 확장 2.1.313이 알고 보니 변조본이었고, The Hacker News 보도에 따르면 현지시간 29일 새벽 2시 27분쯤부터 오후 1시 35분쯤까지 약 12시간 동안 Cursor 마켓플레이스에서 내려받을 수 있었어요.
영향은 Cursor 마켓플레이스에 한정됐어요. Open VSX나 Microsoft VS Code 마켓플레이스, npm에서는 확인되지 않았고, 자동 업데이트를 켜둔 사용자가 위험했다고 해요. Cursor는 마켓플레이스를 일시 중단했다가 키를 교체하고 다시 구축했고, 악성 서버도 내려갔어요. 정상 버전은 2.1.314예요.
페이로드는 생각보다 노골적이에요. 확장이 활성화되면 66줄짜리 로더가 돌면서 공격자의 SSH 키를 authorized_keys에 심고, 외부 서버로 리버스 터널을 열고, 작업 스케줄러나 crontab, LaunchAgent로 persistence까지 만들어요. 📊
호스트 이름, 사용자명, OS, 공인 IP, Git 이메일 같은 정보를 암호화 없는 HTTP로 보내기도 했어요. 시크릿 관련 환경변수는 값이 아니라 이름만 최대 40개를 가져갔다고 해요. 추가 페이로드가 관측되진 않았지만, 문이 열려 있었다는 사실은 그대로예요. ⚠️
권고 사항도 중요해요. 영향받은 호스트를 격리하고 증거를 보존한 뒤, 무단 SSH 키와 터널, 스크립트, 시작 항목을 직접 지워야 해요. Microsoft 설명대로 확장을 삭제해도 설치 폴더 밖에 남은 흔적은 사라지지 않거든요. 자격 증명 교체와 세션 폐기도 같이 해야 해요.
솔직히 제일 찜찜한 건 공격자가 Cursor 마켓플레이스에 어떻게 들어갔는지 아직 설명이 없다는 점이에요. Anthropic은 자사 시스템과 직원 노트북은 안전하다고 했지만, 사용자 입장에서는 "공식 ID"만 믿고 자동 업데이트를 켜두는 습관이 얼마나 위험한지 다시 확인한 셈이죠. AI 코딩 도구가 홈 디렉터리와 비밀키 가까이에서 돌수록 이런 공급망 공격의 값어치는 더 커질 거예요. 🛡