보안 공지 — Cursor 확장 프로그램 마켓플레이스에서 Anthropic.claude-code 악성 버전(2.1.313) 확인
오늘 Cursor VS Code 확장 프로그램 마켓플레이스에 등록된 특정 확장 프로그램 패키지인 Anthropic.claude-code 버전 2.1.313과 관련된 보안 사고를 확인했습니다. 이 악성 버전은 Anthropic이 개발한 것이 아닙니다. 영향을 받은 사용자는 최대 5,000명이며, 해당 사용자분들께는 직접 연락드릴 예정입니다.
발생 경위
오늘 태평양 시간 기준 오전 2시 27분경부터 오후 1시 35분경까지, Anthropic의 Claude Code 확장 프로그램을 악의적으로 변조한 버전이 Cursor VS Code 확장 프로그램 마켓플레이스에 게시되어 있었습니다. 이 확장 프로그램은 지속적인 SSH 백도어를 설치하려는 악성 코드를 실행합니다. 구체적인 동작은 다음과 같습니다.
- 호스트 및 사용자 정보 수집: 호스트 이름, 사용자 이름, OS, 아키텍처, 홈 디렉터리 경로, 환경 변수 이름, 작업 디렉터리, 구성된 Git 이메일, 공개 IP를 수집합니다.
- 공격자가 제어하는 SSH 키를
authorized_keys에 추가하고, 로컬 SSH 서비스를 활성화한 뒤 리버스 SSH 터널을 열려고 시도합니다. 다만 악성 코드 자체의 오류 때문에, Cursor를 관리자 권한으로 시작한 극히 드문 경우가 아니라면 이 단계는 실패합니다. - LaunchAgent(macOS)나 예약 작업(Windows)을 이용해 리버스 SSH 터널을 지속시키려고 시도합니다. Windows에서는 예약 작업을 SYSTEM 권한으로 실행하려 하며, 실패하면 시작 프로그램 스크립트를 폴백으로 사용합니다. 백그라운드 스크립트는 약 60초마다 터널 연결을 재시도합니다.
- 포트 8099의
/beacon으로 HTTP POST 요청을 보내 호스트 정보와 백도어 상태를 보고합니다.
참고: 공격자 서버는 현재 작동하지 않습니다.
- 해당 서버를 호스팅하던 클라우드 제공업체와 협력해 서버를 오프라인으로 전환했으므로, 리버스 셸과 호스트 정보 POST 전송은 더 이상 작동하지 않습니다.
- 이번 발견 사항은 확인된 패키지에만 해당합니다. 해당 확장 프로그램의 다른 버전이나 공식 배포판이 영향을 받았다는 증거는 없습니다.
- 또한 로컬 SSH 서비스를 켜려면 관리자 권한이 필요한데, 대부분의 macOS 및 Windows 호스트에서는 악성 확장 프로그램에 이 권한이 없습니다. 이런 호스트에서는 해당 단계가 실패하므로 공격자가 터널을 통해 로그인할 수 없었습니다. 하지만 확장 프로그램은 그와 별개로 공격자의 SSH 키를 추가하고, 지속성 메커니즘을 설치하며, 호스트 정보를 공격자에게 전송합니다. 따라서 이와 관계없이 아래 시정 조치 단계를 반드시 따르세요.
조치 사항
- 악성 버전을 탐지한 즉시 마켓플레이스에서 제거하고 추가 배포를 차단했습니다. 이어서 만일의 사태에 대비해 VSCode 마켓플레이스 운영을 전면 중단했습니다.
- 접근 권한을 감사하여 다른 확장 기능이 변조되지 않았음을 확인했습니다.
- 키를 교체하고 마켓플레이스를 재구축한 뒤 서비스를 다시 재개했습니다
- 호스팅 제공업체와 협력해 악성 서버를 오프라인으로 전환하고, 해당 서버로의 연결을 차단해 공격을 무력화했습니다.
조치 방법
2026년 10월 29일 오전 2시 27분(PT)부터 오후 1시 35분(PT) 사이에 Cursor VS Code 확장 프로그램 마켓플레이스에서 Anthropic.claude-code 2.1.313을 설치했거나 해당 버전으로 업데이트한 경우:
- 아래 확인 절차를 실행하여 영향을 받았는지 검증하세요.
- 엔드포인트, 네트워크, 확장 프로그램 설치 텔레메트리 전반에서 아래 침해 지표를 검색하세요.
- 페이로드 실행 또는 백도어 설치 흔적이 발견된 호스트를 격리하세요.
- 아래 시정 조치 스크립트를 사용하여 승인되지 않은 SSH 키, 지속성 메커니즘, 실행 중인 터널 프로세스를 제거하고, 호스트를 재구축해야 할지 판단하세요. 확장 프로그램을 제거하는 것만으로는 충분하지 않을 수 있습니다. 페이로드가 독립적으로 계속 실행되는 지속성 스크립트를 따로 생성하기 때문입니다.
- 신뢰할 수 있는 시스템에서, 영향받은 호스트에서 접근할 수 있었던 인증 정보와 세션을 교체하세요. 수집된 환경 변수가 제한적이었더라도, 이후 백도어를 통해 인증 정보에 접근했을 가능성은 배제할 수 없습니다.
영향을 받았는지 확인하기
악성 확장 프로그램은 svc-telemetry라는 레이블이 붙은 공격자의 공개 키를 사용자의 SSH 승인된 키(authorized keys)에 추가합니다. 해당 키가 있는지 확인하려면 다음을 따르세요.
macOS에서는 다음을 실행하세요.
grep -qs svc-telemetry ~/.ssh/authorized_keys && echo "svc-telemetry key found" || echo "No key found; machine not impacted"Windows에서는 PowerShell에서 다음을 실행하세요:
$files = "$HOME\.ssh\authorized_keys", "C:\ProgramData\ssh\administrators_authorized_keys" | Where-Object { Test-Path $_ }
if ($files -and (Select-String svc-telemetry $files)) { "svc-telemetry key found" } else { "No key found; machine not impacted" }키가 발견되면 사용자의 머신이 영향을 받은 것입니다. 위의 3~5단계를 따른 후, 아래에서 사용자의 플랫폼에 맞는 시정 조치 스크립트를 실행하세요.
영향을 받은 머신 복구
이 스크립트는 악성 확장 프로그램, 지속성 메커니즘, 실행 중인 터널 프로세스, 공격자의 SSH 키를 제거합니다. 제거되지 않은 항목이 남아 있으면 non-zero 상태로 종료됩니다.
macOS에서는 remediate-macos.sh를 다운로드한 다음, 파일을 저장한 폴더에서 root가 아닌 영향을 받은 사용자 계정으로 실행하세요.
bash remediate-macos.shWindows에서는 remediate-windows.ps1을 다운로드한 후, 관리자 권한으로 실행으로 연 PowerShell에서 파일을 저장한 폴더로 이동해 다음과 같이 실행하세요.
powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1침해 지표
패키지
- 변조된 VSIX SHA-256 (darwin-arm64): 432ccdee3801f99e52b8fe31f69ea9870118e96ea7ef9ecabed1479621b5ab62 (MD5 da5469c4221775e9fe2e413e59ca7fd9)
- 변조된 VSIX SHA-256 (win32-x64): 3de1722901165769893bef57c72594e9a54459faa23f3091b136b79966edd081 (MD5 bd3b71ddf3d0cc3af76249afd2c0eda1)
- 변조된 코드: anthropic.claude-code-2.1.313-darwin-arm64(macOS) 또는 anthropic.claude-code-2.1.313-win32-x64(Windows) 확장 프로그램 폴더의 extension.js에 134[.]209[.]82[.]225 및 svc-telemetry가 포함되어 있음
네트워크
- 공격자 엔드포인트: 134[.]209[.]82[.]225
- 리버스 SSH: tunnel@134[.]209[.]82[.]225, TCP 22
- 외부 비콘: hxxp://134[.]209[.]82[.]225:8099/beacon (HTTP POST)
- 로컬 비콘 시도: 127[.]0[.]0[.]1:8099/beacon (HTTP POST, 루프백)
- ifconfig[.]me / api[.]ipify[.]org를 통한 공개 IP 조회 — 정상적인 서비스이므로 접근 자체만으로는 침해 지표로 볼 수 없음
SSH
- 승인되지 않은 공개 키:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDdvylCEJ/k2TpezcTfedrkHyFSK9IZ3vmP6vhY4Ss0P svc-telemetry - 승인되지 않은 키 지문:
SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk - 리버스 터널 키 지문:
SHA256:KOAU57+ZG6u3MG4WwzPzPX2O5YEe9qdOC1Bl+6MVyDQ - 키 주석:
svc-telemetry
파일 및 지속성 메커니즘
- macOS:
~/.ssh/authorized_keys에 추가된 승인되지 않은 키;~/.config/.smt,~/.config/.smtk;$TMPDIR/.stk_<10 hex>;~/Library/LaunchAgents/com.apple.sysmond.plist(레이블com.apple.sysmond) - Windows:
%USERPROFILE%\.ssh\authorized_keys,%USERPROFILE%\.config\smt.cmd,%USERPROFILE%\.config\smtk,%TEMP%\.stk_<10 hex>; 예약된 작업SysMon(SYSTEM 권한으로 실행 시도); 폴백%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\sysmon.cmd
프로세스 / 명령줄
ssh -N -R '*:0:localhost:22',autossh -M 0- SSH 옵션:
StrictHostKeyChecking=no,UserKnownHostsFile=/dev/null,ServerAliveInterval=30,ServerAliveCountMax=3,ExitOnForwardFailure=yes,IdentitiesOnly=yes schtasks /create /tn SysMonsystemsetup -setremotelogin onAdd-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
추가 질문이 있으면 security@cursor.com으로 문의하세요.