週間1万5800ダウンロードのパッケージが改ざんされ、インストールしただけでインフォスティーラーが起動する——npmのサプライチェーン攻撃としては典型的だが、今回の「jscrambler」の一件はいくつかの点で目を引く。

何が起きたか

コード保護ツールとして使われるnpmパッケージ「jscrambler」のバージョン8.14.0が2026年7月11日に改ざんされた。悪意あるコードはRust製のOS別バイナリとしてintro.jsなどの難読化ファイルに埋め込まれ、preinstallフックからユーザーのコードが実行される前に起動する仕組みだった。窃取対象は暗号資産ウォレット、Claude・Cursor・VS CodeといったAIコーディングツールの設定、GCP/AWS/Azureの認証情報、ブラウザデータ、SSH鍵、OSのキーリングと幅広く、開発環境そのものを丸ごと狙う内容だった。文字列自体はChaCha20-Poly1305で個別に暗号化されていたが、解析側は約2400件を復元できたという。

検知は早かったが、攻撃は止まらなかった

Socketは公開からわずか6分で改ざんを検知したという。週間ダウンロード数から単純に逆算すると、1分あたりのインストール数はおおよそ1〜2件程度になる計算で、検知までの6分間で被害に遭ったインストールはごく少数だった可能性が高い。ただし話はそこで終わらなかった。検知後も8.16.0から8.20.0まで複数の悪性バージョンが立て続けに公開され、最終的にnpm側がメンテナーの公開権限を剥奪し、8.22.0でようやくクリーンな状態に戻された。「検知の速さ」と「攻撃の収束の速さ」は別問題だということを示す事例だ。

AI時代のサプライチェーン攻撃という側面

過去のnpmサプライチェーン攻撃と比べても、今回窃取対象にAIコーディングツールの設定が明示的に含まれていた点は時代の変化を感じさせる。開発者のPCにはAPIキーやMCPサーバーの認証情報が集中しており、攻撃者はその実態を正確に理解した上でターゲットにしている。CIやローカル環境でpreinstallスクリプトの実行を制限する設定を見直す価値は十分にある。事件の詳しい時系列はSocketの分析(原文)にまとまっている。