本文へスキップ
記事一覧に戻る
security4 min

npm パッケージ tensorlake が乗っ取り:トークンを失効させるとホームを消す Shai-Hulud ワーム

tensorlake npm package hijacked: Shai-Hulud worm wipes your home folder if you revoke the token

KGA IT
2026-10-124 min
SecuritySupply ChainnpmMalwareAI Agents

何が起きたか

2026年10月8日 01:12 UTC(日本時間10:12)、AI エージェント向けサーバーレス・サンドボックス基盤の SDK である npm パッケージ tensorlake のバージョン 0.5.144 が、認証情報を盗む Shai-Hulud 系のワーム を含んだ状態で公開されました。週間ダウンロード数は約 1万2000〜1万8000 です。メンテナーの勧告によると公開期間は約 1時間40分 で、テレメトリ上は利用が確認されていません。Socket は公開から 11分後 に悪性バージョンを検知しました。

公開された分析によると、Tensorlake の PyPI と Cargo のパッケージは影響を受けていません。

侵入経路

攻撃は npm ではなく GitHub から始まりました:

  • 10月7日、攻撃者は メンテナーの管理者アカウント を使い、Web 画面から tensorlakeai/tensorlake の main ブランチへ直接コミット しました。プルリクエストはありません
  • 8件のコミットでペイロードを調整し、package.json に preinstall フックを追加
  • 約20時間後、同じアカウントが 公式の公開ワークフロー を手動で実行

その結果、パッケージは 有効な来歴証明(provenance) 付きで公開されました。StepSecurity が指摘するとおり、来歴証明が示すのはパッケージが どこで ビルドされたかであり、コードが安全かではありません。

マルウェアの動作

  • preinstall フックが難読化されたローダーを実行し、Bun ランタイムをダウンロードして856KBのペイロードを起動
  • npm と GitHub のトークン、クラウド、Kubernetes、Vault の認証情報、そして AI コーディングツールの設定ファイル を窃取
  • 自己拡散 を試みる:ユーザーの他のパッケージを再公開し、偽の作者「claude@users.noreply.github.com」とメッセージ「chore: update dependencies」で、リポジトリに .claude と .vscode のファイルをコミット
  • 人質トークン: 盗んだ GitHub トークンを60秒ごとに最大24時間確認する監視プロセスを設置。トークンが失効されるとホームディレクトリを削除 する(Linux と macOS では rm -rf ~/)。罠が作動する条件については研究者の間で見解が分かれています

2ファイル構成(setup.mjs と Math_Symbol.js)は、TeamPCP が公開した「mini Shai-Hulud」コードを基にした8月の keyv、cacheable への攻撃と同じです。同一グループである証拠はありません。

インストールしてしまった場合

  1. トークンを失効させる前にマシンを隔離 し、監視プロセスを停止する。ホームディレクトリを失わないため
  2. マシン上のすべての認証情報を侵害済みとみなす:npm、GitHub、クラウド、AI エージェントの設定。その後すべてをローテーション
  3. 見慣れない作者による「chore: update dependencies」のコミットや、新しいワークフローがないかリポジトリを確認
  4. 自分のパッケージの最近の公開バージョンを確認

教訓

  • 管理者も含め、main へのすべての push にレビューを必須 にする
  • メンテナーのアカウントには ハードウェアキー(FIDO2) を使う
  • 公開直後のバージョンをすぐ入れない 待機期間(クールダウン) を設け、可能ならインストールスクリプトを無効にする
  • AI コーディングツールは今や標的。その設定には価値の高い鍵が入っている

出典


ソフトウェアサプライチェーンとパイプラインを守りたいですか?KGA IT は無料相談を受け付けています:kga-it.com

技術的な課題を一緒に解決しませんか?

KGA IT Solutionsは、AI・クラウド・DevOpsの専門チームがお客様の課題に最適なソリューションを提供します。

お問い合わせ