Inside a malicious Claude Code-branded extension and its persistent SSH backdoor | Microsoft Security Blog
마이크로소프트, Cursor의 Claude Code 변조 확장 SSH 백도어 경로 분석
마이크로소프트는 Cursor 마켓플레이스의 Claude Code 변조 확장이 SSH 공개 키를 심고 별도 키로 역방향 터널을 시도하는 구조를 분석했습니다. 환경변수는 이름만 전송하도록 작성됐으며 Microsoft Visual Studio Marketplace와 npm 배포본은 사고 범위에 포함되지 않았다고 밝혔습니다.
- 주제
본문
마이크로소프트 위협 인텔리전스는 Cursor 확장 마켓플레이스에서 유통된 Claude Code 변조본 2.1.312과 2.1.313의 악성 코드를 분석했습니다. Cursor에 따르면 해당 버전은 2026년 10월 29일 오전 2시27분부터 오후 1시35분까지 태평양 일광시간(PDT) 기준으로 마켓플레이스에 올라와 있었습니다. 마이크로소프트는 같은 패키지가 Microsoft Visual Studio Marketplace와 npm에서는 배포되지 않았으며, Anthropic도 자사 시스템이 침해되지 않았고 해당 패키지를 개발하지 않았다고 확인했다고 밝혔습니다. 현재 근거는 사고가 Cursor 마켓플레이스에 한정됐음을 가리킵니다.
확장이 로드되면 주입된 자바스크립트가 정상 초기화 코드보다 먼저 실행됩니다. 로더는 호스트 이름과 사용자 이름, 운영체제, 아키텍처, 홈·작업 디렉터리, 전역 Git 이메일을 수집합니다. KEY, TOKEN, SECRET, PASS, AWS, GCP 같은 문자열이 들어간 환경변수 이름도 최대 40개까지 찾지만, 지연 전송을 시도하는 대상은 변수 이름이며 저장된 값은 포함되지 않습니다.
로더는 사용자 계정의 SSH 허용 키 파일(authorized_keys)에 svc-telemetry라는 표시가 붙은 공개 키를 추가하려 합니다. 이 키와 별도로, 감염된 기기는 터널 서버에 접속할 때 사용할 개인 키를 이용해 외부로 SSH 연결을 시도합니다. 연결 명령은 서버가 포트를 할당하도록 요청하고, 그 포트를 기기의 로컬 SSH 22번 포트로 전달하도록 구성됩니다. 실제 원격 접근은 기기의 권한과 SSH 설정, 터널 서버 설정에 달려 있습니다. Cursor는 관리자 권한 요구와 오류 때문에 대부분의 macOS·Windows 기기에서 SSH 접근이 막혔다고 설명했습니다. 터널 연결이 실패해도 로더는 키와 지속 실행 구성을 기록하고 호스트 정보 전송을 시도할 수 있습니다.
재시작 뒤에도 연결을 시도하도록 로더는 확장 설치 폴더 바깥에 운영체제별 시작 구성을 만들려 합니다. 분석된 코드에는 macOS 사용자 LaunchAgent, Linux 사용자 cron 작업, Windows 예약 작업과 시작 폴더 배치 파일이 포함됩니다. 이런 파일이 발견됐다는 사실만으로 시작 구성이 실제로 실행됐다고 단정할 수는 없으며, 확장을 업데이트하거나 삭제해도 별도 위치에 기록된 구성요소는 남을 수 있습니다.
자료: Microsoft Security Blog / 정리·해설: Trawling