Claude Code MCP攻撃が永続的なトークン盗難を可能にする

eSecurity Planetのコンテンツと製品推奨事項は、編集上独立しています。パートナーへのリンクをクリックすると、報酬を得る場合があります。 詳細はこちら

AIコーディングアシスタントはエンタープライズSaaSプラットフォームに深く統合されつつありますが、新しい研究によれば、これらの接続は検出が困難な認証情報盗難のリスクをもたらす可能性があることを示しています。  

研究者は、MCP統合を悪用してOAuthトークンを盗み、接続されたSaaSプラットフォームとAPIへの永続的なアクセスを維持するAnthropicのClaude Codeを標的とした中間者攻撃を実証しました。 

「コード開発と展開に使用されるAIエージェントは、単なる『未知の』要因ではるかに大きな脅威です」と、MitigaのセキュリティリサーチャーであるIdanコーエンがeSecurityPlanetへのメールで述べています。

彼は、「脅威の状況は劇的に変わりました。単一の侵害から、プロジェクトに静かにロードされた無害な『命令』ファイルによってトリガーされた大規模なサプライチェーン攻撃へと変わったのです」と付け加えました。

Idanは、「標準的なユーザー権限(昇格は不要)でローカルに存在する単一のファイルには、信頼しすぎているAIエージェントのハードコードされた設定が含まれており、静かに改ざんされる可能性がある」と説明しました。

研究からの主要な洞察

  • 研究者がMCP統合を悪用してOAuthトークンを盗むClaude Code中間者攻撃を実証しました。
  • 攻撃はClaude CodeおよびMCP統合で使用される~/.claude.json設定ファイルをターゲットにしています。
  • 悪意のあるnpm postinstallフックはMCPサーバーURLを静かに書き換え、攻撃者が管理するプロキシを通じてトラフィックをリダイレクトします。
  • 要求が信頼できるインフラストラクチャから発信されるため、OAuthセッションはSaaS監査ログで依然として正当に見える場合があります。
  • 悪意のあるフックがMCP設定を書き続けている場合、トークンローテーションだけで攻撃を防ぐことはできないかもしれません。

Claude Code MCPのリスク対セキュリティ管理 

発見されたClaude MCPセキュリティリスク 推奨される防御管理
悪意のあるnpmライフサイクルフック postinstallスクリプト実行を制限または監視します。
承認されていないMCPエンドポイント変更 ~/.claude.jsonおよびMCP設定ファイルを監視します。
永続的なOAuthトークン盗難 トークンスコープを制限し、トークンの有効期間を短縮します。
隠れたプロキシベースのトラフィック傍受 localhostプロキシと異常なアウトバウンド接続に関するアラートを設定します。
AIツーリングの可視性ギャップ 一元化されたログとビヘイビアル分析を実装します。
侵害された開発者環境 開発者システムを本番インフラストラクチャから分離します。
永続的な悪意のある設定変更 インシデント対応と認証情報ローテーション手順をテストします。

この研究は、AI支援開発環境とローカルAIツーリング構成が、脅威アクターにとってますます価値のある攻撃対象となってきた方法を強調しています。 

MCPは、Claude Codeなどのコーディングアシスタントが、OAuth認証を使用して外部システムに直接接続することを可能にします。  

組織がこれらのツールを開発ワークフローに統合する際、侵害されたOAuthトークンは、監査ログで依然として正当に見えながら、攻撃者に機密システムへの幅広いアクセス権を与えることがあります。 

攻撃チェーンの中心にあるのは、MCPサーバー設定、OAuthトークン、信頼関連フラグ、およびClaude Codeで使用される接続詳細を保存する~/.claude.json設定ファイルです。 

研究者は、攻撃者が悪意のあるnpmライフサイクルフックを悪用して、ファイルを静かに変更し、MCPトラフィックを攻撃者が管理するプロキシを通じてリダイレクトできると述べています。 

Claude Code攻撃の仕組み 

攻撃は、正当な開発者ユーティリティまたはヘルパーツールに偽装した悪意のあるnpmパッケージで始まります。 

インストール中に、隠れたpostinstallフックが自動的に実行され、信頼されたClaude Codeプロジェクトパスを変更しながら、ローカル設定ファイル内のMCPサーバーエントリを書き換えます。 

犠牲者がその後、これらの事前に設定された信頼できるディレクトリのいずれかにリポジトリをクローンすると、信頼関係が既に確立されているため、Claude Codeはユーザーにプロンプトを表示せずに攻撃者が管理するフックを自動的にロードします。

その後、悪意のあるフックはMCPサーバーURLを書き換えて攻撃者が管理するプロキシを指すようにし、敵をOAuthトークン交換とその後のMCPトラフィックの中間に効果的に配置します。 

Claude CodeがMCPセッションを更新すると、OAuthトークンは攻撃者インフラストラクチャを通じてルーティングされ、同時に正当なAnthropicネットワークトラフィックとして表示されます。 

攻撃が検出困難な理由 

プロバイダー側のログが依然として正当なユーザー、有効なOAuthセッション、および信頼できるソースインフラストラクチャを表示するため、ダウンストリームのSaaSプロバイダーは不審な動作を即座に検出できない場合があります。

研究者は、盗まれたトークンは永続的で、広くスコープされ、ローカル設定ファイル内にプレーンテキストで保存されているため、価値があると指摘しています。 

悪意のあるフックがMCP設定を継続的に書き換えて、更新されたトークンを再取得できるため、トークンローテーションだけで攻撃を停止できないかもしれません。 

Claude Codeまたは同様のAI支援開発プラットフォームを使用する組織は、設定監視、OAuthセキュリティ、エンドポイントの可視性、およびソフトウェアサプライチェーン管理に焦点を当てた階層化された管理を実装する必要があります。 

  • 承認されたMCPエンドポイントを基準として設定し~/.claude.jsonとプロジェクトレベルの設定ファイルを監視して、承認されていない変更がないか確認します。
  • 一元化された承認とホワイトリストポリシーを使用して、不要なnpmパッケージ、ブラウザ拡張機能、AIツール、およびMCP統合を制限します。
  • 不審なOAuthリフレッシュアクティビティ、localhostプロキシ、異常なSaaS動作、および予期しないアウトバウンドネットワーク接続を監視します
  • 可能な限り暗号化されたキーチェーンまたは認証情報保管庫を使用して、OAuthトークンのスコープと有効期間を制限しながら認証情報を安全に保存します。
  • 開発者アクティビティ、AIツール使用、およびダウンストリームSaaSアクセスパターンを相互に関連付けるために、一元化されたログとビヘイビアル分析を実装します。
  • 侵害されたエンドポイントまたは悪意のある統合の影響を減らすために、開発者環境を機密本番システムから分離します。
  • 悪意のあるフックと永続性メカニズムが完全に削除されるようにするために、インシデント対応、認証情報ローテーション、および回復手順を定期的にテストします。

これらの対策を総合的に実施することで、リスクへの露出を減らし、AIツーリング脅威に対する耐性を向上させることができます。  

AIがサプライチェーンリスクを拡大 

この研究は、AIコーディングアシスタントがソフトウェアサプライチェーンリスクを従来のリポジトリとCI/CDパイプラインを超えて拡大している方法を強調しています。 

組織がAIエージェントをエンタープライズシステムとSaaSプラットフォームにますます統合するにつれて、ローカル設定ファイル、OAuth信頼関係、ブラウザ拡張機能、およびAIツーリング統合は、永続性と不正なアクセスの追加の機会を生み出す可能性があります。

調査結果はまた、AI支援開発環境がエンドポイントセキュリティ、アイデンティティセキュリティ、およびソフトウェアサプライチェーン管理と、どのように次々と重複しているかを示しています。 

多くのAI統合が正当なOAuthセッション、信頼できるインフラストラクチャ、および有効なユーザーアカウントを通じて動作するため、不審なアクティビティは通常のSaaS監査ログと開発者ワークフローに溶け込み、セキュリティチームにとって検出と属性付けをより困難にします。

AI統合が拡大するにつれて、組織はアクセス管理と可視性を強化するためにゼロトラストソリューションを使用しています。 

翻訳元: https://www.esecurityplanet.com/threats/claude-code-mcp-attack-enables-persistent-token-theft/

ソース: esecurityplanet.com