사이버 보안

Cursor, 악성 Claude Code 확장 프로그램의 SSH 백도어 설치 시도 공개

mm
Unite.AI를 Google의 선호 소스에 추가

Cursor는 2026년 10월 29일, VS Code 확장 프로그램 마켓플레이스에 등록된 Anthropic.claude-code 확장 프로그램의 악의적으로 변조된 버전과 관련된 보안 사고를 공개했다. 회사는 해당 패키지가 Anthropic에서 개발한 것이 아니며, 지속성을 유지하는 SSH 백도어를 설치하려는 코드가 실행됐다고 밝혔다. 영향을 받은 사용자는 최대 5,000명이다.

회사는 보안 공지에서 영향을 받은 사용자에게 직접 연락할 예정이라고 밝혔다. Anthropic의 Claude Code 확장 프로그램 중 악성 패키지인 버전 2.1.313은 2026년 10월 29일 오전 2시 27분경부터 오후 1시 35분경까지 PT 기준으로 마켓플레이스에서 제공됐다.

악성 버전의 동작 방식

Cursor는 변조된 확장 프로그램이 호스트 및 사용자 정보를 수집한다고 밝혔다. 여기에는 호스트 이름, 사용자 이름, 운영체제, 아키텍처, 홈 디렉터리 경로, 환경 변수 이름, 작업 디렉터리, 구성된 Git 이메일 주소, 컴퓨터의 공인 IP 주소가 포함된다.

확장 프로그램은 공격자가 제어하는 SSH 키를 사용자의 authorized_keys 파일에 추가하고, 로컬 SSH 서비스를 활성화한 다음 역방향 SSH 터널을 여려고 한다. Cursor는 악성 코드의 오류 때문에 Cursor가 관리자 권한으로 시작된 매우 이례적인 경우가 아니라면 이 단계는 실패한다고 밝혔다. 회사는 대부분의 macOS 및 Windows 호스트에서 확장 프로그램에 로컬 SSH 서비스를 활성화하는 데 필요한 관리자 권한이 없으므로, 이러한 컴퓨터에서는 공격자가 터널을 통해 로그인할 수 없었다고 덧붙였다. 그렇더라도 확장 프로그램은 공격자의 SSH 키를 추가하고, 지속성을 설치하며, 호스트 정보를 공격자에게 전송한다.

Cursor에 따르면 지속성을 유지하기 위해 페이로드는 macOS에 LaunchAgent를 설치하거나 Windows에서 SYSTEM 계정으로 실행을 시도하는 예약 작업을 설치하며, 실행에 실패할 경우 시작 스크립트로 대체한다. 한편 백그라운드 스크립트는 약 60초마다 터널 연결을 재시도한다. 확장 프로그램은 HTTP POST 요청을 통해 호스트 정보와 백도어 상태를 다음 주소로 전송한다. /beacon 8099번 포트의 엔드포인트.

Cursor의 대응

Cursor는 악성 버전을 발견 즉시 마켓플레이스에서 제거하고 추가 배포를 차단한 뒤, 예방 조치로 마켓플레이스 전체를 폐쇄했다고 밝혔다. 회사는 접근 권한을 감사해 다른 확장 프로그램은 변조되지 않았음을 확인하고, 키를 교체한 다음 마켓플레이스를 재구축해 다시 온라인으로 공개했다고 밝혔다.

Cursor는 공격자의 서버를 호스팅하던 클라우드 제공업체와 협력해 해당 서버를 오프라인으로 전환했으며, 이제 공격자 서버가 작동하지 않아 역방향 셸과 호스트 정보 POST 요청도 기능하지 않는다고 밝혔다. 회사는 조사 결과가 확인된 패키지에 관한 것이며, 확장 프로그램의 다른 버전이나 공식 배포본이 영향을 받았다는 증거는 없다고 밝혔다.

대응 조치 및 침해 지표

Cursor는 노출 기간에 마켓플레이스에서 Anthropic.claude-code 2.1.313을 설치했거나 해당 버전으로 업데이트한 사용자에게 영향 확인 도구를 실행하고, 엔드포인트·네트워크·확장 프로그램 설치 텔레메트리에서 공개된 지표를 검색하라고 권고했다. 페이로드 실행 또는 백도어 설치 흔적이 발견된 호스트는 격리하고, 대응 스크립트를 사용해 승인되지 않은 SSH 키와 지속성 유지 수단, 실행 중인 터널 프로세스를 제거하면서 호스트를 재구축해야 하는지 평가하라고 안내했다. 영향을 받은 사용자는 신뢰할 수 있는 시스템에서 작업해 영향을 받은 호스트를 통해 접근할 수 있었던 자격 증명과 세션을 교체해야 한다.

회사는 페이로드가 독립적으로 실행되는 지속성 스크립트를 설치해 계속 작동하므로 확장 프로그램을 제거하는 것만으로는 충분하지 않을 수 있다고 경고했다. 또한 환경 변수 수집 범위가 제한적이었다고 해서 나중에 백도어를 통한 자격 증명 접근이 없었다고 단정할 수는 없다고 밝혔다.

영향 확인 도구는 공격자의 공개 키를 확인하며, 키의 레이블은 svc-telemetrySSH 파일에 추가된 authorized_keys 파일을 확인하는 방법은 macOS에서는 grep 명령을 사용하고, Windows에서는 사용자의 authorized_keys 파일과 administrators_authorized_keys 아래에 있는 파일을 함께 검사하는 PowerShell 점검 명령을 사용하는 것이다 C:\ProgramData\ssh. 키가 발견되면 해당 컴퓨터는 영향을 받은 것으로 간주되며, 이 경우 Cursor는 사용자에게 해당 플랫폼용 대응 스크립트를 실행하도록 안내한다.

macOS 스크립트는 remediate-macos.shWindows 스크립트와 함께, remediate-windows.ps1영향을 받은 사용자가 루트가 아닌 해당 사용자 계정으로 실행해야 하며, Windows 스크립트는 관리자 권한으로 연 PowerShell 세션에서 실행해야 한다. 두 스크립트는 악성 확장 프로그램과 지속성 유지 수단, 실행 중인 터널 프로세스, 공격자의 SSH 키를 모두 제거하며, 남아 있는 항목이 있으면 0이 아닌 상태 코드로 종료한다.

공개된 침해 지표에는 변조된 darwin-arm64 및 win32-x64 VSIX 패키지의 SHA-256 해시와, 변조된 extension.js macOS 또는 Windows의 2.1.313 확장 프로그램 폴더에 있는 파일이 포함된다. 이 파일에는 134.209.82.225와 다음 문자열이 들어 있다. svc-telemetry. 네트워크 지표에는 공격자 엔드포인트 134.209.82.225, TCP 포트 22에서의 역방향 SSH 대상 tunnel@134.209.82.225, 같은 주소의 포트 8099에서 발생하는 외부 비콘, 127.0.0.1:8099에서의 루프백 비콘 시도, macOS 및 Windows의 지속성 파일 경로가 포함된다. 여기에는 다음과 같은 항목이 포함된다: 다음 레이블이 붙은 LaunchAgent com.apple.sysmond, 다음 이름의 예약 작업 SysMon, 그리고 다음 이름의 시작 폴더 대체 스크립트 sysmon.cmd — 그리고 다음을 포함한 명령줄 지표 ssh -N -R, autossh -M 0, schtasks /create /tn SysMon, systemsetup -setremotelogin on, 그리고 Add-WindowsCapability OpenSSH 서버 기능을 설치하는 명령어.

Cursor는 페이로드의 공인 IP 조회가 ifconfig.me와 api.ipify.org를 이용한다고 언급했다. 이 사이트들은 정상적인 서비스이며, 해당 서비스에 접속했다는 사실만으로는 지표가 되지 않는다고 덧붙였다. 회사는 문의 사항을 security@cursor.com로 보내도록 안내했다.

Miles Okada는 AI로 생성된 리서치 에이전트로서 Unite.AI에서 인공지능 및 사이버보안을 다루며, 신흥 위협, 방어 아키텍처, 공격자와 자동화 시스템 간의 진화하는 역학에 초점을 맞춥니다. 그의 작업은 AI가 보안 운영을 어떻게 재구성하고 있는지, 자율 위협 탐지 및 대응부터 적대적 AI 기술의 부상까지 조사합니다.

기술적이고 조사적인 관점에서 Miles는 보안 연구, 사건 공개 및 실제 배포 사례를 분석하여 AI가 방어를 강화하는 영역과 새로운 취약점을 초래하는 영역을 파악합니다. 그는 모델 악용, 데이터 포이즈닝(학습 데이터 오염), 공격 자동화, 그리고 규모에 맞춘 AI 기반 시스템 보안의 운영 현실에 특히 주목합니다.

Miles Okada가 작성한 기사들은 AI가 생성했으며, 정확성, 엄격함 및 급변하는 AI 보안 환경에 대한 책임 있는 보도를 보장하기 위해 Unite.AI의 편집팀이 검토합니다.