「カレンダーの連続記録(ストリーク)を管理する便利なツール」——そう名乗るnpmパッケージが、実は裏でLinuxサーバーへの侵入口を仕込んでいたことが分かりました。しかも厄介なのは、これらのパッケージが「本当に機能する」という点です。見た目も動作も普通のツールなのに、裏でAI搭載のバックドアをこっそり設置する。今回はこの巧妙なサプライチェーン攻撃の手口と、開発者が気をつけるべきポイントを整理します。
14個の偽装パッケージ、正体は「動くマルウェア」
セキュリティ研究者たちが発見したのは、カレンダー・連続記録(ストリーク)管理系のユーティリティを装った、合計14個の悪意あるnpmパッケージです。トレンドマイクロの企業向けセキュリティ部門TrendAIが8月21日に公開した報告によると、これらのパッケージは「streak-metrics-math」「map-streak-kit」「streak-calc-metrics」といった、いかにも実用ツールらしい名前がつけられていました。
最大の特徴は、これらのパッケージが「実際に機能する」という点です。カレンダーやストリーク計算という謳い文句どおりに動作するため、開発者が使っていても違和感を持ちにくい設計になっています。しかしその裏で、パッケージの読み込み時に同梱されたバイナリファイル(実行ファイル)を実行可能な状態にし、バックグラウンドのプロセスとしてこっそり起動する仕組みが仕込まれていました。TrendAIによれば「特別なインストールフックの呼び出しは不要で、依存関係のどこか一箇所でインポートされるだけでペイロードが実行される」という、気づきにくい設計です。
「数学アクセラレータ」という隠れ蓑
仕込まれていたバイナリファイルは、「math-core.bin」「math-calc.bin」「calc-math.dat」など、パッケージごとに異なるファイル名を持ちながら、いずれも中身は同じものでした。「dist/」フォルダ、または「dist/internal/」フォルダに配置され、あたかも計算処理を高速化するための正規のコンポーネントであるかのように見せかけられています。
実際の中身は「RedShell」と呼ばれるLinux向けビーコン(通信プログラム)で、これが「RedC2 4.0」というAIを搭載した指令サーバーとリモートで通信し、侵入後の各種活動を可能にします。パッケージのエントリーファイル(dist/index.mjs)が、この一連の流れを取り持つ役割を果たしていました。
従来の悪意あるnpmパッケージの多くは、機能が伴わない、あるいは明らかに不審な挙動をするものが多く見つかっていました。しかし今回のケースは、謳い文句どおりの機能を提供しながら裏で悪意ある処理を行うという、より巧妙な手口です。動作確認だけでは異常に気づきにくく、コードの中身まで踏み込んで確認しない限り発見が難しい点が、開発者にとって厄介なポイントです。
開発者・企業が今できる対策
「streak」「map」「calc」を含む見慣れないパッケージ名がpackage.jsonやロックファイルに含まれていないか、一度棚卸ししておくと安心です。特にカレンダーや連続記録機能を実装した際に追加した依存関係は要チェックです。
動作確認をパスしたパッケージだから安全、という判断はもう通用しません。特に小規模な個人開発者が公開している、実績の浅いパッケージを導入する際は、ダウンロード数や公開履歴、メンテナーの実績なども合わせて確認する習慣が有効です。
Linuxサーバーでnpm経由のパッケージを使っている場合、心当たりのないバイナリファイル(.bin、.datなど)がdistフォルダ内にないか、不審なバックグラウンドプロセスが起動していないかを確認することをおすすめします。
まとめ
後回しになっていませんか
AIで手軽にシステムを内製できる時代だからこそ、依存パッケージのリスク管理やサーバーの点検体制は見落とされがちです。開発から保守運用まで、実務に即したセキュリティ対策を一緒に整理します。島根県から全国対応です。
DX・AI活用のご相談はこちら
無料相談する →