
2026/04/30 3:54
コミットメッセージに「HERMES.md」が含まれると、リクエストが追加の使用量課金対象へのルーティングを招きます。
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Claude Code v2.1.119 for macOS で、重大な請求関連の脆弱性が確認されました。macOS 上の git リポジトリで、その最近のコミットメッセージ内に特定の大文字小文字を区別する文字列
HERMES.md が含まれる場合、API リクエストが「余計な使用量」課金への不正ルートに誤って誘導され、ユーザーの Max プランの枠を外れて請求が発生します。このコンテンツベースのルーティングの欠陥により、ダッシュボードでは検出されない状態で資金が消耗します。この正確な文字列を含む孤立したコミットを対象としたバイナリサーチ調査の間、ダッシュボードが残週のキャパシティが 86% 以上残っていると誤示しているにもかかわらず、余計な使用量クレジットとして200米ドル以上の額が消費されました。この問題はコミットメッセージ内の大文字のファイル拡張子(例:"add HERMES.md")に厳密に結びついており、小文字の hermes.md や他の拡張子、または異なるファイル名(HERMES.txt、README.md 等)では発生しません。このエラーは「余計な使用量が不足」という API 400 エラーメッセージとして現れ、根本原因がコンテンツベースのルーティングであることを示さず、診断が困難になります。このバグにより、余計なクレジットが枯渇するとプロジェクトが実質的に利用不可能となり、表面的なテキスト照合が実際の課金制限を優先する深刻なリスクを示すことになります。本文
要約 Git リポジトリの最近のコミット履歴に、大文字小文字区分別の文字列 "HERMES.md" が含まれている場合、Claude Code は API リクエストを「追加利用料」の課金ルートを介して処理し、Max プランに含まれるクォータではなく「追加利用」で消化されます。その結果、$200 を超える金額が静かに消耗しましたが、私の Max 20x プランの容量はほとんど使用されませんでした(週間の使用量は 13% に留まりました)。
環境
- Claude Code: v2.1.119
- OS: macOS (Apple Silicon)
- プラン: Max 20x プラン(月額 $200)
- モデル: claude-opus-4-6[1m](claude-opus-4-7 でも同様にご確認ください)
再現手順 最小限の再現例——プロジェクトファイルは必要ありません:
# これは失敗します。「out of extra usage」というエラーに遭遇し、追加利用料のルートを踏んでしまいます。 mkdir /tmp/test-fail && cd /tmp/test-fail git init && echo test > test.txt && git add . && git commit -m "add HERMES.md" claude -p "say hello" --model "claude-opus-4-6[1m]" # => API エラー: 400「追加利用料を使い切りました...」 # これは成功します(プランのクォータにルートされます)。 mkdir /tmp/test-pass && cd /tmp/test-pass git init && echo test > test.txt && git add . && git commit -m "add hermes.md" claude -p "say hello" --model "claude-opus-4-6[1m]" # => "Hello!" # クリーンアップ rm -rf /tmp/test-fail /tmp/test-pass
トリガーとなるのは、ディスク上の「HERMES.md」という名のファイルの存在ではなく、Git のコミットメッセージにこの文字列が含まれていることです。Claude Code はシステムプロンプトに最近のコミットを含めており、サーバーサイドでこの文字列が存在すると要求の処理ルートが変わってしまうようです。
トリガーとなるもの vs トリガーとならないもの
| コミットメッセージ | 結果 |
|---|---|
| "HERMES.md" | フォール——追加利用料へルートされます |
| "test HERMES.md test" | フォール |
| "hermes.md"(小文字) | 正常動作します |
| "HERMES"(拡張子なし) | 正常動作します |
| "HERMES.txt" | 正常動作します |
| "AGENTS.md" | 正常動作します |
| "README.md" | 正常動作します |
| ディスク上に HERMES.md という名のファイルが存在し、コミットメッセージはクリーンな場合 | 正常動作します |
| 同じリポジトリだが、孤立したブランチ(履歴なし)の場合 | 正常動作します |
影響
- Max 20x プランのクォータでカバーされるはずのリクエストに対し、$200.98 を上回る追加利用料が消費されました。
- 追加利用料が枯渇すると複数のプロジェクトが完全に使用不可能となり、プランダッシュボードには週間の容量が 86% 以上残っているという表示がされていました。
- エラーメッセージ(「追加利用料を使い切りました」)は、コンテンツベースのルーティングが原因であることを示唆しておらず、極めて診断が困難です。
- 最近の Git コミット履歴に "HERMES.md" が含まれているあらゆるユーザーは、静かに追加利用料として課金されてしまいます。
期待される動作 API リクエストの課金は、システムプロンプトに含まれる Git コミットメッセージの内容に基づいて行うべきではありません。Max プランの顧客からのすべてのリクエストが、まずプランに含められているクォータへルートされなければなりません。
発見方法 影響を受けたリポジトリをクローンし、孤立したブランチでテストを行い、さらに個々のコミットメッセージの文字列を特定することで、最終的に "HERMES.md" がトリガーであると特定しました(バイナリーサーチによる探索)。