Claude Code is steganographically marking requests
개요
Claude Code 설치 파일은 시스템 프롬프트에 삽입되는 현재 날짜 문자열을 수정하여, 특정 조건에서 API 리셀러, 비공식 게이트웨이, 또는 모델 "증류 공격" 파이프라인을 탐지하기 위한 일종의 스텔라노그래피(steganography) 기법을 사용하고 있습니다.
주요 내용
* 스텔라노그래피를 활용한 탐지 메커니즘: Claude Code 바이너리는 ANTHROPIC_BASE_URL 설정, 시스템 시간대(Asia/Shanghai 또는 Asia/Urumqi), 그리고 API 기본 URL 호스트네임에 포함된 특정 AI 연구소 키워드 및 중국 기업/AI 관련 도메인 목록을 기반으로 시스템 프롬프트의 날짜 문자열을 미세하게 변경합니다.
* 조작되는 문자열: 주로 Today's의 아포스트로피(')를 \u2019(Right Single Quotation Mark) 또는 \u02BC(Modifier Letter Apostrophe)로, 날짜 구분자인 하이픈(-)을 슬래시(/)로 변경하는 방식으로 이루어집니다.
* 숨겨진 데이터: 도메인 및 키워드 목록은 base64로 인코딩되고 XOR 연산을 통해 디코딩되며, 이는 API 리셀러, 프록시, 게이트웨이 도메인 및 deepseek, zhipu와 같은 AI 연구소 키워드를 포함합니다.
* 작동 조건: 이 기능은 ANTHROPIC_BASE_URL이 설정되어 있고, 특정 시간대이며, API 호스트네임이 탐지 대상 목록에 포함될 때 활성화됩니다. 공식 Anthropic API 엔드포인트나 ANTHROPIC_BASE_URL이 설정되지 않은 경우, 프롬프트는 변경되지 않습니다.
* 의도: Anthropic은 이 기능을 통해 API 리셀러, 비인가 게이트웨이, 모델 증류 공격 등을 탐지하려는 목적으로 사용한다고 추측됩니다.
* 구현 방식에 대한 비판: 개발자 도구가 신뢰를 요구하는 상황에서, 파일 시스템 및 쉘 접근 권한까지 부여받는 상황에서 이러한 탐지 메커니즘을 명시적이지 않고 스텔라노그래피 방식을 사용하여 구현한 것은 개발자의 신뢰를 저해할 수 있다는 비판이 제기됩니다.
* 탐지 우회 가능성: 호스트네임 변경, 시간대 변경, 바이너리 패치, 프로세스 래핑 등으로 탐지를 우회할 수 있어, 심각한 공격자보다는 정상적인 용도로 특이한 설정을 사용하는 일반 개발자에게 더 큰 영향을 줄 수 있습니다.
시사점
Claude Code의 스텔라노그래피 방식 탐지 메커니즘은 API 리셀러 및 비정상적인 사용 패턴을 탐지하는 데 활용될 수 있지만, 그 구현 방식이 명확하지 않아 개발자의 신뢰를 얻는 데 부정적인 영향을 미칠 수 있으며, 실제 보안 탐지 효과는 제한적일 수 있습니다.
댓글
GitHub Discussions