暗号資産やAIの開発者コミュニティを標的とした、新たなサプライチェーン攻撃が発覚した。Socketのセキュリティ研究者が「TrapDoor」と呼ぶこのマルウェアキャンペーンは、日々の開発作業で使う身近なツールに悪意あるコードを仕込むという、極めて狡猾な手口を用いている。
被害が想定される範囲は、暗号資産ウォレットの秘密鍵やクラウドサービスの認証情報、さらにはGitHubのトークンやSSH鍵にまで及ぶ。攻撃の背後にはAIの悪用も確認されており、単なる情報窃取型マルウェアの枠を超えた、高い組織性と技術力を備えた脅威であることが浮き彫りになった。
この記事では、TrapDoorの具体的な手口、なぜ開発者環境が狙われるのか、そして開発者個人が今日から取れる現実的な対策までを、専門家の視点からわかりやすく解説する。
新たなサプライチェーン攻撃「TrapDoor」の正体と標的

「TrapDoor」は、ソフトウェアの開発プロセスに直接介入する、いわゆるサプライチェーン攻撃の一種だ。サプライチェーン攻撃とは、正規のソフトウェアそのものや、その開発に使う部品(ライブラリやツール)に悪意あるコードを混入させる手口を指す。ユーザーが信頼してインストールしたソフトウェアが、実は攻撃者への扉を開いていた、という事態を引き起こす。
Socketの分析によれば、このキャンペーンは単一のパッケージリポジトリではなく、主要な3つのエコシステムを同時に狙っている点が特徴だ。攻撃者は、暗号資産やAI開発に携わる技術者が、日常的に利用するツールを入り口に選んだ。
npm、PyPI、Crates…3大パッケージマネージャーが一斉に狙われた
攻撃対象となったのは、以下の3つのパッケージマネージャーだ。いずれも、現代のソフトウェア開発には欠かせない基盤である。
- npm(Node Package Manager): JavaScriptとNode.jsのパッケージ管理システムだ。世界中のウェブサイトやウェブアプリケーションの大部分が、npmに公開された無数のライブラリに依存している。
- PyPI(Python Package Index): プログラミング言語Pythonの公式パッケージリポジトリだ。データサイエンス、機械学習、AI開発の分野で圧倒的なシェアを誇り、多くの研究やプロダクトで利用されている。
- Crates: プログラミング言語Rustのパッケージレジストリだ。Rustは高速性と安全性から、ブロックチェーンの基盤(例:Sui、Solana)や高性能なシステム開発に採用事例が急増している。
攻撃者は、これら3つのリポジトリに、一見すると便利な「開発支援ツール」を装った悪意あるパッケージを投稿した。開発者がプロジェクトに組み込むのを待ち受ける、待ち伏せ型の攻撃だ。
AIが悪用された攻撃の高度な手口

TrapDoorの手口は、単なる模倣や偽装にとどまらない。その開発プロセスには、AI技術を積極的に悪用した痕跡が色濃く残っている。
開発支援を装った偽装パッケージ名
攻撃者が用意した偽パッケージの名称は、開発者の興味を巧みに引くものばかりだ。Socketの報告によると、「開発ヘルパー」「プロジェクト自動セットアップツール」「モデルルーティングユーティリティ」「プロンプトエンジニアリング支援」「Solidity用ツールキット」「SuiやMove言語用のビルドヘルパー」など、現在の開発トレンドを的確に捉えたキーワードが並ぶ。
SolidityはEthereumなどのスマートコントラクト開発言語、MoveはSuiやAptosといった新興ブロックチェーンで使われる言語だ。これらの名称は、Web3や暗号資産の開発者をピンポイントで狙っていることを如実に示している。つまり、「自分たちの開発を楽にしてくれる便利ツールだ」と誤認させ、深く考えずにインストールさせるのが目的なのだ。
GitHubを拡散経路とし、AIが痕跡を残す
これらの悪意あるパッケージの拡散と開発には、開発者向けプラットフォームであるGitHubが利用された。Socketは、攻撃者がGitHub上で示した活動に、AI支援による高速な開発サイクルの兆候を見出している。広範なセキュリティ関連の雛形、汎用的なおとりリポジトリ、プロンプトインジェクションに関する文書、そして不完全な情報抽出のコンセプトが、実際に動作するマルウェアの構成要素と混在していたという。
これは、攻撃者が生成AIを用いて、短時間で大量の偽装用コードやドキュメントを生成し、攻撃の準備を効率化した可能性を強く示唆する。サイバー攻撃の世界でも、AIによる「生産性向上」が悪用されている現実がここにある。
なぜ開発者環境こそが最大の標的となるのか

TrapDoorの手口は、なぜこれほどまでに開発者に焦点を当てるのか。その理由は、開発者のマシンにこそ、攻撃者にとって最高の「獲物」が集中しているからに他ならない。
暗号資産ウォレットや認証情報が眠る「宝の山」
暗号資産やブロックチェーンの開発者は、その業務の性質上、極めて価値の高いデジタル資産を日常的に扱う。具体的には、以下の情報が開発マシンに保存されている可能性が高い。
- 暗号資産ウォレットの秘密鍵やシードフレーズ: テスト用や、プロジェクトのデプロイに使うためのウォレット情報が、設定ファイルなどに平文で残っているケースは珍しくない。
- クラウドサービスの認証情報: AWSやGCPなどのクラウド環境へアクセスするためのAPIキーやシークレットキーだ。これが漏洩すれば、サーバーを乗っ取られ、マイニングや更なる攻撃の踏み台にされる。
- GitHubの個人用アクセストークン: これが窃取されると、プライベートリポジトリのソースコード全てが盗み出される。プロジェクトの知的財産が根こそぎ失われるだけでなく、コード内にハードコードされた別の認証情報も芋づる式に漏洩する。
- SSH鍵: リモートサーバーへ安全に接続するための秘密鍵だ。これが盗まれれば、攻撃者は正規の開発者になりすまし、本番サーバーに自由に侵入できるようになる。
一般ユーザーを狙うマルウェアよりも、一人の開発者を狙った方が、一度に得られる情報の価値と範囲が桁違いに大きい。だからこそ、開発者環境は「宝の山」として攻撃者から狙われ続けている。
GitHub自体が内部リポジトリへの不正アクセスを報告
この問題をさらに深刻にしているのが、開発の中心地であるGitHubそのものも、相次いでセキュリティ侵害を受けているという事実だ。5月20日、GitHubは、ある従業員の端末が不正アクセスを受けた結果、同社の内部リポジトリへの侵入を許したと発表した。
GitHubのような鉄壁のセキュリティを誇る企業でさえ、侵入を許す。これは、ソフトウェアサプライチェーンの根幹がいかに脆弱で、攻撃の連鎖がいかに起こりやすいかを示す象徴的な出来事だ。開発者は、自分たちが利用するプラットフォーム自体が危険に晒されているという前提で防御を固める必要がある。
開発者が今すぐ取るべき5つの防御策

TrapDoorの脅威は高度だが、個人の開発者レベルでできる対策は確かに存在する。もはや「自分は大丈夫」という根拠のない安心感は捨て去るべきだ。ここでは、今日から実践できる5つの防御策を示す。
1. パッケージインストール前に「疑う習慣」を身につける
新しいパッケージをプロジェクトに追加する前に、以下のチェックを必ず行うこと。数分の手間が、数千万円の損失を防ぐ。
- ダウンロード数と更新頻度を確認する: ダウンロード数が不自然に少なかったり、数年前から更新が止まっているパッケージは要注意だ。活発にメンテナンスされているかが、信頼性の一つの目安となる。
- リポジトリの活動を精査する: リンクされているGitHubリポジトリを訪れ、スター数、Issueの対応状況、コントリビューター数を確認しよう。偽装パッケージの場合、リポジトリがスカスカだったり、意味のないコミットだけが機械的に積まれていることが多い。
- 作者の情報を調べる: パッケージ作者が信頼できる人物か、コミュニティで認知されているかどうかを検索する。名前が無かったり、他の有名パッケージ作者に似せた偽名の可能性も疑ってみる。
2. 開発環境から認証情報を完全に排除する
「設定ファイルにAPIキーを直接書いて、うっかりGitHubに公開してしまった」というミスは、誰にでも起こりうる。これを防ぐためには、そもそもキーをコードや設定ファイルに直書きしないことが鉄則だ。代わりに、環境変数を利用したり、HashiCorp VaultやAWS Secrets Managerといった専用のシークレット管理ツールを使うべきだ。
3. 最小権限の原則を徹底する
GitHubのトークンやクラウドのAPIキーを発行する際は、付与する権限を「必要最低限」に絞り込む。全リポジトリへの読み書き権限を持つトークンを使い回すのではなく、操作対象のリポジトリと許可するアクション(読み取り専用など)を限定した、細かなトークンを用途別に発行する習慣をつける。
4. パッケージの脆弱性をスキャンするツールを導入する
npm auditやpip-auditなどのコマンドラインツールは、既知の脆弱性を含む依存パッケージを検知してくれる。さらに一歩進んで、Socketのようなサプライチェーンセキュリティに特化したサービスをCI/CDパイプラインに組み込めば、怪しいパッケージがインストールされる手前でブロックできる。自動化できる防御は、可能な限り自動化することが肝心だ。
5. 開発用と個人用のアカウント・端末を完全に分離する
個人の暗号資産ウォレットやネットバンキングと、業務用の開発環境を同じマシンに入れることは極めて危険だ。もしマルウェアに感染した場合、全ての資産が一瞬で奪われる可能性がある。理想的には物理的に異なる端末を使うべきだが、難しい場合は仮想マシンやコンテナを使って開発環境を厳重に隔離することも検討したい。
この記事のポイント
- 「TrapDoor」は、npm、PyPI、Cratesの3大パッケージマネージャーに悪意あるパッケージを仕込む、大規模サプライチェーン攻撃である。
- 開発支援ツールを装い、暗号資産やAI開発者が持つウォレットの秘密鍵や認証情報を狙っている。
- 攻撃の開発と拡散にはAIが悪用され、プラットフォームとしてGitHubも利用された痕跡がある。
- 開発者個人は、インストール前の確認、認証情報の排除、最小権限の徹底など、今すぐに具体的な防御策を取る必要がある。
- 自らの開発環境が攻撃者にとっての「最大の標的」であるという認識を持つことが、最初の防御線となる。

暗号資産とブロックチェーンの可能性を追求するエミリー。
暗号資産投資、DeFi、NFT、WEB3、メタバースといった最先端分野を深く理解し、「エミリーズ・クリプト・インサイダー」を運営。
分かりやすい解説で、ブロックチェーン革命の潮流を一般に広めることを目指す。初心者から上級者まで、最新情報を求めるすべての人に役立つ情報発信を心がけている。
