2026년 10월 29일 베이징 시간 17:27부터 다음 날 04:35까지 약 11시간 동안, Cursor 확장 프로그램 마켓의 공식 Claude Code 확장 프로그램이 SSH 백도어가 포함된 악성 빌드로 교체됐어요. 영향을 받은 버전은 2.1.312와 2.1.313이며, 대상 플랫폼은 macOS arm64와 Windows x64예요. Cursor에 따르면 최대 약 5,000명의 사용자가 이를 다운로드하거나 자동 업데이트했어요.
가짜 플러그인이 마켓에 섞여 들어온 사건이 아니에요. 사용자가 설치한 패키지 이름은 공식 제품과 같은 Anthropic.claude-code였고, 화면과 기능도 평소와 같았어요. 그래서 자신이 악성 버전을 설치했다는 사실을 모르는 사용자도 많아요. 이 때문에 확장 프로그램을 삭제하거나 버전을 업그레이드하는 것만으로는 충분하지 않아요. 악성 코드는 이미 SSH 공개 키를 등록하고, 부팅 시 자동 실행되는 지속성 스크립트를 설정했으며, 호스트 정보를 공격자에게 전송했어요. 마무리해야 할 일은 세 가지예요. 키 삭제, 지속성 설정 제거, 자격 증명 교체입니다.
핵심 내용: 이 글은 「무엇이 보이는지 → 무엇을 해야 하는지 → 성공 여부를 어떻게 판단하는지」 순서에 따라 과정을 5단계로 나눠 설명해요. 보안 전문가가 아닌 개발자도 따라 하면 APIYI 키 교체를 포함해 약 30분 만에 직접 점검과 정리를 마칠 수 있어요.

캡션: 악성 배포 시간은 약 11시간이었으며, 2.1.314는 사건 이후 처음 나온 정상 버전이에요.
먼저 진정하세요: Claude Code 확장 프로그램에 악성코드가 삽입된 사건의 전말
먼저 확인된 사실부터 정리해 볼게요. 아래 표의 내용은 모두 Cursor 보안 공지와 Anthropic 직원들의 공개 답변을 바탕으로 했어요.
| 항목 | 사실 |
|---|---|
| 사건 | Cursor 확장 프로그램 마켓의 Anthropic.claude-code가 변조되어 지속적으로 유지되는 SSH 백도어가 삽입됨 |
| 영향받은 버전 | 2.1.312와 2.1.313(Cursor가 10월 30일 공지를 업데이트하면서 2.1.312를 추가함) |
| 플랫폼 | macOS(darwin-arm64), Windows(win32-x64). 코드에는 Linux 분기도 있음 |
| 노출 기간 | 태평양 시간 10/29 02:27–13:35, 베이징 시간으로 10/29 17:27 – 10/30 04:35 |
| 영향 범위 | Cursor에 따르면 최대 5,000명. 이는 노출 추정치이며 감염이 확인된 사용자 수는 아님 |
| 현재 상태 | 악성 버전은 삭제됨. 마켓은 일시 중단 후 재구축과 감사를 거쳐 복구됨. Cursor에 따르면 공격자의 서버는 호스팅 업체가 중단시킴 |
| 안전한 버전 | 2.1.314가 첫 번째 안전한 버전이며, 10월 31일 기준 최신 버전은 2.1.316 |
그림 설명: Cursor 보안 공지 페이지 스크린샷(편집 단계에서 추가 예정).
사건이 처음 알려졌을 때 잘못 전해진 내용도 있었어요. 다음 세 가지를 바로잡을게요.
- 2.1.312도 영향을 받았어요. Cursor는 처음에 2.1.313만 발표했다가 나중에 2.1.312를 추가했어요. 노출 기간에 Cursor 마켓에서 2.1.312를 설치했다면 마찬가지로 확인해야 해요.
- 악성코드가 삽입된 곳은 Cursor Marketplace뿐이에요. 초기에는 Open VSX, Microsoft 마켓, npm도 영향을 받았다는 보도가 있었지만, 이후 정정됐어요. Socket이 레지스트리 변경 기록을 감사한 결과 2.1.313의 게시 또는 삭제 기록을 찾지 못했어요.
- 2.1.313은 Anthropic 공식 채널에서 배포된 적이 없어요. Anthropic 보안 엔지니어 David Dworken에 따르면 이 버전은 Open VSX, VS Code 공식 마켓, Anthropic의 어떤 공식 호스트에도 올라온 적이 없어요. 버전 번호가 혼동되는 것을 막기 위해 다음 공식 버전은 2.1.314로 바로 넘어갔어요.
누가 공격했는지, 어떻게 배포 권한을 얻었는지는 아직 밝혀지지 않았어요. Anthropic의 Felix Rieseberg는 Anthropic 시스템이나 직원 컴퓨터가 침해된 것은 아니며, 누군가 Cursor 마켓 접근 권한을 이용해 변조된 버전을 배포했다고 밝혔어요. 반면 Cursor 공지에는 공격자가 어떻게 배포 권한을 얻었는지 설명되어 있지 않아요. Cursor는 앞서 10월에 Marketplace 공개 제출을 허용했지만, 이것이 이번 사건과 관련이 있는지 공식적인 설명은 없어요. 이 글에서도 추측하지 않을게요. 개발자라면 원인을 추측하기보다 먼저 자신의 컴퓨터를 확인하는 편이 좋아요.
공식 Claude Code 확장 프로그램도 악성 코드에 감염될 수 있었던 이유
많은 분이 먼저 이렇게 생각할 거예요. “공식 패키지인데 어떻게 악성 코드가 들어갈 수 있지?” 이 질문에 답하려면 먼저 IDE 확장 프로그램이 어떻게 실행되는지 알아야 해요. 확장 프로그램은 IDE와 같은 권한으로 실행되기 때문에 코드와 환경 변수, 사용자 디렉터리의 파일을 읽고 쓸 수 있어요. 로드되는 순간 코드가 실행되므로 대화창을 열거나 확장 프로그램을 직접 사용할 필요도 없어요.
Phorion의 분석에 따르면 악성 코드는 66줄짜리 즉시 실행 함수(IIFE)로, extension.js 파일 맨 앞에 삽입되어 있었어요. 정상적인 확장 프로그램 코드는 그 뒤에 이어졌고요. Node가 확장 모듈을 로드하면 정상적인 activate 콜백보다 먼저 이 코드가 실행됐어요. 변조된 extension.js의 크기는 3,692,922바이트로, 이전 정상 버전보다 약 7KB 컸어요. npm의 postinstall 훅을 사용하지 않았으므로 npm 패키지 오염이 아니라 VSIX 설치 패키지 안의 코드가 직접 수정된 사례예요.
비유하자면 누군가 약국에 가짜 약을 들여놓은 게 아니라, 공식 진열대에 있던 정품 약 한 상자를 다른 약이 섞인 제품으로 바꿔놓은 셈이에요. 이름과 포장, 바코드는 모두 진짜지만 안의 약만 잘못된 거죠. 그래서 이번 사건에서는 ‘공식 게시자인지만 확인하면 된다’는 기존의 판단 기준이 통하지 않았어요.

그림 설명: 백도어 실행 흐름은 총 여섯 단계이며, 확장 프로그램을 제거해도 첫 단계만 멈출 수 있어요.
이번 사건을 둘러싼 흔한 오해는 세 가지예요.
- 「공식 패키지 이름이면 공식 빌드다」: 이번 패키지는 이름과 게시자 모두 공식이었지만, 빌드는 Anthropic이 만든 것이 아니었어요. Open VSX에도 2.1.312 버전이 있는데, 10월 27일에 게시된 정상 버전이에요. 같은 버전 번호라도 출처에 따라 안전성이 달라요.
- 「2.1.313만 문제가 있다」: Cursor 마켓플레이스의 2.1.312도 악성 버전이었어요.
- 「제거하거나 업그레이드하면 괜찮다」: Cursor 공지에 따르면 페이로드가 독립적으로 실행되는 지속성 스크립트를 남기기 때문에 확장 프로그램을 제거하는 것만으로는 부족할 수 있어요.
Claude Code 확장 프로그램 백도어, 5단계로 점검하고 제거하기
아래 5단계를 순서대로 진행하세요. 처음 세 단계는 점검, 네 번째는 제거, 다섯 번째는 마무리예요. 각 단계에서 무엇을 해야 하고, 어떤 상태여야 완료인지 함께 살펴볼게요.

캡션: 5단계 점검 과정에서 마지막 자격 증명 교체는 생략하면 안 돼요.
① 확장 프로그램 버전과 출처 확인. Cursor의 확장 프로그램 패널에서 Claude Code를 검색하고 버전 번호와 게시자를 확인하세요. 그런 다음 터미널에서 ~/.cursor/extensions/ 디렉터리(Windows에서는 %USERPROFILE%\.cursor\extensions\)를 열어 이름에 anthropic.claude-code-2.1.312 또는 2.1.313이 포함된 폴더가 있는지 확인하세요. 현재 버전이 최신이어도 이전 버전 디렉터리가 남아 있다면 해당 기간에 설치했을 가능성이 있어요.
② svc-telemetry 공개키 확인. macOS와 Linux에서는 grep -n svc-telemetry ~/.ssh/authorized_keys를 실행하세요. Windows에서는 %USERPROFILE%\.ssh\authorized_keys와 C:\ProgramData\ssh\administrators_authorized_keys 두 파일을 모두 확인해야 해요. 악성 코드는 파일에 svc-telemetry 문자열이 있는지 확인하므로 주석만 살펴보는 것으로는 충분하지 않아요. ssh-keygen -lf ~/.ssh/authorized_keys를 실행해 모든 공개키 지문을 나열하고 공격자의 지문 SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk과 하나씩 비교하는 것도 권장해요.
③ 지속성 및 터널 프로세스 확인. 운영체제마다 확인할 위치가 달라요.
- macOS:
~/Library/LaunchAgents/com.apple.sysmond.plist,~/.config/.smt,~/.config/.smtk와 임시 디렉터리의.stk_*파일을 확인하세요. 이 LaunchAgent 이름은 Apple 시스템 구성 요소로 위장했지만, 실제로는 사용자 수준 시작 항목이에요. - Windows:
schtasks /query /tn SysMon을 실행해 예약 작업을 확인하세요. 시작 프로그램 폴더의sysmon.cmd와%USERPROFILE%\.config\smt.cmd,%TEMP%\.stk_*도 확인하세요. - Linux:
crontab -l을 실행해@reboot가 포함되어 있고~/.config/.smt를 가리키는 항목을 찾으세요. - 모든 플랫폼:
ssh또는autossh프로세스의 인수에-R '*:0:localhost:22'가 포함되어 있는지 확인하세요.
| 단계 | 할 일 | 완료 기준 |
|---|---|---|
| ① 확장 프로그램 출처 | 확장 프로그램 패널과 ~/.cursor/extensions/ 확인 |
2.1.312 / 2.1.313 디렉터리가 없고, 현재 버전이 2.1.314 이상 |
| ② 공개키 | svc-telemetry를 검색하고 지문 비교 |
두 종류의 authorized_keys에 일치하는 항목이 없음 |
| ③ 지속성 | plist / SysMon / cron / 터널 프로세스 확인 | 해당 파일이 없고, -R 인수가 포함된 ssh 프로세스가 없음 |
| ④ 제거 | Cursor 공식 스크립트 실행 및 업그레이드 | 스크립트가 종료 상태 코드 0으로 종료되고, ①②③을 다시 확인했을 때 일치 항목이 없음 |
| ⑤ 자격 증명 | Git, CI, 클라우드, SSH, API 키 교체 | 기존 자격 증명이 비활성화되고 호출 로그에 이상이 없음 |
④ 감염됐다면 공식 스크립트로 제거하세요. ②나 ③ 중 하나라도 해당하면 Cursor 공지에 따라 조치하세요. macOS 사용자는 cursor.com/static/security/claude-code-extension/remediate-macos.sh를 다운로드한 뒤, 영향을 받은 사용자 계정으로 bash remediate-macos.sh를 실행하세요. root로 실행하면 안 돼요. Windows 사용자는 remediate-windows.ps1을 다운로드하고 PowerShell을 「관리자 권한으로 실행」한 뒤 powershell -ExecutionPolicy Bypass -File .\remediate-windows.ps1을 실행하세요. 스크립트는 Cursor 공식 사이트에서만 다운로드하고, 출처가 불분명한 「원클릭 제거」 도구는 사용하지 마세요. 스크립트는 악성 확장 프로그램, 지속성 유지 메커니즘, 터널 프로세스, 공격자의 공개키를 제거해요. 잔여물이 남아 있으면 0이 아닌 종료 상태를 반환해요. 정리 후에는 확장 프로그램을 2.1.314 이상으로 업데이트하세요. 10월 31일 기준으로 2.1.316을 바로 설치할 수 있어요.
⑤ 인증 정보를 교체하세요. GitHub / GitLab 토큰, CI/CD 토큰, 클라우드 서비스의 Access Key, SSH 개인키, npm / PyPI 토큰, 그리고 이 기기에 설정한 APIYI apiyi.com 키를 교체해야 해요. 교체 작업은 신뢰할 수 있는 다른 기기에서 진행하세요. SSH 로그에서 터널이 실제로 사용된 것으로 확인된다면, Phorion은 호스트 재구축을 권장해요. 항목별로 정리하는 것보다 더 안전해요.
대부분의 기기에서 로그인에 실패했지만, Claude Code 백도어는 확인해야 해요
먼저 그나마 다행인 소식부터 볼게요. Phorion의 분석에 따르면 악성 코드 자체에 버그가 있어, 대부분의 호스트에서 SSH 서비스가 켜지지 않았어요.
macOS에서 스크립트는 일반 사용자 권한으로 systemsetup -getremotelogin을 실행해 「관리자 권한이 필요하다」는 메시지를 받았지만, 종료 코드는 여전히 0이었어요. 스크립트는 출력에 Off가 있는지만 확인했는데, 이 메시지에는 해당 단어가 없었죠. 그래서 원격 로그인이 이미 켜져 있다고 잘못 판단해 SSH 활성화 단계를 건너뛰었어요.
Windows에서는 OpenSSH Server를 설치하는 PowerShell 명령이 /bin/sh로 고정된 보조 함수에 전달됐어요. 일반적인 Windows 환경에는 /bin/sh가 없기 때문에 이 단계는 실패했을 가능성이 높아요. Cursor도 관리자 권한으로 실행하지 않았다면 SSH 서비스를 켜고 터널을 만드는 단계가 실패한다고 밝혔어요. Cursor를 관리자 권한으로 실행하는 경우는 드물고요.
그렇다고 안심할 수는 없어요. 공개키와 지속성 유지 스크립트, 정찰용 비콘은 이미 설치됐기 때문이에요. 비유하자면, 공격자의 자물쇠 해제 도구가 고장 나 많은 문이 열리지 않았지만, 열쇠는 이미 열쇠 구멍에 꽂혀 있고 60초마다 다시 열기를 시도하는 셈이에요.
| 범주 | 지표(IOC, 디팽 처리됨) | 설명 |
|---|---|---|
| 네트워크 | 134[.]209[.]82[.]225:22, 사용자 이름 tunnel |
역방향 SSH 터널 대상 |
| 네트워크 | 134[.]209[.]82[.]225:8099/beacon |
호스트 정보를 전송하는 평문 HTTP 비콘 |
| 공개키 | 주석 svc-telemetry |
authorized_keys에 기록됨 |
| 지문 | SHA256:0Z6R+DF64Do2nwQic8a7kkfDLNNk4IiK+2U2Rci4htk |
공격자 공개키 지문 |
| 터널 개인키 | SHA256:KOAU57+ZG6u3MG4WwzPzPX2O5YEe9qdOC1Bl+6MVyDQ |
임시 디렉터리의 .stk_* 파일에 기록됨 |
| 파일 | extension.js SHA-256이 ecb58cb2로 시작 |
악성 확장 프로그램의 기본 파일. 전체 값은 Cursor 공지 참조 |
그림 설명: 악성 VSIX 해시 표 스크린샷(편집 단계에서 추가 예정).
다음 경우에는 특히 주의해야 해요.
- 원격 로그인이 원래 켜져 있었던 경우. Mac의 「시스템 설정 → 일반 → 공유」에서 원격 로그인을 켰거나, Windows에서
Get-Service sshd실행 결과 서비스가 실행 중이라면 백도어가 작동할 수 있어요. - 서버가 중단됐다고 해서 기기가 안전한 것은 아니에요. 현재 공격자의 서버는 작동하지 않지만, 지속성 유지 스크립트는 계속 연결을 재시도해요. 이를 제거하지 않으면 기기는 여전히 안전하지 않은 상태로 남아요.
- SSH 로그인 로그를 확인하세요. macOS에서는
log show --predicate 'process == "sshd"' --last 7d를 실행하고, Linux에서는/var/log/auth.log를 확인하세요. Windows에서는 이벤트 뷰어의 OpenSSH/Operational 로그를 확인하면 돼요.127.0.0.1또는::1에서svc-telemetry공개키로 인증에 성공한 기록이 있는지 중점적으로 살펴보세요. 한 건이라도 발견되면 「로그인된 상태」로 간주하고 호스트 재구축을 고려하세요.
악성 코드는 호스트 이름, 사용자 이름, 시스템 정보, 작업 디렉터리, Git 전역 이메일, 공인 IP, 최대 40개의 환경 변수 이름도 수집했어요. Phorion의 결론은 분명해요. 버그가 공격자의 로그인 가능성을 낮췄지만, 이를 방어 수단으로 여겨서는 안 돼요.
Claude Code 확장 프로그램이 악성 코드에 오염됐다면 APIYI API 키를 바꿔야 할까요?
네, 바꿔야 해요. 악성 코드는 이름에 KEY, TOKEN, SECRET, PASS, AWS, GCP가 포함된 환경 변수의 이름을 수집했어요. 변수 값을 직접 읽지는 않았지만, 공격자는 이미 해당 기기에 어떤 자격 증명이 있는지 알고 있어요. 터널이 연결되면 공격자가 환경 변수 값과 설정 파일, 셸 기록을 직접 읽을 수 있어요. 따라서 피해 기간에 해당 기기에 2.1.312 또는 2.1.313 버전을 설치했다면, 그 기기에 설정된 APIYI apiyi.com API 키는 ‘노출됐을 가능성이 있다’고 보고 대응해야 해요.
분명히 말씀드리면 APIYI가 침해당한 것은 아니에요. 내 기기에 저장된 API 키가 읽혔을 간접적인 위험이 있다는 뜻이에요. 당황할 필요 없이 API 키를 교체하면 돼요. 방법은 다음과 같아요.
| 단계 | 작업 | 확인 사항 |
|---|---|---|
| 1 | 콘솔의 토큰 페이지 api.apiyi.com/token을 열어요 |
기존 API 키 목록이 보여요 |
| 2 | 오른쪽 위의 ‘추가’를 누르고 Claude Code용 API 키의 그룹으로 ClaudeCode를 선택해요 |
sk-로 시작하는 새 API 키가 생성돼요 |
| 3 | ANTHROPIC_AUTH_TOKEN을 새 API 키로 바꾸고, ANTHROPIC_BASE_URL은 https://api.apiyi.com으로 유지해요 |
~/.claude/settings.json의 env도 함께 수정해요 |
| 4 | 터미널을 다시 열고 Claude Code를 재시작해요 | 대화와 모델 호출이 정상적으로 작동해요 |
| 5 | 토큰 페이지로 돌아가 기존 API 키를 비활성화하거나 삭제해요 | 기존 API 키의 상태가 비활성화돼요 |
| 6 | 호출 로그를 확인해요 | 평소와 다른 모델이나 시간대에 발생한 사용량이 없어요 |
스크립트에서 OpenAI 호환 인터페이스를 사용한다면 코드의 base_url="https://api.apiyi.com/v1"에 연결된 API 키도 함께 바꿔주세요. 교체한 뒤에는 새 API 키로 테스트 요청을 보내 정상 작동하는지 확인하세요. 기존 API 키를 다른 기기나 프로젝트에서도 사용한다면 한 곳만 바꾸지 말고 모두 교체해야 해요.
🎯 권장 방법: APIYI apiyi.com의 토큰 페이지에서는 각 API 키에 잔액 한도와 유효 기간을 설정할 수 있어요. ‘기기마다 별도의 API 키 사용’, ‘개발용과 운영용 분리’ 방식으로 관리하면 다음에 비슷한 문제가 생겨도 해당 API 키 하나만 비활성화하면 돼요.
다시 한번 강조하면, 교체해야 할 것은 APIYI API 키만이 아니에요. GitHub / GitLab 토큰, CI 키, 클라우드 서비스 제공업체의 Access Key, SSH 개인 키, npm / PyPI 토큰도 모두 교체해야 해요. 이 작업은 신뢰할 수 있는 기기에서 진행하세요.
Claude Code 확장 프로그램 악성코드 삽입 관련 자주 묻는 질문 FAQ
Q1: VS Code 공식 마켓플레이스만 사용하는데 영향을 받나요?
현재로서는 영향을 받는다는 증거가 없어요. 확인된 배포처는 Cursor Marketplace뿐이며, Microsoft 마켓플레이스와 Open VSX에는 악성 2.1.313 버전이 없었어요.
Q2: Claude Code CLI만 사용하고 IDE 확장 프로그램은 사용하지 않는데 영향을 받나요?
이번 사건의 영향은 받지 않아요. npm의 CLI 패키지에는 악성코드가 삽입되지 않았고, 영향을 받은 것은 Cursor 마켓플레이스의 확장 프로그램 VSIX뿐이에요.
Q3: Cursor를 사용하지만 Claude Code 확장 프로그램을 설치하지 않았다면 영향을 받나요?
아니요. 악성코드는 해당 확장 프로그램을 불러올 때만 실행돼요. 확실하지 않다면 ②단계에 따라 `svc-telemetry`를 검색해 몇 초 만에 확인할 수 있어요.
Q4: 2.1.314로 업데이트하면 안전한가요?
업데이트는 앞으로의 감염만 막아줘요. 이미 기록된 공개키와 지속성 유지 스크립트, 유출된 정보는 업데이트해도 사라지지 않으므로 ②③④⑤단계에 따라 처리해야 해요.
Q5: 지금 2.1.316을 설치해도 되나요?
네. 10월 31일 기준 2.1.316은 GitHub Releases의 최신 버전이며, 2.1.314와 2.1.316 모두 안전한 버전이에요. 중간에 2.1.315가 없는 것은 정상이에요.
Q6: 운영체제를 다시 설치해야 하나요?
공개키나 지속성 유지 스크립트만 발견됐다면 공식 스크립트를 실행하고 재확인하는 것으로 보통 충분해요. SSH 로그에서 터널 사용이 확인됐다면 Phorion은 호스트 재구축을 권장해요. 공격자가 로그인 후 무엇을 했는지는 샘플만으로 추론할 수 없기 때문이에요.
Q7: 5,000명은 감염이 확인된 인원인가요?
아니요. Cursor가 밝힌 ‘최대 5,000명’은 다운로드와 자동 업데이트를 기준으로 추정한 노출 인원이지, 감염이 확인된 인원이 아니에요. Cursor는 영향을 받은 사용자에게 직접 연락하겠다고 밝혔어요.
Q8: 제 컴퓨터가 원격으로 제어될 수 있나요?
앞서 언급한 버그 때문에 대부분의 macOS 및 Windows 호스트에서는 SSH 서비스가 활성화되지 않았고, 공격자의 서버도 현재 오프라인 상태예요. 하지만 원격 로그인이 원래 켜져 있었다면 실제 위험이 있어요. 로그인 여부는 SSH 로그로 확인하세요.
Q9: APIYI API 키가 유출될 수 있나요?
APIYI 플랫폼 자체가 침해된 것은 아니에요. 다만 로컬 환경 변수를 읽혔을 가능성이 있으므로 api.apiyi.com/token에서 새 API 키를 만들고 설정을 교체한 뒤 기존 키를 비활성화하는 것이 좋아요.
Claude Code 확장 프로그램 오염 사건 핵심 요약
- 영향받는 버전: Cursor 마켓플레이스의 2.1.312와 2.1.313이에요. 다른 공식 배포 채널은 영향을 받지 않았어요.
- 로드만 해도 실행: 확장 프로그램을 사용하지 않아도 로드되는 순간 백도어가 심어져요.
- 세 가지 흔적: authorized_keys에 추가된 공개 키, 지속성을 위한 스크립트, 비컨이 외부로 전송한 정보예요.
- 대부분 무단 로그인 피해는 없었어요: 악성 코드에 버그가 있었기 때문이에요. 그렇다고 점검을 생략할 이유는 되지 않아요.
- 제거 방법: 공식 스크립트를 실행하고 2.1.314 이상으로 업그레이드하세요. 필요하다면 호스트를 재구축하세요.
- 자격 증명 정리: Git, CI, 클라우드, SSH 자격 증명과 APIYI 키를 교체하세요.
참고 자료
- Cursor 보안 공지: 영향받는 버전, 침해 지표(IOC), 제거 스크립트
- 링크:
cursor.com/blog/claude-code-extension-security-notice - Phorion 기술 분석: 악성 코드와 버그 분석
- 링크:
phorion.io/blog/offical-claude-code-vsx-compromise - StepSecurity 분석: 레지스트리와 버전 확인
- 링크:
stepsecurity.io/blog/claude-code-extension-trojanized - Claude Code GitHub Releases: 공식 버전 기록
- 링크:
github.com/anthropics/claude-code/releases
정리
이번 사건의 특이점은 악성 버전이 공식 패키지 이름을 사용했다는 점이에요. 그래서 「공식 게시자인지 확인한다」는 기준만으로는 구분할 수 없었어요. 권장 대응 순서는 다음과 같아요. 먼저 확장 프로그램의 버전과 출처를 확인하고, 공개 키와 지속성 설정을 점검해요. 이상 징후가 발견되면 공식 스크립트를 실행한 뒤, 신뢰할 수 있는 기기에서 자격 증명을 일괄 교체하세요. APIYI 사용자라면 이번 기회에 「기기당 키 하나」를 기준으로 키 그룹, 사용 한도, 유효기간을 정리해 보세요. 설정 방법은 APIYI apiyi.com의 토큰 관리 문서에서 확인할 수 있어요.
작성자: APIYI 기술팀
기술 문의: APIYI 공식 홈페이지에서 문의해 주세요. Claude Code 연동 설정은 docs.apiyi.com 문서 센터에서 확인할 수 있어요.
이번 일은 버전만 바꾼다고 끝나지 않아요. 키, 지속성 설정, 자격 증명까지 정리해야 해요.
