2026-06-17

144のMastra npmパッケージがハイジャックされた貢献者アカウントを通じて侵害される

2026年6月17日、Mastraのnpmパッケージ144件が、ハイジャックされた貢献者アカウントを通じて侵害されました。この攻撃は「easy-day-js」と呼ばれるソフトウェアサプライチェーン攻撃の一環であり、悪意のあるコードは第三者ライブラリを介して導入されました。MastraはAIアプリケーションの開発に広く使用されており、影響を受けたパッケージは918K以上の週次ダウンロードを記録しています。攻撃者は、正当な貢献者のアカウントをハイジャックし、短時間で140以上の悪意のあるパッケージを公開しました。

メトリクス

このニュースのスケール度合い

5.5 /10

インパクト

7.0 /10

予想外またはユニーク度

6.5 /10

脅威に備える準備が必要な期間が時間的にどれだけ近いか

8.5 /10

このニュースで行動が起きる/起こすべき度合い

8.5 /10

主なポイント

  • Mastraのnpmパッケージ144件が、ハイジャックされたアカウントを通じて侵害されました。
  • 攻撃者は、悪意のあるコードを含まないパッケージに第三者ライブラリを追加する手法を用いました。

社会的影響

  • ! この攻撃は、オープンソースソフトウェアの信頼性に対する懸念を引き起こしています。
  • ! 開発者は、依存関係の管理においてより慎重になる必要があります。

編集長の意見

今回のMastra npmパッケージの侵害は、ソフトウェアサプライチェーン攻撃の新たな脅威を浮き彫りにしています。特に、オープンソースプロジェクトは多くの開発者に利用されているため、攻撃者にとって魅力的なターゲットとなります。攻撃者は、正当なアカウントをハイジャックすることで、信頼性の高いパッケージを悪用し、開発者の環境に侵入することが可能です。このような攻撃は、開発者が依存関係を管理する際に、より慎重になる必要があることを示しています。特に、npmのようなパッケージ管理システムでは、悪意のあるコードが含まれていないかを確認するための厳格な監査が求められます。今後は、パッケージの公開時にプロバナンスを必須とし、署名検証を行うことで、こうした攻撃を未然に防ぐことが重要です。また、開発者は、使用するパッケージの信頼性を確認し、定期的に依存関係を見直すことが推奨されます。これにより、潜在的な脅威を早期に発見し、対策を講じることができるでしょう。

解説

Mastra配下のnpm 144パッケージが乗っ取りで汚染——AI開発者の秘密情報を狙うサプライチェーン攻撃の急所

今日の深掘りポイント

  • 正当な貢献者アカウントのハイジャックを起点に、144パッケージが短時間で汚染されています。信頼の鎖の“根元”が突破されている点が本件の本質です。
  • 悪性コードは第三者ライブラリを新規に差し込む形で導入されています。コード差分では見えにくく、依存関係のドリフトが主要な攻撃面になっている点が要警戒です。
  • 影響は週次約918Kダウンロードの@mastra/coreを含む広範なエコシステムに及びます。AI開発現場のAPIキーやクラウド資格情報の流出リスクが高いです。
  • インシデント前提で、即時のキー再発行、汚染バージョンのロールバック、CI/開発端末の監査を優先度高で進めるべき局面です。
  • 再発前提の備えとして、依存関係の固定とスクリプト実行ポリシー、プロバナンス検証、ビルド環境のイグレス制御を“デフォルト設定”に格上げすることが要諦です。

はじめに

オープンソースの強みはコラボレーションにありますが、その接点が多いほど攻撃者にとっても足掛かりは増えます。今回のMastra配下パッケージの汚染は、単なるタイポスクワッティングではなく、信頼できる貢献者のアカウントを奪取して正面突破する手口です。依存関係の一本が悪性に差し替わるだけで、開発端末やCIが持つ“鍵束”(AIプロバイダのAPIキー、クラウドの長期鍵、リポジトリやレジストリのトークン)まで吸い上げられるのが現実です。現場に効くのは、スピード感のある暫定封じ込めと、標準設定の見直しです。

本稿は公開情報を基に、事実と編集部の洞察を切り分け、CISO・SOC・TIの意思決定のために「いま何を止め、何を変えるか」を具体化します。

深掘り詳細

事実関係(本日時点の整理)

  • 2026年6月17日、Mastraのnpmパッケージ計144件が、ハイジャックされた正当な貢献者アカウントを通じて侵害されています。攻撃は「easy-day-js」と呼ばれるサプライチェーン作戦の一環と報じられています。
  • 悪意のコードは、既存パッケージに第三者ライブラリを追加する形で注入されています。汚染は短時間に140件超の公開更新として連鎖的に行われています。
  • @mastra/core(週次ダウンロード約918K)を含むパッケージ群が影響範囲にあります。
  • 目的はAIアプリ開発者のAPIキーなど秘密情報の窃取と推測され、開発・CI環境での実行を狙った設計が示唆されています。
  • 出典(報道): The Hacker News: “144 Mastra npm Packages Compromised via Hijacked Contributor Account” (2026-06-17)

編集部のインサイト(なぜ今回の一撃が深いのか)

  • 入口の“正当性”を逆手に取る手口です。アカウント奪取で正規サインのまま配布されるため、レピュテーションやメンテナシップの信頼に依存する従来の審査では捕捉が困難です。検知の主戦場は「コード差分」より「依存グラフの突然変異」に移っています。
  • AI開発の“鍵束集中”が打撃を大きくします。LLM/ベクタDB/モデル推論APIのキーは環境変数や.envに同居しがちで、収集効率が高いです。これらは金銭化しやすく、二次被害(不正利用コスト、モデル呼び出し枠の枯渇、データ流出)を招きます。
  • 公開から短時間で多数に汚染が広がった事実は、自動化された発行パイプラインや長寿命トークンの奪取を示唆します(仮説)。攻撃者に“更新の自由”を与えると、復旧の初動が遅れた組織ほど長い時間、秘密情報を吸い上げられます。
  • 「クリーンな自前コード+悪性の第三者ライブラリ」という構図は、レビュー文化の死角です。リリース前レビューがコード中心のままだと、transitive dependencyのピボットを見逃します。SBOMと差分監視をビルドゲートに組み込むべき段階です。

脅威シナリオと影響

以下は公開情報と一般的なサプライチェーン攻撃の知見から構成した仮説シナリオです。個社の状況に応じて優先度を調整してください。

  • 想定シナリオA(開発端末)

    • 開発者が汚染パッケージを導入・更新し、インストールスクリプトや初期化コードが実行されます。
    • 攻撃コードが環境変数、.env、SSH鍵、クラウド認証情報、AIプロバイダAPIキー等を収集し、外部に送信します。
    • 影響は個人の鍵流出に留まらず、社内リポジトリやSaaSの被害へ拡大します。
  • 想定シナリオB(CI/CD)

    • 汚染パッケージがCIで解決され、ビルド権限で実行されます。
    • CIのシークレット、リリース署名鍵、レジストリのpushトークン、クラウドの展開鍵が窃取・悪用され、アーティファクト汚染や不正デプロイに波及します。
  • 想定シナリオC(実行環境)

    • 一部パッケージがサーバ起動時に通信する設計であれば、実行環境からの機密収集やバックドア化が生じる可能性があります(依存と設定に依存、仮説)。

MITRE ATT&CKマッピング(仮説)

  • Initial Access: Supply Chain Compromise(T1195)、特に依存ライブラリ汚染(T1195.002)です。
  • Credential Access: Unsecured Credentials(T1552)、うちファイルや鍵の窃取(T1552.001/004)です。
  • Execution: User Execution(T1204)やCommand and Scripting Interpreter: JavaScript/Node.js(T1059.007)です。
  • Defense Evasion: Obfuscated/Compressed Files and Information(T1027)です。
  • Discovery: System Information Discovery(T1082)、Process Discovery(T1057)です。
  • Exfiltration: Exfiltration Over Web Service(T1567)またはExfiltration Over C2 Channel(T1041)です。
  • Valid Accounts(T1078)は、公開側のアカウント乗っ取りに該当します。

インパクトの読み筋

  • 侵入の確度と行動可能性が高く、広い開発エコシステムに直撃するため、組織横断の一斉対応が必要な類型です。単発の“踏み台被害”ではなく、認証情報の窃取から二次被害までを一連の事案として扱うのが得策です。

セキュリティ担当者のアクション

時間軸での優先度整理です。自社のビルド/運用事情に合わせて粒度を調整してください。

  • 0〜24時間(封じ込めと鍵の防火帯)

    • 影響パッケージの使用有無を即時棚卸しします。package-lock.json/yarn.lock/pnpm-lock.yamlで“mastra”や当該第三者ライブラリ名(報道のキャンペーン名を手掛かりに)を横串検索します。
    • 該当があれば、汚染前の既知の安全バージョンへロールバックし、lockfileを固定します。CIは一時的に“npm ci --ignore-scripts”相当のスクリプト禁止モードで再構成します(依存が許す範囲で)です。
    • 開発端末/CIでのビルド履歴期間におけるネットワーク送信ログを収集し、npm/nodeの子プロセス実行と外部宛のHTTP(S)通信を相関分析します。未知ドメインへのPOSTや、ビルド直後の送信を重点確認します。
    • 秘密情報の先回り防御として、AIプロバイダAPIキー、クラウド長期鍵、レジストリ/リポジトリのPAT・デプロイトークンを「一括再発行+旧キー無効化」します。影響可能性がある全環境(開発端末、CI、実行環境)をスコープに含めます。
    • 社内レジストリ(プロキシ)で当該パッケージの汚染バージョンをブロックします。外部レジストリへの直接アクセスは一時的に停止・許可制に切り替えます。
  • 24〜72時間(再現性のある安全設定へ)

    • 依存差分の常時監視を開始します。SBOMを生成し、直近24〜48時間のビルドで追加・更新された依存のリスクレビューを実施します。
    • CIのデフォルトを「スクリプト無効+明示許可」に転換します。postinstall等のライフサイクルスクリプトが必須なパッケージのみ例外登録します。
    • CI/CDのイグレスを制御し、ビルド時の外部通信をレジストリ等の許可先に限定します。未知ドメイン宛の送信は遮断・アラート化します。
    • 発行者なりすまし対策として、上流パッケージの公開プロセスに関するプロバナンス(誰が、どのビルド環境で、どのソースから生成したか)の有無を評価指標に加えます。検証可能なものを優先採用します。
    • 開発端末の衛生改善として、長寿命トークンを廃し、SSO・短期アクセストークン・環境分離(Dev Container等)を普及させます。
  • 1週間以内(持続的な耐性の実装)

    • 重要依存のベンダリング(内部ミラーリング)や承認リスト制を導入し、突然の依存増加・乗り換えをゲートで阻止します。
    • クリティカルプロジェクトは再現可能ビルド(reproducible build)とリリース署名の検証をパイプラインに組み込みます。
    • サプライチェーン・インシデントを想定した卓上演習を実施し、「依存差し戻し」「鍵一斉失効」「開発停止の判断」「対外説明」の意思決定ラインを整備します。
  • ハンティング観点(環境横断の共通シグナル)

    • 親プロセスがnpm/nodeで、直後にcurl/wget/powershell等を起動する振る舞い。
    • node/npmプロセスが短時間に.env、.npmrc、~/.ssh、~/.aws等を読み出すパターン。
    • ビルド直後の外向きHTTPS POST(未知ドメイン)と環境変数列挙の相関。
    • ローカルキャッシュやlockfileに見慣れない第三者ライブラリが突然出現した痕跡。
  • ガバナンスと継続改善

    • 「依存を増やすときは、リスク説明責任を伴う」ことをエンジニアリング標準に組み込みます。依存追加のPRにSBOM差分とリスクノートを必須化します。
    • 上流メンテナのアカウント保護(2FA、発行用トークンの最小権限・短寿命)有無も、採用判断の一要素にします。
    • 社内で公開するパッケージは、発行プロセスのプロバナンスや署名を整備し、消費側でも検証できるようにします。

本件は、スコアの読み筋からも「起きやすく、対処の選択肢があり、時間との勝負」という性格が色濃いです。まずは“鍵束を燃やして作り直す”(迅速な無効化と再発行)を合言葉に、封じ込めの幅を取りつつ、日常のデフォルト設定を一段引き上げることが、最小の混乱で次の一撃に備える最短ルートです。

参考情報

背景情報

  • i Mastraは、AIアプリケーションを構築するための人気のあるオープンソースのJavaScriptおよびTypeScriptフレームワークです。このフレームワークは、クラウドインフラストラクチャとAI開発の交差点に位置しており、非常に高い価値を持つターゲットとなっています。
  • i 攻撃者は、npmアカウントをハイジャックし、140以上の悪意のあるパッケージを短時間で公開しました。これにより、開発者がパッケージをインストールする際に、悪意のあるコードが実行される可能性があります。