Git 커밋에 'HERMES.md'가 포함되면 Max 할당량을 우회해 200달러가 청구될 수 있음
The string HERMES.md in your git commits silently bypasses your Max quota and drains $200
핵심 요약
Git 커밋 메시지에 특정 문자열이 포함되면 AI 에이전트가 예고 없이 고가의 종량제 요금으로 전환되는 보안 취약점 경고.
- 빌링 인젝션 취약점 — Git 커밋 내 특정 문자열이 서버 측 필터를 트리거하여 예고 없이 요금 체계를 변경함.
- API 프록시 필수 — 에이전트의 무분별한 API 사용을 방지하기 위해 지출 한도가 설정된 미들웨어 사용이 권장됨.
- Git 히스토리 관리 — 문제가 되는 문자열을 제거하기 위해 rebase를 통한 히스토리 수정 및 파일명 변경이 필요함.
- 금융 보안 위협 — AI 에이전트가 신용카드와 직접 연결될 경우 예기치 못한 과도한 비용이 발생할 위험이 있음.
새벽 2시에 아이가 울면서 깨는 바람에 사이드 프로젝트에 대한 집중력이 끊겼는데, 아이를 다시 재우면서 이슈 트래커를 훑어보다가 정말 소름 돋는 걸 발견했습니다. 바로 CC에 대한 GitHub 이슈 #53262입니다. 만약 로컬 AI 에이전트를 사용해 코딩하고 있다면, 지금 당장 git 히스토리를 감사해야 합니다.
상황은 정말 미쳤습니다. 월 200달러 정액제인 Max 20x 플랜을 사용하는 개발자가 로컬 저장소에서 작업 중이었습니다. 그는 커밋을 하나 했는데, 그 커밋 메시지에 정확히 대소문자를 구분하는 문자열인 HERMES.md를 포함했습니다. 외부 AI 모델 문서를 참조했든, 그냥 파일 이름을 그렇게 지었든 상관없습니다. CC는 사용자가 무엇을 작업 중인지 에이전트가 이해할 수 있도록 최근 git 커밋 메시지를 읽어 시스템 컨텍스트로 가져오도록 설계되어 있습니다.
그런데 Anthropic은 빌링 라우터에 서버 측 안티 어뷰즈 필터를 연결해 두었습니다. 백엔드에서 프롬프트를 스캔하다가 HERMES.md라는 문자열을 발견하면, 이를 제3자 자동화 도구로 간주해 플래그를 지정합니다. 시스템은 CLI에 400 에러나 경고 메시지를 띄우는 대신, 조용히 스위치를 전환했습니다. 사용자의 선불 Max 플랜 할당량에서 차감하는 것을 멈추고, 이후의 모든 API 요청을 종량제 추가 요금 티어로 돌려버린 겁니다. 그 개발자는 하루 만에 200달러의 추가 API 요금을 날렸습니다.
그가 고객 지원에 연락했지만, 그들은 인증 라우팅 문제임을 인정하면서도 사실상 그가 무료로 QA 작업을 해준 것에 대해 감사하다는 말만 하고 환불은 단칼에 거절했습니다.
여기서 잠시 멈춰야겠습니다. 이 사건의 아키텍처적 의미는 정말 엄청납니다. 우리는 공식적으로 '빌링 인젝션(billing injection)'의 시대에 도달했습니다. 생각해보세요. 무작위 오픈 소스 패키지를 가져왔는데, 기여자가 3주 전 커밋에 HERMES.md라는 단어를 숨겨놨습니다. 당신이 그 디렉토리에서 컴포넌트를 리팩토링하려고 CC를 실행하면, 에이전트가 git 로그를 긁어 서버로 보내고, 로컬 텍스트 파일의 자연어 문자열 하나 때문에 기업 서버의 그림자 라우팅 규칙이 발동되어 신용카드가 풀 메터링 요금으로 두들겨 맞게 되는 겁니다. UI 확인 절차 없이 콘텐츠 모더레이션을 고객의 신용카드와 직접 연결하는 것은 믿을 수 없을 정도로 적대적인 설계입니다. 제 5살짜리 아이가 레고 구조물을 이렇게 허술하게 만들면 무너져서 다시 쌓으면 그만이지만, 거대 AI 연구소가 이렇게 허술한 인프라를 구축하면 당신의 생활비를 훔쳐갑니다.
이런 시나리오 때문에 저는 이런 네이티브 CLI 도구에 제 진짜 신용카드를 절대 등록하지 않습니다. 저는 5시 퇴근을 위해 모든 것을 자동화하지만, 제 은행 계좌를 자동화해서 털리게 둘 생각은 없습니다.
대신 저는 API 미들맨 게이트웨이를 사용합니다. 아직 이렇게 하지 않고 있다면 불장난을 하는 겁니다. 선불 잔액을 충전할 수 있는 여러 API 프록시 및 릴레이 서비스가 있습니다. 저는 미들맨 릴레이 계정에 딱 15달러만 충전합니다. 그리고 그 대시보드에서 더미 API 키를 생성한 뒤, 하루 지출 한도를 2달러로 엄격하게 설정합니다.
로컬 환경에서는 CC의 기본 URL을 재정의하여 공식 Anthropic API 대신 미들맨 프록시 엔드포인트를 가리키도록 합니다. 프록시는 요청을 전달하고 토큰 계산만 처리합니다. 만약 CLI 에이전트가 환각을 일으켜 무한 루프에 빠지거나, Anthropic의 그림자 필터가 파일 이름 때문에 저를 갑자기 악성 사용자로 판단하더라도, 최악의 시나리오는 프록시 게이트웨이가 2달러 한도에 걸리는 것뿐입니다. 미들맨은 402 Payment Required 에러를 던지고, CLI는 멈추며, 제 가족의 예산은 전혀 건드려지지 않습니다.
API 미들맨을 사용하는 것은 이제 단순히 지오 블로킹 모델에 접근하거나 기업용 키를 공유하기 위한 꼼수가 아닙니다. 로컬 에이전트 개발을 위한 필수 방화벽입니다. 이 거대 AI 연구소들은 당신의 지갑을 최종적인 에러 처리 메커니즘으로 보고 있기 때문에, 그들의 네이티브 빌링 안전장치를 믿을 수 없습니다.
만약 네이티브 환경에서 문제가 발생했다면, 즉시 파일 이름을 소문자 hermes.md나 system_prompt.md로 바꾸고, rebase를 통해 git 히스토리를 공격적으로 재작성하여 대문자 문자열을 삭제해야 합니다. 하지만 솔직히 그냥 터미널과 클라우드 사이에 프록시 릴레이를 두세요. 저는 모든 에이전트 기본 URL을 미들맨 프록시로 가로채서 재작성하는 간단한 bash 스크립트를 작성했습니다. 새벽 2시에 배포해서 스트리밍 청크 관련 엣지 케이스가 아직 좀 남아있긴 하지만, 벌써 폭주하는 에이전트 루프 하나가 50달러를 날리는 걸 막아줬습니다.


