📰 해외 사례
보안 회사 Phorion이 AI 코딩용 에디터인 Cursor의 마켓플레이스에서 배포되던 확장 기능 "Claude Code for VS Code"에 공격자가 사용자의 PC로 원격 로그인할 수 있는 백도어(backdoor)가 심어져 있었다고 보고했습니다. 대상 버전은 2.1.312와 2.1.313입니다. Cursor 측에서는 이미 해당 버전을 철회했습니다. 만약 설치했다면, 단순히 확장 기능을 제거하는 것만으로는 충분하지 않습니다. 심어진 설정을 정리하고, 해당 PC에서 사용했던 인증 정보를 교체해야 합니다.
이 확장 기능은 에디터와 동일한 권한으로 작동합니다. 로드되는 순간 파일이나 소스 코드에 접근할 수 있으며, 일반적인 실행보다 먼저 동작하기 때문에 사용자의 조작이 필요하지 않습니다. 심어진 처리 과정은 세 가지입니다.
- 공격자의 키를 PC의 SSH 설정(원격 로그인을 허용하는 키 목록)에 추가합니다.
- 공격자의 서버로 향하는 외부 연결(터널, tunnel)을 구축하여 그 경로를 통해 로그인할 수 있게 합니다.
- 재부팅해도 지속되도록 자동 실행 설정을 넣습니다. macOS에서는 "com.apple"로 시작하는 가짜 이름을 사용합니다.
PC의 이름과 환경 변수 중 KEY, TOKEN, SECRET 등 값을 포함하는 이름(값 자체는 제외)도 공격자에게 단 한 번 전송됩니다. 이는 어떤 기기를 노릴 가치가 있는지 선택하기 위한 정보로 보입니다. OS별 세부 사항은 다르지만, macOS, Linux, Windows 어느 쪽이든 동일한 유형의 백도어입니다.
macOS에서는 SSH를 활성화하려는 과정에 결함이 있어, 원래 SSH를 사용하지 않던 Mac에는 설치할 수 없는 경우가 있습니다. 하지만 이미 활성화된 기기나 나중에 활성화된 기기에서는 백도어가 대기하고 있습니다. 기사는 이를 방어 목적으로 의존해서는 안 된다고 경고합니다.
- 작동 중인 SSH 터널을 중지시킵니다.
- 자동 실행 설정과 숨겨진 스크립트를 삭제합니다.
- SSH 설정에 추가된 키(주석은 "svc-telemetry")를 삭제합니다.
- 해당 기기에서 사용했던 인증 정보를 교체합니다.
해당 버전을 사용했던 조직에는 인시던트 대응을 시작할 것을 권고하고 있습니다. 이 기사는 10월 30일 최초 공개 이후, 배포처가 Cursor였음과 대상 버전 추가에 대한 정정 내용을 담고 있습니다.
확장 기능은 Google Chrome에서도 그렇듯이, 설치했을 때는 편리하고 사용하기 좋았지만 악성코드에 가까운 동작으로 업데이트되는 위험한 사례들이 꽤 많습니다. 제작자에게 악의가 없었더라도, 유명해진 후에 인수되었는데 인수한 회사가 악의적인 기업이었던 패턴도 있습니다.
예를 들어 Amazon 링크를 임의로 자신의 제휴(affiliate) 링크로 변경하는 식입니다... 대부분의 사용자에게는 실질적인 피해가 없고 그저 불쾌하고 화나게 할 뿐이지만, 도덕적으로 문제가 있으며 짜증납니다. 직접 제휴 마케팅을 하는 사람이라면 실질적인 피해도 발생합니다.
이번처럼 환경 변수를 외부로 전송하는 수법은 제휴 링크 변경과는 비교할 수 없을 정도로 심각하며, API 키(API key) 유출로 이어져 엄청난 불이익을 초래할 수 있습니다. 유해성으로 따지자면 컴퓨터 바이러스와 다를 바 없거나 그 이상입니다.
어떻게 대책을 세울지는 어려운 문제입니다. AI에게 주기적으로 PC 내부를 점검하게 하는 것은 효과적일 수 있으나, 그 토큰(token)을 계속 부담하는 것이 비용 대비 성능이 맞는지에 대해서는 상당히 의문입니다. 엄청난 양의 토큰을 사용할 것이기 때문입니다. 일반 사용자들을 포함하여 어떻게 방어해 나갈지는 중요한 주제입니다. 어렵습니다.