Harness(ハーネス)は、2026年6月17日に発生したMastra AIフレームワークを狙った高度なソフトウェアサプライチェーン攻撃の技術的な詳細を公開した。Mastra AIは、AIエージェントやRAG(検索拡張生成)パイプラインの構築に広く利用されているTypeScriptフレームワークである。今回の攻撃では、悪意のあるコードがGitHubリポジトリー自体に混入されたのではなく、npmレジストリーレベルでパッケージが直接改ざんされるという、極めてステルス性の高い手法が用いられた。
攻撃者は、過去のコントリビューターアカウント「ehindero」の認証情報を多要素認証の不備などを突いて窃取し、公式の「@mastra」スコープ配下にある144個のパッケージをわずか88分間の間に大量に公開した。これらのパッケージのpackage.jsonには、攻撃者が事前におとりとして登録しておいた外部の依存パッケージ「easy-day-js」の特定バージョン(^1.11.21)を読み込む記述が挿入されていた。このケアット(^)指定の仕組みを悪用することにより、開発者やCI/CD環境が通常のインストールを実行した際、自動的に悪意のある最新バージョン(1.11.22)がダウンロードされて実行される仕組みになっていた。
パッケージのインストール時に自動起動するスクリプト(postinstall)は、Node.jsのTLS検証を強制的に無効化した上で、外部のコマンド&コントロール(C2)サーバーから二次ペイロードをダウンロードして実行する。この二次ペイロードは、実行中のプロセスから独立して動作するよう切り離され、元のインストール用スクリプトはフォレンジック調査を妨害するために実行後すぐにディスクから自己消去される。ダウンロードされたペイロードは、主要ブラウザーの資格情報、160種類以上の暗号資産ウォレット拡張機能、AWSの認証情報やSSHプロファイルなどを横断的に窃取し、永続化を確立した上でC2サーバーへ送信する機能を持っていた。
Harnessは、このようなレジストリーレベルの汚染攻撃を防ぐための対策として、開発環境やCI環境において自動的なパッケージスクリプトの実行を無効化(ignore-scriptsの設定)すること、ロックファイルをコミットして決定論的なインストールを強制すること、および公開元の署名やSLSAなどの来歴検証を厳格に適用することを強く推奨している。
出典:Harness
この製品の詳細については、Harness製品ページをご覧ください。