본문으로 건너뛰기

도구·서비스

커서, 클로드 코드 변조판 제거…최대 5천명 영향

편집·검토: AI Ping 편집팀

3줄 요약

  1. 10월 29일 커서 마켓플레이스에서 2.1.313 변조판이 배포됐다.
  2. 확장을 불러오면 실행돼 SSH 백도어 설치를 시도했다.
  3. 별도 파일이 남을 수 있어 확장 삭제와 흔적 정리가 구분된다.
실무개발자
노트북 키보드 위 빨간 틈이 드러난 보라색 확장 모듈 조형물
AI 생성 개념 이미지: 정상 외형 안의 변조를 표현한 노트북과 확장 모듈 장면 · AI Ping

커서가 10월 29일 자사 확장 마켓플레이스에 올라온 클로드 코드 변조판을 제거했다고 밝혔다. 대상은 anthropic.claude-code 2.1.313이며, 회사가 제시한 영향 범위는 최대 5,000명이다. 커서는 이 악성 버전을 앤트로픽이 개발하지 않았다고 설명했다. 배포 창구는 같은 날 미 태평양시간 오전 2시 27분부터 오후 1시 35분까지 열려 있었다.

오픈소스멀웨어는 정상 확장 코드 앞에 66줄의 악성 로더가 붙었으며, 나머지 부분과 포함된 실행 파일은 정상이었다고 분석했다. 스텝시큐리티도 별도 분석에서 확장을 불러오는 단계에서 코드가 실행돼 클로드와 대화할 필요가 없었다고 확인했다.

최초 외부 전송에는 컴퓨터·사용자 이름과 운영체제·CPU 종류, 폴더 위치, Git 이메일, 공인 IP가 담겼다. 오픈소스멀웨어에 따르면 키·접근 증표·비밀번호 등을 가리키는 이름의 환경변수를 최대 40개까지 골랐다. 전송한 것은 변수 이름이며 비밀 값 자체는 직접 넣지 않았다. 이 구분은 최초 전송 내용에 관한 분석이지, 이후 원격 접근으로 가능한 행위를 모두 확정하는 설명은 아니다.

스텝시큐리티는 별도 샌드박스 분석에서 공격자 소유 SSH 키 추가와 역방향 터널, 운영체제별 지속 실행 장치를 확인했다고 밝혔다. SSH는 원격 컴퓨터에 접속하는 통신 방식이다. 공격 코드는 기기 쪽에서 외부로 연결을 만들어 원격 접근을 시도했다. 맥에서는 백그라운드 작업을, 윈도에서는 예약 작업이나 시작 프로그램을 이용하며, 남겨진 스크립트가 약 60초마다 연결을 재시도했다.

오픈소스멀웨어는 로컬 SSH 서비스 활성화에 권한이 필요하며, 실패해도 나머지 동작은 계속된다고 분석했다. 원격 접근의 성립 여부와 키·파일이 남는지는 구분해야 한다. 커서는 대부분의 맥·윈도 기기에서 일반 권한으로는 로그인이 성립하지 않았다고 밝혔다. 회사는 마켓플레이스를 재구축하고 키를 교체했으며 공격 서버도 중단시켰다.

분리된 모듈 옆 컴퓨터 안에 남아 움직이는 시계 장치
AI 생성 개념 이미지: 확장과 별도로 남는 백그라운드 실행을 표현한 컴퓨터 모형 장면 · AI Ping

유통 경로와 정리 범위

소켓은 Open VSX의 공개 변경 이력과 자체 수집 로그에서 2.1.313의 게시·삭제 기록을 찾지 못했다고 밝혔다. 10월 27일부터 30일 오전 5시 35분 UTC까지 검토한 기록에는 앞뒤 버전의 플랫폼 빌드가 남아 있었다. 오픈소스멀웨어는 보고서를 고쳐 문제의 출처를 커서 마켓플레이스로 명시했다.

소켓은 npm의 게시 시각 기록과 공식 깃허브 릴리스에서도 2.1.313을 찾지 못했다. 다만 버전 번호의 누락만으로 사고를 증명할 수 없고, 문제의 실제 파일을 직접 확보해 분석하지도 않았다고 밝혔다. 확인된 커서의 배포 사고를 다른 저장소 전체의 오염으로 확대할 근거는 아직 부족하다.

분리된 네트워크 케이블과 닫힌 노트북 옆 기록 보관 폴더
AI 생성 개념 이미지: 배포 경로와 기기 기록을 따로 조사하는 점검 작업대 장면 · AI Ping

정상 버전 확인과 감염 흔적 정리는 별개의 작업이다. 스텝시큐리티는 Open VSX에서 내려받은 2.1.312와 2.1.314를 대조해 이번 악성 코드의 지표가 없음을 확인했다고 밝혔다. 앤트로픽의 공식 깃허브 릴리스 목록에도 10월 30일자 2.1.314가 공개돼 있다. 새 버전 설치만으로 이미 기기에 남겨진 백그라운드 파일까지 사라진다는 뜻은 아니다.

커서의 맥용 정리 스크립트는 터널과 백그라운드 작업을 중단하고 악성 표식이 든 확장 묶음과 별도 파일을 제거한다. 공격자 키를 지우면서 다른 키와 파일 속성을 유지하며, 같은 줄에 붙은 키도 처리한다. 마지막에 잔여 프로세스·키를 재검사해 미완료 시 오류로 끝낸다. 영향받은 사용자 권한으로 실행하도록 명시돼 있다. 맥용은 루트 계정으로 실행하면 중단한다. 키 파일은 기존 심볼릭 링크를 따라 처리하고 소유자·권한을 보존하도록 작성됐다. 윈도용과 같은 관리자 실행 조건으로 취급할 수 없는 부분이다.

윈도용 스크립트는 관리자 권한을 요구하며 사용자 프로필마다 정리 대상을 확인한다. 확장 폴더 이름의 버전 번호만으로 고르지 않고 코드 안의 악성 표식을 찾는다. 예약 작업과 실행 중인 터널을 중단하고 시작 프로그램·임시 폴더의 잔여 파일, 공격자 키를 정리하는 흐름이다. 파일이 사용 중이라 지워지지 않거나 프로세스가 남으면 경고와 실패 상태를 반환하도록 작성됐다.

출처