Hacker News보안오늘의 주요

Claude Code 확장에서 SSH 백도어 발견

원제 Backdoor in Claude Code for VS Code extension on the Cursor Marketplace

144 포인트댓글 309
Key Point

VS Code 사용자가 신뢰하는 공식 확장에 심어진 백도어로, 개발자 환경의 모든 소스 코드와 자격증명이 노출될 수 있으며 공격자가 영구적 접근 권한을 얻을 수 있기 때문에 즉시 업데이트 상태를 확인하고 환경을 점검해야 한다.

핵심 요약

  • 보안 연구팀 Phorion이 Cursor 마켓플레이스의 Claude Code for VS Code 확장 2.1.313 버전에서 지속적 SSH 백도어를 발견했다.
  • 확장은 Node.js 모듈을 로드할 때 즉시 실행되는 IIFE 형태의 악성 코드를 포함하고 있으며, 사용자가 상호작용할 필요 없이 실행된다.
  • 악성 코드는 Ed25519 공개키를 ~/.ssh/authorized_keys 파일에 추가하고(주석: svc-telemetry), 공격자가 피해자 계정으로 로그인할 수 있게 한다.
  • macOS에서 systemsetup -getremotelogin 명령이 권한 오류를 반환하면 SSH 활성화 시도를 건너뛰는 버그가 있어 일부 환경에서 인바운드 접근이 실패할 수 있다.
  • 확장은 내장된 프라이빗 키(주석: svc-telemetry-tun)로 134.209.82.225의 공격자 서버에 역방향 SSH 터널을 생성하고, -R *:0:localhost:22 원격 포트 포워딩으로 공격자가 피해자 포트 22에 접근하게 한다.
  • macOS는 ~/Library/LaunchAgents/com.apple.sysmond.plist LaunchAgent로 재부팅 후에도 셸 스크립트가 자동 실행되도록 설정하고, Linux는 crontab @reboot 항목을, Windows는 SysMon 스케줄된 작업을 사용한다.
  • 악성 코드는 호스트명, 사용자명, OS, 아키텍처, Git 이메일, 공개 IP, 그리고 KEY|TOKEN|SECRET|PASS|AWS|GCP 패턴의 환경 변수명 최대 40개를 수집한다.
  • 수집한 정보는 JSON 형식으로 134.209.82.225:8099의 /beacon 엔드포인트에 HTTP POST로 전송되며, 이는 피해자 호스트가 준비됐음을 공격자에게 알리는 체크인 역할을 한다.
  • 터널은 60초마다 재연결을 시도하는 분리된 루프로 실행되어 IDE를 닫아도 유지되고, autossh 설치 여부에 따라 자동으로 선택된다.
  • 탐지를 위해서는 IDE 도우미 프로세스가 ~/.ssh/authorized_keys를 수정하는 것, com.apple.* 레이블의 LaunchAgent 생성, ~/.config/.smt 스크립트 실행, 134.209.82.225로의 SSH 연결을 모니터링해야 한다.
  • 감염된 호스트를 발견하면 터널 프로세스 종료, LaunchAgent 제거, SSH 공개키 삭제, 원격 로그인 확인 후 자격증명 로테이션이 필요하다.
  • Cursor는 마켓플레이스에서 해당 릴리스를 제거했으며 NPM과 VS Code 레지스트리에서도 2.1.313 버전을 삭제했다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗