休眠中のコントリビューターアカウントがMastraのnpmパッケージスコープ全体を侵害
Marian Corneci
2026年6月17日
23 分で読めます202@mastra npmスコープ全体を@mastra/coreもeasy-day-jsはdayjsに
対応が@mastraの
更新:Snykは、@mastra/node-speakerの
要約
インシデント:
@mastranpmスコープの乗っ取り。 悪意ある 依存関係を 注入して 大量再 公開 悪意ある
依存関係 : easy-day-js@1.11.22(dayjsを装い、 ドロッパーと して 動作) Snykアドバイザリ:SNYK-JS-EASYDAYJS-17353313、
悪意ある コードの 埋め込み。 影響を 受けるのは easy-day-js 1.11.21および1.11.22影響を
受ける パッケージ:202 6年6月17日に 再公開された @mastraスコープのほぼ全体。 Mastraに よる 修正では、 公開可能な 142パッケージが 対象 注目すべき
バージョン: @mastra/core@1.42.1、mastra@1.13.1、create-mastra@1.13.1CVE / CVSS:割り当てなし。
進行中の サプライチェーンインシデントであり、 Mastraの ソースコード自体は 改変されていません ペイロード:クロスプラットフォーム対応の
暗号資産ウォレット窃取ツールと、 永続化機能を 備えた リモートアクセス型トロイの 木馬 (RAT) 状況:
easy-day-jsはnpmから 削除され、 ehinderoはスコープの オーナーではなくなりました。 Mastraは クリーンな バージョンへの フォワードロールを 実施済みです (PR #18056)。 @mastra/core latestはクリーンな 1.42.0に戻っています。 すでに 取得した 侵害バージョンは、 ホスト侵害と して 扱ってください。
攻撃の手口
侵入の@mastraスコープは、ehinderoから@mastra/coreの
このehindero2016@tutamail[.]comに
攻撃を運んだもの:すべてのpackage.jsonに加えられた1行
攻撃者はpackage.jsonとeasy-day-jsがpackage.jsonに
このdayjsをeasy-day-js@1.11.21をdayjs.min.jsからeasy-day-js@1.11.22をlatestタグを1.11.22は^1.11.21をnpm installでは、
続いて@mastra/*スコープのmastra、create-mastra、mastracodeが
一部のlatestよりも上位の@mastra/schema-compat@1.2.12、@mastra/react@1.0.1、@mastra/voice-playai@0.12.2)。
マルウェアのドロッパー:TLSを無効化し、取得・分離実行・削除
easy-day-js@1.11.22には、postinstallフックとsetup.cjsが
NODE_TLS_REJECT_UNAUTHORIZED='0'を設定して TLS証明書の 検証を 無効化し、 生の IPアドレス上の 自己署名証明書に 対する HTTPS取得を 可能に します。 インストールを
記録する マーカーファイル ( ~/.pkg_history, ~/.pkg_logs)を書き込みます。 第2段階の
ペイロードを https://23.254.164[.]92:8000/update/49890878(Hostwindsでホスト)から ダウンロードします。 一時
ディレクトリに 書き込み、 コンソール出力の ない、 分離された 非表示の バックグラウンドプロセスと して 起動します。 フォレンジック調査の
痕跡を 減らすため、 自身を 削除します。
ペイロード:複数プラットフォーム対応の暗号資産窃取ツールとRAT
第2段階の221c45a790dec2a296af57969e1165a16f8f49733aeab64c0bbd768d9943badf)は
また、CN=www.wolfssl.com、23.254.164[.]123/49890878)
macOS:
~/Library/LaunchAgents/com.nvm.protocal.plistにLaunchAgentを 作成 Linux:systemdユーザーサービス
~/.config/systemd/user/nvmconf.serviceWindows:
C:\ProgramData\NodePackagesにPowerShell実行ファイルを 配置
クリーンなsetupの
影響分析
@mastra/coreだけでmastraは
ただし、
コミット済みロックファイルで
インシデント前の バージョンを 固定: npm ciでは悪意ある リリースは 取得されません。 問題ない 可能性が 高いですが、 確認してください。 ロックファイルが
ない、 範囲指定が 緩い、 または 6月17日以降に 新規インストール/ロックファイルを 再生成:キャレット範囲に より、 武装済みの easy-day-js@1.11.22が解決され、 postinstallフックが実行された 可能性が あります。
ペイロードは
検出:影響を受けていないか確認する
1. easy-day-jsが
2. 解決済みの @mastra バージョンを
3. Snykで
4. 露出期間中に
5. 送信ログを23.254.164[.]92:8000、23.254.164[.]123、23.254.164.0/24内の
Snykを

Shai-Hulud NPM Attack: Remediation with Snyk(npmサプライチェーン攻撃で
修復
もeasy-day-js が@mastra バージョンが
悪意ある
クリーンな
バージョンに アップグレードし、 単に 古い バージョンへ 戻すだけでは 済ませないでください。Mastraは、 公開可能な 142個すべての パッケージを クリーンな リリースへ フォワードロールし、 侵害バージョンより 後の バージョンへ latestディストタグを移動させました (PR #18056、PR #18049)。 アンパブリッシュには 頼っていません。 現行の クリーンな リリース ( 例: @mastra/core@1.42.0以降)に更新し、 ロックファイルを クリーンな 状態で 再生成して、 easy-day-jsの痕跡を すべて 削除してください。 攻撃者は 一部の バージョンを 正規の latestより上に 公開している ため、 更新先が 既知の 安全な Mastraリリースであり、 攻撃者の バージョンが 残った ものではない ことを 必ず 確認してください。 ホストから
アクセスできた すべての 認証情報を ローテーションしてください。クラウドキー、 CIシークレットと トークン、 LLMなどの APIキー、 npmトークン、 SSHキーが 対象です。 Mastraは エージェントフレームワークである ため、 LLMプロバイダーの キーが 存在する 可能性は 特に 高いでしょう。 暗号資産ウォレットを
移行してください。マシン上の ブラウザープロファイルに 対象の ウォレット拡張機能が あった 場合、 シードと キーが 漏えいした ものとみなし、 クリーンな デバイスで 新しい ウォレットに 資金を 移してください。 永続化の
痕跡を 削除してください。LaunchAgent、 systemdユニット、 または C:\ProgramData\NodePackages内の配置物を 削除し、 分離実行された プロセスを 終了して、 ドロッパーの マーカーを 消去してください。 可能であれば
システムを 再構築してください。永続化が 確立された RATに 対しては、 クリーンな 環境から 再構築するのが 最も 安全です。
今後、
インストールスクリプトを
デフォルトで 無効に するには npm config set ignore-scripts trueを設定し、 ビルドに 本当に 必要な 場合のみ 許可してください。 これに より postinstallドロッパーを無効化できます。 Snykのnpmセキュリティの ベストプラクティスの ひとつです。 ロックファイルを
コミットし、 CIでは npm ciを使って、 ビルドの 再現性を 確保しましょう。 latestタグが 変更されても、 依存関係が 気付かない うちに 再解決される ことを 防げます。 来歴を
必須に する。 Mastraは CIからの 公開時に SLSA来歴を 生成していましたが、 必須ではなかった ため、 通常の トークンだけで 証明書なしに 公開できる 状態でした。 同じ 問題に より、Nxパッケージの 侵害でも 悪意ある バージョンが 公開されました。 利用時に 来歴を 検証する ことで、 攻撃の ハードルを 上げられます。 ファントム依存関係に
注意する。 成熟して 広く 使われている パッケージに、 突然、未 使用の 依存関係が 1つ 追加されるのは、 まさに 今回のような 兆候です。 リスクに 基づく優先順位付けと 環境全体の 資産検出に より、 影響を 受けた パッケージが 実際に どこに 導入されたか、また、 どの インスタンスが 外部から 到達可能で 認証情報を 保持しているかを 特定できます。 スコープ全体の インストールを 一つ 残らず 追い かけるのではなく、 まず 露出した ホストを 修復しましょう。
関連するSnykの解説
これは、

Mini Shai-Hul
同じ
タイムライン
202
4年後 半~202 5年前半:アカウント ehinderoが@mastra/coreの正規の アルファ版を 公開した 後、 休眠状態に なります。 スコープへの アクセス権は 取り消されませんでした。 202
6年6月1 6日: dayjsになりすました、 問題の ない easy-day-js@1.11.21が偽装用と して 公開されます。 202
6年6月17日、 約01:01 U TC:悪意ある easy-day-js@1.11.22が公開され、 latestタグが付けられます。 202
6年6月17日、 約01:12~02:36 U TC: @mastra/*スコープの大部分が、 easy-day-js依存関係を注入された 状態で 再公開されます。 202
6年6月1 7日:複数の セキュリティベンダーが インシデントを 公表し、 easy-day-jsはnpmから 削除され、 悪意ある バージョンには フラグが 付けられます (Snykアドバイザリ SNYK-JS-EASYDAYJS-17353313)。202
6年6月17日 (同日) :Mastraは 対応と して、 不正な オーナーを 削除し、 緊急の クリーンな 公開に 向けた changesetを 作成し (PR #18049)、 公開可能な 142個すべての パッケージを 新しい バージョンに 更新して 公開し (PR #18056)、 攻撃者が latestを上回る バージョンを 公開していた パッケージでは、 明示的に より 高い バージョンを 固定しました (PR #18060)。
Snykで サプライチェーンを 安全に
回答者の



