원문 캡처 · github.com
원문 캡처 · github.com

check-claude-code-exfil은 Claude Code for VS Code 확장 침해와 관련된 흔적을 macOS, Linux, Windows에서 검사하는 도구다. 파일을 삭제하거나 공격자 서버에 접속하지 않으며, 탐지만 수행한다. 침해 사례 설명은 claude-code-vx-compromise.html에 정리돼 있다.

검사 대상에는 확장 버전 2.1.313과 알려진 extension.js 해시, SSH 키와 지속성 파일, 예약 작업, 실행 중인 프로세스, TCP 연결이 포함된다. 공격자 IP 134.209.82.225와 svc-telemetry 같은 문자열도 확인한다. 단, 정상 서비스인 ifconfig.me와 api.ipify.org를 조회한 사실만으로는 침해 흔적으로 판단하지 않는다.

저장소 안내에 따르면 다음과 같이 빌드한 뒤 운영체제에 맞는 실행 파일을 실행할 수 있다.

text
make build;

# Linux
sudo ./build/check-claude-code-exfil_linux_amd64;

# macOS (Apple Silicon)
sudo ./build/check-claude-code-exfil_darwin_arm64;

# Windows (from an elevated terminal)
build\check-claude-code-exfil_windows_amd64.exe;

기본 검사 범위는 현재 사용자 홈 디렉터리다. Linux와 macOS에서는 root로 실행하면 모든 로컬 사용자 홈을 자동 검사하고, Windows에서는 --all-users를 사용해 모든 프로필을 검사할 수 있다. 권한을 높여 실행하는 것이 권장되며, 권한 부족이나 검사에 필요한 명령을 사용할 수 없는 경우 해당 검사는 미완료로 표시된다. 종료 코드 0은 발견된 흔적이 없음을, 1은 하나 이상의 흔적을 찾았음을, 2는 흔적을 찾지 못했지만 검사가 일부 미완료됐거나 실패했음을 뜻한다. 미완료 검사는 시스템이 깨끗하다는 증거가 아니다.

도구는 외부 네트워크 연결을 하지 않으며 SSH 개인 키 내용도 출력하지 않는다. 다만 탐지 결과를 제거하거나 복구하지는 않는다. 기본 확장 경로인 ~/.<ide>/extensions 밖의 사용자 지정 설치 경로는 자동으로 찾지 않으므로, 다른 홈이나 프로필 경로는 --home으로 지정해야 한다. 파일 이름이나 주석 일치만으로 침해를 확정하지 말고, 가능한 경우 문서화된 지문이나 해시와 대조해야 한다.