AIコーディングアシスタントは企業向けSaaSプラットフォームに深く統合されつつあるが、新たな調査により、こうした接続が検出の難しい認証情報窃取のリスクをもたらす可能性が明らかになった。
研究者らは実証した、AnthropicのClaude Codeを標的とし、MCP統合を悪用してOAuthトークンを窃取するとともに、接続されたSaaSプラットフォームやAPIへの永続的なアクセスを維持するMitM攻撃を。
「コードの開発やデプロイに使われるAIエージェントは、単なる『未知の』要素などでは到底ありません」と、MitigaのセキュリティリサーチャーであるIdan Cohen氏は、eSecurityPlanetへのメールで述べた。
同氏はさらに、「脅威の状況は劇的に変化しました。単一の侵害から、プロジェクトにひそかに読み込まれる無害な『命令』ファイルを起点とする大規模なサプライチェーン攻撃へと移行しています」と述べた。
Idan氏は、「標準ユーザー権限でローカルに存在し、権限昇格を必要としない単一のファイルに、私たちが過度に信頼しているAIエージェントのハードコードされた設定が含まれており、気付かれないまま改ざんされる可能性があります」と説明した。
調査の主なポイント
- 研究者らは、MCP統合を悪用してOAuthトークンを窃取するClaude CodeのMitM攻撃を実証した。
- この攻撃は~/.claude.json設定ファイルを標的とする。このファイルはClaude CodeとMCP統合で使用される。
- 悪意のあるnpmのpostinstallフックは、MCPサーバーのURLをひそかに書き換え、攻撃者が制御するプロキシ経由でトラフィックをリダイレクトできる。
- OAuthセッションは、リクエストが信頼されたインフラから発信されるため、SaaSの監査ログ上では正規のものに見える可能性がある。
- 悪意のあるフックがMCP設定の書き換えを続ける場合、トークンのローテーションだけでは攻撃を阻止できない可能性がある。
Claude MCPのセキュリティリスクとセキュリティ対策
| Claude MCPで確認されたセキュリティリスク | 推奨される防御策 |
|---|---|
| 悪意のあるnpmライフサイクルフック | 実行を制限または監視するpostinstallスクリプト。 |
| MCPエンドポイントの不正な変更 | 監視する~/.claude.jsonおよびMCP設定ファイル。 |
| 永続的なOAuthトークン窃取 | トークンのスコープを制限し、有効期間を短縮する。 |
| プロキシを介した隠れたトラフィック傍受 | ローカルホストのプロキシや、通常と異なる外向き接続を検知してアラートを発する。 |
| AIツールの可視性の不足 | 一元的なログ記録と行動分析を導入する。 |
| 開発者環境の侵害 | 開発者システムを本番インフラから分離する。 |
| 悪意のある設定変更の永続化 | インシデント対応と認証情報ローテーションの手順をテストする。 |
AIツールが攻撃対象領域を拡大
この調査は、AI支援開発環境やローカルのAIツール設定が、脅威アクターにとってますます価値の高い攻撃対象領域になっていることを浮き彫りにしている。
MCPにより、Claude CodeなどのAIコーディングアシスタントは、OAuth認証を使って外部システムに直接接続できる。
組織がこうしたツールを開発ワークフローに統合するにつれ、侵害されたOAuthトークンによって攻撃者が機密システムに幅広くアクセスできる一方、監査ログ上では正規のアクセスに見える可能性がある。
攻撃チェーンの中心にあるのは~/.claude.json設定ファイルだ。このファイルには、MCPサーバーの設定、OAuthトークン、信頼に関するフラグ、Claude Codeが使用する接続情報が保存されている。
研究者らによると、攻撃者は悪意のあるnpmのライフサイクルフックを悪用して、ファイルをひそかに変更し、MCPトラフィックを攻撃者が制御するプロキシ経由でリダイレクトできる。
Claude Code攻撃の仕組み
攻撃は、正規の開発者向けユーティリティやヘルパーツールを装った悪意のあるnpmパッケージから始まる。
インストール中に、隠されたpostinstallフックが自動的に実行され、信頼されたClaude Codeのプロジェクトパスを変更するとともに、ローカル設定ファイル内のMCPサーバーエントリを書き換える。
その後、被害者があらかじめ設定された信頼済みディレクトリのいずれかにリポジトリをクローンすると、信頼関係がすでに確立されているため、Claude Codeはユーザーに確認を求めず、攻撃者が制御するフックを自動的に読み込む。
悪意のあるフックは続いてMCPサーバーのURLを書き換えて攻撃者が制御するプロキシを指すようにし、OAuthトークンの交換と、その後のMCPトラフィックの中間に攻撃者を置く。
Claude CodeがMCPセッションを更新すると、OAuthトークンは攻撃者のインフラを経由するが、正規のAnthropicネットワークトラフィックとして表示され続ける。
攻撃の検出が難しい理由
プロバイダー側のログには正規ユーザー、正当なOAuthセッション、信頼された送信元インフラが表示され続けるため、下流のSaaSプロバイダーは不審な挙動を直ちには検出できない可能性がある。
研究者らは、窃取されたトークンに価値があるのは、永続的でスコープが広く、ローカル設定ファイル内に平文で保存されているためだと指摘した。
悪意のあるフックがMCP設定を継続的に書き換え、更新されたトークンを再び取得できるため、トークンのローテーションだけでは攻撃を阻止できない可能性がある。
AIツールのリスクを低減する方法
Claude Codeや同様のAI支援開発プラットフォームを利用する組織は、設定の監視、OAuthセキュリティ、エンドポイントの可視性、ソフトウェアサプライチェーンガバナンスに重点を置いた多層的な対策を実施すべきだ。
- 承認済みのMCPエンドポイントを基準化し、監視する~/.claude.jsonおよびプロジェクトレベルの設定ファイルを対象に、不正な変更がないか確認する。
- 不要なnpmパッケージを制限し、ブラウザー拡張機能、AIツール、MCP統合についても、一元的な承認および許可リストのポリシーを使用する。
- 監視対象は不審なOAuth更新活動、ローカルホストのプロキシ、通常と異なるSaaSの挙動、予期しない外向きネットワーク接続。
- OAuthトークンのスコープと有効期間を制限し、認証情報は可能な限り暗号化キーチェーンや認証情報保管庫を使って安全に保管する。
- 一元的なログ記録と行動分析を実装し、開発者の活動、AIツールの利用、下流SaaSへのアクセスパターンを相関分析する。
- 開発者環境を機密性の高い本番システムから分離し、エンドポイントや悪意のある統合が侵害された場合の影響を抑える。
- 定期的にインシデント対応、認証情報のローテーション、復旧手順をテストし、悪意のあるフックや永続化メカニズムが完全に除去されていることを確認する。
これらの対策を総合的に実施することで、露出を抑え、AIツールの脅威に対するレジリエンスを高められる。
AIがサプライチェーンリスクを拡大
この調査は、AIコーディングアシスタントが、従来のリポジトリやCI/CDパイプラインの枠を超えて、ソフトウェアサプライチェーンのリスクを拡大していることを明らかにしている。
組織がAIエージェントを企業システムやSaaSプラットフォームとますます統合するにつれ、ローカル設定ファイル、OAuthの信頼関係、ブラウザー拡張機能、AIツールの統合が、永続化や不正アクセスの新たな機会を生み出す可能性がある。
この調査結果は、AI支援開発環境がエンドポイントセキュリティ、アイデンティティセキュリティ、ソフトウェアサプライチェーンガバナンスと、ますます重なり合っていることも示している。
多くのAI統合は正規のOAuthセッション、信頼されたインフラ、正当なユーザーアカウントを介して動作するため、不審な活動が通常のSaaS監査ログや開発者ワークフローに紛れ込み、セキュリティチームによる検出や帰属が難しくなる可能性がある。
AI統合の拡大に伴い、組織はゼロトラストソリューションを導入してアクセス制御と可視性の強化を図っている。





