npm、PyPI、Crates.io にまたがる TrapDoor サプライチェーン攻撃が暗号ウォレットの鍵を盗み、目に見えない Unicode 指示で AI コーディングアシスタントを汚染します。

Marcus Webb
DeFiリサーチリード

TrapDoor と呼ばれる協調型サプライチェーン攻撃により、npm、PyPI、Crates.io にまたがって 34 のパッケージが侵害され、特に暗号開発者を標的にしています。マルウェアはウォレットのプライベートキー、SSH 資格情報、AWS トークンを盗み、目に見えない Unicode 文字で AI コーディングアシスタントを汚染する新たな攻撃ベクタを導入します。
2026年5月24日、Socket のセキュリティ研究者が、3 つの主要なパッケージレジストリにまたがる協調的なサプライチェーンキャンペーンを公開しました。最初の悪意あるパッケージは 2 日前の 5月22日に出現していました。TrapDoor と名付けられたこの攻撃は、合計 384 を超えるバージョンにわたって 34 の悪意あるパッケージを配布し、暗号、DeFi、AI 開発者から資格情報を収集するよう設計されています。
これは暗号を標的にした初のサプライチェーン攻撃ではありません。2018 年のevent-stream インシデントは Copay ビットコインウォレットを侵害し、2021 年の ua-parser-js の乗っ取りでは数百万台のマシンにクリプトマイナーが展開されました。しかし TrapDoor は進化を示しています。AI コーディングアシスタントを攻撃ベクタとして武器化した最初の大規模なクロスエコシステムキャンペーンです。
この攻撃は、日常的な開発者ワークフロー中に発火するエコシステム固有の実行経路を利用します。
npm パッケージは postinstall フックを使用し、npm install 時に自動的に実行されます。共有ペイロードである 1,149 行のファイル trap-core.js は、ローカルファイルシステムをスキャンして SSH 鍵、AWS 資格情報、GitHub トークン、ブラウザデータ、MetaMask、Phantom などの暗号ウォレット拡張データを探します。一般的な資格情報窃取ツールと異なり、TrapDoor は収集した資格情報をエクスフィルトする前にライブ API に対して検証し、攻撃者のシグナル対ノイズ比を改善します。
PyPI パッケージはインポート時に実行され、攻撃者が管理する GitHub Pages ドメインから JavaScript ペイロードをダウンロードします。このクロスランゲージ手法により、攻撃者は Python パッケージを再公開せずにペイロードをリモートで更新できます。
Crates.io パッケージは build.rs スクリプトに悪意あるコードを埋め込み、cargo build 時に発火し、特に Sui と Move の開発者キーストアを狙います。盗まれたデータはハードコードされた XOR キーで暗号化され、GitHub Gists に送信されます。
下記リストのいずれかのパッケージをインストールしていた場合は、直ちにすべての資格情報をローテートし、暗号資産を新しいウォレットに移してください。侵害された鍵は、悪意あるパッケージが削除された後も長期間悪用される可能性があります。
これらのパッケージは正当な開発者ユーティリティを装っています。solidity-deploy-guard、defi-threat-scanner、wallet-security-checker のような名前は、セキュリティ意識の高い暗号開発者に直接アピールするように設計されています。
npm (21 パッケージ): async-pipeline-builder, build-scripts-utils, chain-key-validator, crypto-credential-scanner, defi-env-auditor, defi-threat-scanner, deployment-key-auditor, dev-env-bootstrapper, eth-wallet-sentinel, llm-context-compressor, mnemonic-safety-check, model-switch-router, node-setup-helpers, project-init-tools, prompt-engineering-toolkit, solidity-deploy-guard, token-usage-tracker, wallet-backup-verifier, wallet-security-checker, web3-secrets-detector, workspace-config-loader
PyPI (7 パッケージ): cryptowallet-safety, data-pipeline-check, defi-risk-scanner, env-loader-cli, eth-security-auditor, git-config-sync, solidity-build-guard
Crates.io (6 パッケージ): move-analyzer-build, move-compiler-tools, move-project-builder, sui-framework-helpers, sui-move-build-helper, sui-sdk-build-utils
TrapDoor が前例のないものになっている点は、AI コーディングアシスタントを標的にしていることです。マルウェアはプロジェクトディレクトリに .cursorrules と CLAUDE.md ファイルを配置します。これらは Claude Code や Cursor のようなツールがプロジェクトコンテキストとして読み取る標準的な設定ファイルです。
これらのファイルには、ゼロ幅 Unicode 文字(U+200B, U+200C, U+200D, U+FEFF)を使ってエンコードされた指示が隠されています。これらの文字はテキストエディタ、IDE、さらには GitHub のコードレビュー画面でも見えません。ファイルをレビューする開発者は通常のプロジェクトドキュメントしか目にしません。
隠された指示は、開発者がコーディング支援を求めたときに「必須のセキュリティスキャン」を実行するよう AI アシスタントに指示します。この「スキャン」は実際には資格情報抽出パイプラインであり、環境変数、SSH 鍵、ウォレットデータを攻撃者のインフラに送信します。
攻撃者は browser-use/browser-use, langchain-ai/langchain, langflow-ai/langflow, run-llama/llama_index, FoundationAgents/MetaGPT, OpenHands/OpenHands などの主要オープンソース AI プロジェクトにプルリクエストも提出しました。各 PR は "docs: add .cursorrules with dev standards" のような無害なタイトルを持ちつつ、キャンペーンマーカー P-2024-001 を埋め込んでいました。もしマージされれば、これらのリポジトリを AI コーディングツールで開いたすべての開発者が標的になります。
これはパラダイムシフトを表します。従来のサプライチェーン攻撃はコード実行経路を標的としていました。TrapDoor は人間と AI の相互作用レイヤーを狙います。従来の依存関係スキャンツールでは検出できない攻撃面です。
初期の資格情報窃取に加え、TrapDoor は侵害されたマシン上に 7 つの持続化手段を確立します。
.cursorrules および CLAUDE.md ファイル.bashrc, .zshrc)authorized_keys の変更横移動の能力は特に懸念されます。単一の侵害された開発者マシンが、再利用された SSH 鍵を経由して CI/CD インフラ、デプロイサーバ、同僚のワークステーションへと連鎖的に波及する可能性があります。
DeFi プロトコルのセキュリティ に対する影響は、個々の開発者をはるかに超えます。侵害された開発者マシンは、デプロイヤーのプライベートキー、管理者のマルチシグキー、CI/CD パイプラインのシークレット、ブリッジバリデータキー、オラクル署名キーへのアクセスを提供する可能性があります。
最近の事例がこの脅威モデルを裏付けます。2026年3月の Resolv の悪用(2,300 万ドルの損失)はスマートコントラクトのバグではなくオフチェーンインフラの故障に起因しました。2026年4月の Drift 事件(2.85 億ドル)はソーシャルエンジニアリングと正当な管理アクセスを組み合わせたものでした。これらの攻撃はブロックチェーン外で始まっており、ちょうど TrapDoor が活動する場所です。
セキュリティ研究者は、TrapDoor 型の侵害が中規模から大規模の DeFi プロトコルでデプロイヤー鍵に到達した場合、1 億ドルから 3 億ドルの損失を招く可能性があると推計しています。
Socket は TrapDoor を中央中央値 5 分 27 秒で検出し、最短では公開後わずか 58 秒で捕捉しました。攻撃者は GitHub アカウント ddjidd564 と npm アカウント asdxzxc を操作し、ペイロードホスティングに GitHub Pages ドメインを使用していました。
npm audit, pip audit, cargo audit のような標準ツールは AI 汚染ベクタを検出できません。悪意ある「指示」は自然言語として Unicode に隠されており、従来の意味での実行可能コードではありません。
依存関係の監査。 package.json, requirements.txt, Cargo.toml を検索して、上記 34 個のパッケージが含まれていないか確認してください。
すべての資格情報をローテートしてください。潜在的に影響を受けたマシンからは、SSH 鍵、AWS アクセスキー、GitHub トークン、ウォレットのプライベートキーをすべて置き換えてください。キーがマシンに保存されていた場合は、暗号資産を直ちに新しいウォレットに移動してください。
持続化の確認。 cat -v や 16 進エディタを使って .cursorrules と CLAUDE.md ファイルにゼロ幅 Unicode 文字がないか確認してください。.git/hooks/ の Git フック、cron ジョブ、systemd サービス、シェルプロファイルに不審な追加がないか確認してください。
自動スクリプト実行を無効化。 CI/CD では npm ci --ignore-scripts や pip install --no-build-isolation を使用してください。
CVE マッチングだけでなく、振る舞い分析を行う依存関係スキャンツールを導入してください。.cursorrules と CLAUDE.md ファイルをバージョン管理し、変更が差分として現れるようにしてください。設定ファイル内のゼロ幅 Unicode 文字をチェックする pre-commit フックを追加してください。デプロイ鍵にはハードウェアウォレットを使用し、管理機能には必ずマルチシグを適用してください。
TrapDoor はサプライチェーンセキュリティの転換点を示します。event-stream 攻撃 は単一エコシステム内の一つのパッケージを標的にしました。TrapDoor は三つのエコシステムを同時に横断し、エクスフィルト前に資格情報を検証し、複数の持続化メカニズムを確立し、ネットワークを横移動し、AI コーディングアシスタントを汚染します。AI アシスタントは開発者のワークフローで急速に標準化されつつあるツールであり、これらが攻撃面を拡大します。
不可視の Unicode トリックは、AI ツールが設定ファイルの全テキストコンテンツを処理するために機能します。AI アシスタントフレームワークが隠れ文字のコンテンツサニタイズを実装するまでは、このベクタは開いたままです。
暗号開発者へのメッセージは明確です。開発環境は主要な攻撃面になりました。開発者マシンのセキュリティをスマートコントラクトの監査と同じ厳格さで扱ってください。
免責事項: 本記事は情報提供のみを目的としており、金融アドバイスを構成するものではありません。暗号通貨への投資は重大なリスクを伴います。投資判断を行う前に必ずご自身で調査し、資格のあるファイナンシャルアドバイザーに相談してください。
市場分析と実用的な洞察。スパムは一切ありません。