Reddit

Claude vs Code Extension compromised

Cursor, Claude Code 악성 확장 2개 버전 제거…기기 내 흔적도 정리 권고

Cursor는 자사 VS Code 확장 마켓플레이스에서 macOS·Windows용 Claude Code 2.1.312와 2.1.313의 악성 수정본을 제공했다고 밝혔습니다. 악성 코드는 SSH 키와 재실행 설정을 남길 수 있어 확장 삭제만으로 기기 내 흔적이 없어지지 않습니다. Cursor는 공격자 서버를 오프라인으로 전환하고, 영향을 받은 기기의 키·지속성 파일 제거와 접근 가능했던 자격 증명·세션 교체를 권고했습니다.

본문

Cursor는 2026년 10월 29일 오전 2시 27분부터 오후 1시 35분(미국 태평양시간)까지 자사 VS Code 확장 마켓플레이스에서 Claude Code 확장 2.1.312와 2.1.313의 악성 수정본을 제공했다고 밝혔습니다. 대상은 macOS와 Windows용 패키지입니다. Cursor는 이 수정본을 Anthropic이 개발하지 않았으며, 다른 버전이나 공식 배포판이 영향을 받았다는 증거를 찾지 못했다고 설명했습니다. 악성 수정본이 마켓플레이스에 올라온 경위는 공지에서 다루지 않았습니다.

Phorion의 분석에 따르면 악성 코드는 확장 파일이 로드될 때 실행돼 사용자 계정의 SSH 인증 키 파일에 공격자 공개키를 추가하고, 호스트 정보를 외부 서버로 전송하도록 설계됐습니다. 또 피해 기기에서 공격자 서버로 역방향 SSH 터널을 열고, macOS에서는 LaunchAgent, Windows에서는 예약 작업이나 시작 스크립트로 재부팅 뒤에도 연결을 다시 시도하도록 구성합니다. 수집 항목에는 환경변수 이름이 포함되지만 값은 포함되지 않습니다. 다만 터널을 통한 후속 접근은 피해 기기의 SSH 서비스 상태와 권한 조건에 달려 있습니다.

macOS에서는 SSH 접속을 준비하는 코드에 결함이 있습니다. 일반 사용자 권한으로 SSH 상태를 조회하면 macOS 도구가 관리자 권한 오류를 출력하는데, 악성 코드는 그 문구를 SSH가 꺼져 있다는 응답으로 인식하지 못해 활성화 명령을 건너뜁니다. 따라서 SSH가 꺼져 있는 일반 사용자 기기에서는 공격자의 터널이 연결돼도 로컬 SSH로 이어지는 접속 경로가 막힙니다. 이미 SSH가 켜져 있거나 다른 조건이 갖춰진 기기에서는 공격자가 키를 이용해 접속을 시도할 수 있습니다. Cursor도 보통의 macOS·Windows 환경에서는 관리자 권한이 필요한 SSH 활성화 단계가 실패한다고 밝혔습니다.

Cursor는 악성 버전을 마켓플레이스에서 제거하고 마켓플레이스를 점검·재구축했으며, 호스팅 업체와 협력해 공격자 서버를 오프라인으로 전환했다고 설명했습니다. 이에 따라 해당 서버를 이용하는 역방향 터널과 호스트 정보 전송은 작동하지 않습니다. 그러나 기기에 이미 추가된 키와 지속성 파일은 서버 차단만으로 제거되지 않습니다. Cursor는 확장 삭제 외에도 악성 SSH 키와 지속성 설정, 실행 중인 터널을 찾아 제거하고 영향을 받은 기기에서 접근할 수 있었던 자격 증명과 세션을 교체하라고 권고했습니다.

Phorion은 분석에서 Linux용 지속성 방식도 설명했지만, Cursor가 이번 사건에서 확인한 마켓플레이스 대상은 macOS와 Windows용 2.1.312·2.1.313입니다. Linux용 악성 패키지가 실제로 배포되거나 실행됐다는 내용은 Cursor 공지에서 확인되지 않습니다.

자료: Phorion, Cursor / 정리·해설: Trawling

참고 자료