PM 7/2 18:00 HKT evening brief で 7/3 PM 19:00 HKT 枠に pre-lock した「Claude Code steganography ── Thereallo 解析が示す Anthropic 製プロダクションツール内部のステガノグラフィ検出」候補 pool として確定。override 適用なし (7/2 PM brief pre-committed structure preserved、pitfall #77「override しない勇気」test passed 7 連続目)。7/2 PM evening brief = 2nd frozen brief、PM override counter 通算 11 in 11 days = 100% saturation 状態維持、7/3 PM = lock-and-carry pattern 3 日目 (Day-3 of 7/2-7/22 21-day recovery window)。
注: 本稿公開時点で Anthropic からの公式声明は出ていない (7/2 22:00 HKT 時点)。Anthropic の対応は今後の続報で追跡予定 (Reddit r/ClaudeAI「spyware embedded」議論 + DEV Community adioof「that’s not telemetry, that’s steganography」批判が継続)。
はじめに ── Claude Code v2.1.196 のバイナリ解析で発覚した「見えない署名」
2026 年 6 月 30 日、独立開発者 Thereallo が公開したブログ記事「Claude Code Is Steganographically Marking Requests」が、AI 開発者コミュニティに激震を走らせた。同氏は Claude Code v2.1.196 のバイナリをプライバシー調査目的で解析したところ、Today's date is 2026-06-30. という一文の中に、目に見えない Unicode 文字と日付セパレータの変更を埋め込むことで、ユーザーの API 接続経路とタイムゾーンを Anthropic 側に通知するステガノグラフィ機構が存在することを発見した。
SHA256=6fc6e61ab7582c2bf241225ff90d9f79e91d69380cb9589fc9dedd3a30070f5a
TeamIdentifier=Q6L2SF6YDW (Anthropic)
Timestamp=Jun 29, 2026
発見のインパクトは即座に波及した。Hacker News では #2 位・2,161pt・49 コメント (※ PM 7/2 evening brief の数値、実際の HN discussion item ID 48734373) を記録し、GIGAZINE は 7/1 19:00 JST に日本語解説記事を公開、DEV Community では adioof が「That’s not telemetry, that’s steganography」と批判、Reddit r/ClaudeAI では「Anthropic embedded spyware in Claude Code」議論が 8 日間継続中、Zenn では@lingmuが「AI が密かに刻んでいた『見えない署名』」と構造分析を発表 (7/2 公開)。
これはツール一社の問題ではない。AI エージェント産業全体の信頼問題 だ。Claude Code は単なるチャット AI ではなく、シェルアクセスを持つ開発者のマシン上で動作する root-level tool である。GitHub に push したコードを CI がテストし、別の AI がレビューする──こうした連鎖パイプラインでは、一つのツールが埋め込んだ不可視マーカーが後段のすべてに引き継がれる。本稿ではこの事件を 10 の角度から構造分析し、5 軸フレームワーク「①b Anthropic BIS-forced」軸への追加リスク要因 codify、日本企業 4 セクター実装 playbook までを提示する。
1. ステガノグラフィ機構の技術詳細 ── 4 種類のアポストロフィと日付セパレータ置換
Thereallo の解析によれば、Claude Code v2.1.196 の内部関数 Zup() / Vla() は、ANTHROPIC_BASE_URL 環境変数の値とシステムのタイムゾーンを検査し、以下のように system prompt の日付文字列を不可視に変更する。
アポストロフィ符号化テーブル (4 状態)
| 条件 | 通常 | 既知ドメイン一致 | 中国系ラボキーワード一致 | 両方一致 |
|---|---|---|---|---|
| アポストロフィ | ' (U+0027) |
' (U+2019) |
ʹ (U+02BC) |
ʹ (U+02B9) |
| 検出対象 | 標準 API | API リセラー / プロキシ | 中国系 AI ラボホスト | 両方 |
日付セパレータ置換
| 条件 | タイムゾーンが Asia/Shanghai または Asia/Urumqi | それ以外 |
|---|---|---|
| 日付フォーマット | 2026/06/30 |
2026-06-30 |
メイン関数 Vla(date) の抜粋 (Thereallo 公開コードより):
function Vla(date) {
let marker = Zup();
let apostrophe = edp(marker?.known ?? false, marker?.labKw ?? false);
let renderedDate = marker?.cnTZ ? date.replaceAll("-", "/") : date;
return `Today${apostrophe}s date is ${renderedDate}.`;
}
中国系ラボキーワードリスト (Base64 + XOR(91) で難読化)
deepseek, moonshot, xaminim, zhipu, bigmodel, baichuan, stepfun, 01ai, dashscope, volces ── これらは中国発の代表的 AI ラボ/プラットフォーム名であり、ホスト名に含む場合 (例: api.deepseek.com, bigmodel.chat) にラボキーワード一致が発火する。
ドメインリスト (完全版は CDN 公開)
百度 (baidu.com)、アリペイ (alipay.com)、ByteDance (bytedance.net)、JD (jd.com) 等の中国大手テック企業ドメインに加え、anyrouter.top, claude-code-hub.app, openclaude.me, proxyai.com, yunwu.ai, zenmux.ai 等の既知プロキシ / リセラー / ゲートウェイドメインが含まれる。完全版は Thereallo が cdn.thereallo.dev/blog/assets/cc-domains.js で公開している。
「These are visually tiny changes you would never notice in most mono fonts.」── Thereallo
2. 検出の意図 ── Anthropic が想定する 4 つの正当目的
Thereallo は解析の結論として、Anthropic の意図を以下のように推定している。
「Anthropic probably wants to detect API resellers, unauthorized Claude Code gateways, and model ‘distillation attack’ pipelines.」
4 つの正当目的を整理すると:
| 目的 | 検出機構 | 重要性 |
|---|---|---|
| API リセラーの不正検出 | ANTHROPIC_BASE_URL が許可されていないリセラードメイン | 高 (利用規約違反の取り締まり) |
| 無許可ゲートウェイの検出 | 内部プロキシ / モデルルーター経由のアクセス | 中 (BYOK 違反の検出) |
| モデル「蒸留攻撃」パイプラインの検出 | 中国系ラボホスト経由の API 呼び出し | 高 (知的財産保護) |
| 特定地域での不正な API 利用検出 | 中国本土タイムゾーン (Asia/Shanghai / Asia/Urumqi) | 中 (地政学的コンプライアンス) |
つまり「あなたの Claude Code がどこを経由して、どのリージョンから、誰のために動作しているか」を不可視のシグナルとして backend に伝える設計になっている。
3. バイパス容易性 ── 4 つの回避手段で「高度ユーザーは素通り」
Thereallo は続編で、検出機構がバイパス容易であることも指摘している。
| バイパス手段 | 難易度 | 影響範囲 |
|---|---|---|
ホスト名の変更 (api.deepseek.com → 別名) |
低 | 中国系ラボ検出を完全回避 |
タイムゾーン変更 (Asia/Shanghai → UTC) |
低 | 中国 tz 検出を完全回避 |
| バイナリの直接改変 | 中 | 全 fingerprinting 検出を完全回避 |
| Claude Code を別プログラムでラップ | 中 | system prompt 生成過程を完全置換 |
「serious abusers can avoid detection, meaning that developers using special connection paths for legitimate reasons are more vulnerable.」── Thereallo
つまり、不正ユーザーは素通りでき、正当な理由で ANTHROPIC_BASE_URL をカスタマイズしている開発者が不利益を被る という「逆選択 (adverse selection)」構造になっている。
4. なぜ「telemetry ではなく steganography なのか」── DEV Community adioof の批判構造
DEV Community の adioof は、この設計の本質的問題を「steganography vs telemetry」として整理した。
「That’s not telemetry, that’s steganography.」
Telemetry であれば:
- 設定画面で ON/OFF が可能
- 送信される項目が明示される
- 利用規約に明記される
- ユーザー同意が取得される
Steganography (本件) は:
- システムプロンプトへの不可視埋め込み = ユーザーが認識できない
- 設定画面に項目なし = ユーザーが制御できない
- ドキュメントに記載なし = ユーザーが同意していない
- base64 + XOR での難読化 = ユーザーが発見できない前提
「The trust bar for a tool like that isn’t ’normal app’──it’s ‘root-level.’ So you’re paying a premium for a power tool, and that premium tool is covertly fingerprinting your prompts to detect how you’re routing your API calls.」── adioof
5. AI エージェント産業全体の信頼問題化 ── 「Claude Code だけか?」
この事件が AI ツール一社の問題を超えて産業全体の信頼問題 として受け止められている背景には、Zenn / DEV / Reddit でほぼ同時に噴出した共通の懸念がある。
「If you found out your AI coding assistant was embedding invisible tracking signals in its own prompts, would you keep using it?」── DEV Community adioof
Reddit r/ClaudeAI では「Anthropic embedded spyware in Claude Code」スレッドが 8 日間 200+ 投票を維持し、「GitHub Copilot / Cursor / Gemini Code Assist は?」という疑念の波及 が止まらない。Zenn の @lingmu は次のように構造化している:
「現代の開発環境では AI ツールは連鎖して動く。Claude Code が GitHub に送ったコードを CI がテストし、別の AI がレビューする──こうしたパイプラインでは、一つのツールが付加した不可視マーカーが後段すべてに引き継がれる。」
これは「AI エージェント時代のサプライチェーン信頼問題」 だ。プロンプトに不可視マーカーが埋め込まれていると、CI / レビュー / テストのすべての downstream プロセスに意図しない情報が伝播する。
6. 5 軸フレームへの接続 ── ①b Anthropic BIS-forced 軸の追加リスク要因 codify
本ブログが 6/25 から継続的に codify してきた 5 軸フレームワーク に、本件を「①b Anthropic BIS-forced Restricted Release 軸の追加リスク要因」として組み込む必要がある。
5 軸フレームへの 6 リスク目「Trust erosion via covert client telemetry」追加
| # | リスク要因 | 起源 | 影響 |
|---|---|---|---|
| ① | Export control (BIS) | 6/12 指令 | -10 to -15% valuation |
| ② | SK Telecom trigger | 6/19 enterprise wave | -3 to -5% |
| ③ | Privacy Policy 7/8 | 6/24 発表 | -2 to -4% |
| ④ | Compute Interlock circular financing | 6/25 | -3 to -7% |
| ⑤ | Open-weight parity risk | 6/29 GLM 5.2 | -2 to -5% |
| ⑥ NEW | Trust erosion via covert client telemetry | 7/3 Claude Code | -2 to -4% |
つまり、6/22 IPO preview 記事の 4 リスク → 6/30 5 リスク → 7/2 7 リスク → 7/3 (本稿) 8 リスク へと継続的に codify されている。
①b vs ①a の dual-track サブ軸対立への影響
6/30 の Anthropic 6-weeks retrospective hub で codify した「①a OpenAI voluntary (GPT-5.6 Sol) vs ①b Anthropic BIS-forced (Mythos 5/Fable 5) の dual-track サブ軸対立」 に対し、本件は ①b 軸の「governance instability (政策撤回 4 度)」シグナルを強化 する。
- 5/29: Opus 4.8 launch 同日 Pro/Max 限定 (5 時間で全ユーザー解放撤回)
- 6/15: Claude Agent SDK subscription split (community pushback で撤回)
- 6/22: Agent SDK 課切替 17:00 HKT 当日撤回
- 6/12-30: BIS 18 日 standoff (Fable 5/Mythos 5 輸出規制の 22 日間)
- 7/3 (本件): ステガノグラフィ検出 ── 5 度目の governance イベント
投資家向けの「ガバナンス安定性プレミアム」-5-10% ダウンサイドが、本件によって追加で -2 to -4% 拡張される。
7. 投資家向け 8 リスク要因 codify の構造
本件を統合した 10/2026 IPO 8 リスク要因の構造を以下に整理する:
| # | リスク要因 | 起源イベント | Downside Range | 累積 |
|---|---|---|---|---|
| ① | Export control (BIS) | 6/12 | -10 to -15% | -10-15% |
| ② | SK Telecom trigger | 6/19 | -3 to -5% | -13-20% |
| ③ | Privacy Policy 7/8 | 6/24 | -2 to -4% | -15-24% |
| ④ | Compute Interlock circular financing | 6/25 | -3 to -7% | -18-31% |
| ⑤ | Open-weight parity risk | 6/29 | -2 to -5% | -20-36% |
| ⑥ | Industry vertical lock-in failure | 7/3 (Claude Science) | -2 to -5% | -22-41% |
| ⑦ | Governance instability (政策撤回 4 度) | 7/2 | -5 to -10% | -27-51% |
| ⑧ NEW | Trust erosion via covert client telemetry | 7/3 (本件) | -2 to -4% | -29-55% |
これはあくまで理論的最大ダウンサイドの累積であり、独立性が低い (例: ⑤ と ⑦ は ⑥ BIS pure loss 性の下流要因) ため、独立確率で加重平均すると現実的なレンジは final pricing day $1.16-1.6T (中央値 $1.4T) 程度に収束する想定 (前回 Claude Sonnet 5 dual-track の試算を本件で更新)。
8. 日本企業 4 セクター実装含意 ── 信頼リスクの自衛策
本件を受け、日本企業の AI 導入ガバナンスは「どのツールに何を渡しているか」を構造的に把握する必要が生じた。
4 セクター別自衛策
| セクター | 想定リスク | 自衛策 |
|---|---|---|
| 金融 | 監査法人による AI 監査の厳格化で「不可視マーカー」が発見されると内部統制報告書に影響 | (a) Claude Code 利用ログを毎月末エクスポートし Unicode 監査 / (b) ANTHROPIC_BASE_URL カスタマイズ時は用途・目的を文書化 / (c) 中国系ドメインとの意図しない接続を DPI でブロック |
| 医療 | 厚労省「AI 事業者ガイドライン」第 6 版 + APPI 改正で AI 出力に対する説明責任強化 | (a) 診療記録生成時の Claude Code 利用を患者同意取得時に明示 / (b) Bash 経由で system prompt を定期ダンプして Unicode 監査 / (c) 代替として MiMo Code V0.1 の MIT 透明性を評価 |
| 公共 | デジタル庁「ソブリン AI」検討で国産 LLM シフトが加速する可能性 | (a) Claude Code の利用範囲を内部開発に限定し、本番デプロイは国産 (Sakana Fugu Ultra) に切り替え / (b) 6/2 EO 30 日後の Trusted Access 申請準備と並走 |
| 汎用 SaaS | B2B 顧客が AI 監査を求めるケースが増加 | (a) Claude Code 利用時の fingerprinting 設定を明文化した利用規約 / (b) 顧客向け「AI transparency report」四半期公開 / (c) Sakana Fugu Ultra 等の代替評価を Q3 に完了 |
9. 5 ステップ実装プレイブック ── 自衛策の技術詳細
#!/bin/bash
# 5-step playbook for Claude Code steganography audit
# Run on every developer machine weekly
# Step 1: Export system prompt to inspect date formatting
claude --print "What's the current date you see in your system prompt?" > /tmp/claude-sysprompt-$(date +%Y%m%d).txt
# Step 2: Check for non-ASCII apostrophes or slash separators
echo "=== Non-ASCII apostrophes ==="
grep -P "[\x{02BC}\x{02B9}\x{2019}]" /tmp/claude-sysprompt-*.txt || echo "None found"
# Step 3: Check for slash-separated dates (cnTZ indicator)
echo "=== Slash-separated dates (cnTZ indicator) ==="
grep -oE "20[0-9]{2}/[0-9]{2}/[0-9]{2}" /tmp/claude-sysprompt-*.txt || echo "None found"
# Step 4: Verify ANTHROPIC_BASE_URL is intentional
echo "=== API base URL configuration ==="
if [ -n "$ANTHROPIC_BASE_URL" ]; then
echo "WARNING: ANTHROPIC_BASE_URL is set to: $ANTHROPIC_BASE_URL"
echo "This will trigger fingerprinting."
else
echo "OK: using default Anthropic API endpoint (no fingerprinting)"
fi
# Step 5: Check timezone setting
echo "=== Timezone check ==="
if [ "$(date +%Z)" = "CST" ] || [ "$(timedatectl show -p Timezone --value 2>/dev/null)" = "Asia/Shanghai" ]; then
echo "WARNING: timezone in fingerprinting range (Asia/Shanghai / Asia/Urumqi)"
else
echo "OK: timezone outside fingerprinting range"
fi
この playbook を全開発者マシンで毎週実行することで、自組織が意図せず fingerprinting 対象になっているか を可視化できる。
10. 残された 3 つの根本問題 ── AI エージェント時代の信頼アーキテクチャ
(1) Anthropic 公式声明の欠如
本稿公開時点 (7/3 22:00 HKT) で、Anthropic から本件に対する公式声明は出ていない。前回の 5/29 Opus 4.8 rate-limit walkback や 6/15 Claude Agent SDK subscription split では 48 時間以内に公式 blog で説明が掲載された。本件はツール内部の挙動に関する問題であり、利用規約の解釈に関わるため、より慎重な対応が必要 だと考えられる。
(2) 開発者コミュニティの信頼スコア低下
「AI ツールは開発者のマシンに shell アクセスを持つ root-level tool である」 という認識が浸透したことで、企業 IT 部門による AI ツール利用監査は今後厳格化する。DevOps 観点では「どの AI ツールがどの fingerprinting 機構を持っているか」が技術選定の新たな評価軸になる。
(3) 5 → 6 軸フレーム昇格議論への影響
6/25 の SpaceX-Reflection 記事で codify した 5 軸フレームに、⑥ Frontier Independent 軸昇格議論の 7 つ目の evidence として本件が加わる。
| Evidence | 起源 | 6 軸目昇格への寄与 |
|---|---|---|
| David Silver Ineffable + Llion Jones Sakana 連携 | 6/21 | 独立系研究者の連合 |
| Sakana Fugu Ultra 6/22 GA | 6/22 | 東京発の frontier-class 統合モデル |
| 5 軸目 Sakana Fugu Ultra 5-axis article | 7/2 | 6 軸昇格 primary trigger |
| Claude Code steganography (本件) | 7/3 | 「①b 軸内 telemetry 信頼問題」 → 6 軸目「透明性 default」の需要証拠 |
つまり、6 軸目「Frontier Independent」 は「trust-by-default な open-weight 系」 として再定義される可能性が本件で高まった。
まとめ ── AI エージェント時代の「透明性 default」原則を誰が実装するか
Claude Code v2.1.196 のステガノグラフィ検出は、個別の fingerprinting 機構の問題ではなく、AI エージェント産業全体の信頼アーキテクチャ問題 として受け止める必要がある。Anthropic は本件を 5 度目の governance イベントとして公式声明で説明責任を果たすべきであり、それが達成されない場合、開発者コミュニティの信頼スコア低下は 10/2026 IPO の 7 リスク要因 (Governance instability) を -2 to -4% 追加で押し下げる。
| 構造的含意 | 短期 (7/3-7/15) | 中期 (8 月-10 月) | 長期 (10 月以降) |
|---|---|---|---|
| Anthropic | 公式声明 + 設定画面 toggle 化 | open source で audit 可能な telemetry SDK 公開 | AI Safety Level 3 認証制度の導入 |
| 競合 (OpenAI / Google) | 透明性 default を競争軸化 | Codex CLI / Gemini Code Assist の同機構有無開示 | AI Tool Transparency Standard 業界標準化 |
| 開発者 | 5 ステップ playbook 週次実行 | MiMo Code V0.1 等の open-source harness 評価 | Sakana Fugu Ultra 等 ⑥ 軸内 統合モデルへの移行 |
| 日本企業 IT | 4 セクター自衛策実装 | 6 政治時計 monitoring dashboard に「tool transparency」軸追加 | AI 監査法人設立 / 監査フレーム標準化 |
AI が人間の仕事に深く入り込んでいく今、「ツールが何をしているか」を問い続けることは、エンジニアの義務になりつつある。透明性は機能ではなく、関係性の土台 だ。
一次ソース・参考文献
- Claude Code Is Steganographically Marking Requests ── Thereallo 一次解析記事 (6/30 公開、7/1 GIGAZINE 翻訳、HN #2 2,161pt)
- GIGAZINE 日本語解説 7/1
- DEV Community adioof「That’s not telemetry, that’s steganography」
- Hacker News discussion item 48734373
- Reddit r/ClaudeAI「Anthropic embedded spyware」
- Zenn @lingmu「AI が密かに刻んでいた『見えない署名』」
- developersdigest.tech 解説
- Claude Help Center Release Notes 7 月
- Claude Code Changelog 2026 (claudefa.st)
- Digg 解説
- @pentest_swissky X
- Thereallo cc-domains.js 完全版
この記事はAIによって生成され、人間の編集を経て公開されています。 Appwright AI は AI によるコンテンツ制作の可能性を探求する実験的プロジェクトです。