検索
ニュース

npmワーム「CanisterWorm」の被害拡大 未報告の改ざんパッケージを特定セキュリティニュースアラート

npmを標的とした攻撃「CanisterWorm」の新たな改ざんパッケージが見つかった。正規アカウントを侵害してワーム化し、トークン窃取やバックドアを設置する。JFrogは認証情報の更新や特定サービスの削除などの対処手順を示した。

Share
Tweet
LINE
Hatena

 JFrogは2026年3月22日(現地時間)、「npm」のエコシステムを標的としたサプライチェーン攻撃「CanisterWorm」に関連する、これまで公表されていなかった改ざんパッケージを特定したと発表した。既存の調査に加え、同社の監視と分析により被害範囲の全体像を把握した。

正規npmパッケージを悪用するサプライチェーン攻撃の手口

 CanisterWormは、正規のnpm公開者アカウントを侵害し、既存のSDKパッケージに不正コードを混入した新バージョンを配布する。攻撃者グループは「TeamPCP」という名称で追跡されており、@emilgroupや@teale.ioといった正規のnpmパブリッシャーネームスペースが悪用された。

 感染はパッケージインストール時に自動実行される「postinstall」スクリプトを通じて発生する。この処理によりPython製バックドアが導入され、「Linux」環境では「systemd」のユーザーサービスとして常駐化する。動作するサービスは「pgmon」という名で、再起動後も動作を継続する仕組みが組み込まれている。

 バックドアはコマンド&コントロール(C2)通信としてInternet Computer Protocol(ICP)のキャニスターを利用する。C2サーバに定期的に問い合わせ、2次ペイロードを取得して実行する。取得したファイルは一時領域に保存され、実行状態用のファイルも生成される。

 このマルウェアは認証情報を収集する機能も備える。プロジェクトやユーザーディレクトリ、システム設定に存在する「.npmrc」ファイルのトークンや、環境変数として設定された「NPM_TOKEN」などが対象となる。npmの設定コマンドも利用し、取得可能なトークンを広範に収集する。また取得した認証情報は拡散に利用される。攻撃コードはnpmレジストリーを検索し、侵害されたアカウントが管理するパッケージを列挙する。その後、各パッケージのバージョン番号を更新し、不正コードを含む状態で再公開することで感染範囲を拡大する。

 今回新たに確認された改ざんバージョンには、@emilgroup/discount-sdk(1.5.1)や@emilgroup/document-uploader(0.0.10)など複数が含まれる。これらを利用している場合、環境が侵害されている前提で対応が必要とされる。

 対策としては、まず認証情報の更新が求められる。npm公開トークンやCI/CD関連の秘密情報を全て更新し、権限の最小化や有効期限の設定が必要だ。ログや公開履歴を確認し、不正に公開されていないかどうかを調査することも有効となる。

 常駐化されたサービスの停止と削除を実施する。Linux環境ではpgmonサービスを停止し、関連ファイルを削除する必要がある。加えて、一時ディレクトリに保存された不正ファイルも除去する。

 依存関係の再構築も不可欠とされ、「node_modules」の削除やキャッシュを消去し、安全なバージョンに固定した上で再インストールを実施する。また自組織のパッケージが改ざんされていた場合、該当バージョンの削除も求められる。

 今後の防御策として、インストール時のスクリプトの実行制御や必要な処理のみを許可する仕組みの導入が有効とされる。システムポリシーによる不正書き込みの防止など、多層的な対策が求められる。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る