【DevSecOps】Trivy 関連サプライチェーン攻撃 | CanisterWorm の脅威と防御策

  • URLをコピーしました!
目次

はじめに

前回の記事では、Trivy 公式の GitHub Actions が乗っ取られ、CI/CD 環境の機密情報(Secrets)が漏洩した事件について解説しました。

本記事では、その事件から波及して発生した「第二の被害」について改めて解説します。前回の攻撃で窃取された開発環境の認証情報が悪用され、47 個の npm パッケージを侵害することで「CanisterWorm」と呼ばれる未知の自己増殖型マルウェア(ワーム)が拡散される事態へと発展しました。 本記事では、この CanisterWorm の技術的な挙動や感染メカニズムを紐解き、システム管理者やセキュリティエンジニアが CI/CD パイプラインや npm エコシステムにおいて実践すべき具体的な防御策とアーキテクチャの強化手法について客観的な視点で解説します。

この記事でわかること
  • Trivy を発端とする npm サプライチェーン攻撃の全体像
  • ICP カニスターを悪用した C2 通信と分散型インフラの脅威
  • 開発者の npm トークンを狙う自己増殖(ワーム)のメカニズム
  • サプライチェーン攻撃を防ぐための実践的な DevSecOps アプローチ

Trivy を発端とした npm サプライチェーン攻撃の概要

今回確認された攻撃は、オープンソースのセキュリティスキャナーである Trivy のエコシステムを標的とした認証情報の窃取から始まりました。

侵害された npm パッケージ群と攻撃の起点

脅威アクター(TeamPCP と疑われるグループ)は、侵害された認証情報を利用して、悪意のある Trivy 関連リリースを公開しました。その後、この攻撃は波及し、@EmilGroup@opengov といったスコープを含む合計 47 個の npm パッケージが侵害される事態へと発展しています。

参考: Trivy Supply Chain Attack Triggers Self-Spreading CanisterWorm Across 47 npm Packages
“The threat actors behind the supply chain attack targeting the popular Trivy scanner are suspected to be conducting follow-on attacks that have led to the compromise of a large number of npm packages with a previously undocumented self-propagating worm dubbed CanisterWorm.”
(人気の Trivy スキャナーを標的としたサプライチェーン攻撃の背後にいる脅威アクターは、CanisterWorm と名付けられた文書化されていない自己増殖型ワームで多数の npm パッケージを侵害する追撃攻撃を行っている疑いがあります。)
https://thehackernews.com/2026/03/trivy-supply-chain-attack-triggers-self.html

ICP カニスターを悪用した C2 サーバー通信の隠蔽

この攻撃の最大の特徴は、マルウェアが C2(コマンド&コントロール)サーバーの URL を取得するためのリゾルバとして、Internet Computer ブロックチェーン上の改ざん不可能なスマートコントラクトである「ICP カニスター」を悪用している点です。

従来の中央集権的な C2 インフラと異なり、ブロックチェーンを利用した分散型の通信経路(デッドドロップ)を構築することで、テイクダウン(サーバー停止措置)に対する極めて強い耐性を持っています。攻撃者はいつでも ICP カニスター上の URL を書き換えることができ、感染したすべてのホストに対して新たな悪意あるペイロードを動的に配信することが可能です。

CanisterWorm の技術的な挙動と感染メカニズム

Trivy スキャナーの侵害から派生した CanisterWorm は、単なるバックドアにとどまらず、開発環境を標的とした高度な自己増殖機能を持っています。

systemd を悪用した永続化とキルスイッチの仕組み

マルウェアは npm パッケージのインストール後(postinstall フェーズ)にローダーを実行し、Python 製のバックドアをドロップします。このバックドアは、システム上で永続性を保つために systemd のユーザーサービスとして登録されます。その際、監視を逃れるために PostgreSQL のツール(pgmon)を偽装し、プロセスが終了しても 5 秒後に自動再起動する設定が施されています。

さらに、ICP カニスターから取得した URL に特定の文字列が含まれている場合、実行をスキップする「キルスイッチ」も備えており、攻撃者の意図的なタイミングでペイロードの稼働を制御できる仕組みです。

参考: Trivy Supply Chain Attack Triggers Self-Spreading CanisterWorm Across 47 npm Packages
“If the URL contains youtube[.]com, the script skips it,” Eriksen explained. “This is the canister’s dormant state. The attacker arms the implant by pointing the canister at a real binary, and disarms it by switching back to a YouTube link.”
(URL に youtube[.]com が含まれている場合、スクリプトはそれをスキップします。これはカニスターの休眠状態です。攻撃者はカニスターを実際のバイナリに向けることでインプラントを武装させ、YouTube リンクに戻すことで武装を解除します。)
https://thehackernews.com/2026/03/trivy-supply-chain-attack-triggers-self.html

npm トークン窃取による自律的な自己増殖プロセス

CanisterWorm の最も脅威となる機能は、感染した開発者環境から npm 認証トークンを自動的に収集し、自律的に増殖するワームとしての振る舞いです。

最新の変種では postinstall スクリプト内にトークン探索機能(findNpmTokens)が組み込まれています。これにより、トークンを持つ開発者の PC や CI パイプラインがパッケージをインストールした瞬間、窃取した権限を使ってバックグラウンドで別のパッケージへマルウェアをパブリッシュし、被害をねずみ算式に拡大させます。

開発現場で実践すべき具体的な防御策

CI/CD パイプラインや npm エコシステムにおいて、このようなサプライチェーン攻撃の被害者・加害者にならないためには、システム全体のガバナンスと継続的なスキャン体制の構築が不可欠です。

CI/CD パイプラインにおける最小権限の原則とトークンの厳格管理

自己増殖プロセスを食い止めるための最も効果的な対策は、認証情報のスコープを限定することです。

CI/CD 環境や開発者のローカル環境において、npm パブリッシュ用のトークンは必要な時のみ発行し、永続的なトークンの利用を廃止する(短寿命トークンの採用)ことが強く推奨されます。また、トークンの権限は特定のパッケージのみに限定し、不要なアクセス権を与えない最小権限の原則を徹底する必要があります。

依存関係スキャンおよび SBOM を活用した継続的監視

サードパーティ製コンポーネントの安全性を担保するために、パイプラインのビルドプロセスに自動化されたセキュリティチェックを組み込むことが必須です。

具体的には、SBOM(ソフトウェア部品表)を生成してプロジェクト内の全依存関係を可視化し、既知の悪意あるパッケージが含まれていないかを継続的にスキャンするアーキテクチャを構築します。さらに、インストール時の不正なスクリプト実行を防ぐため、可能な限り npm インストール時に postinstall フックを無効化する(–ignore-scripts オプションの活用)アプローチも、初期侵害を防ぐ有効な防御策となります。

まとめ

本記事では、Trivy エコシステムを標的とした npm サプライチェーン攻撃と、CanisterWorm の技術的脅威および防御策について解説しました。

  • 攻撃者は ICP カニスターを悪用し、テイクダウン耐性の強い分散型の C2 インフラを構築している。
  • systemd を利用して永続化を図り、休眠状態(キルスイッチ)を制御する高度な機能を持つ。
  • npm トークンを自動窃取して自律的に増殖するため、CI/CD におけるトークンの短寿命化と権限最小化が必須である。
  • インストール時のフック無効化や SBOM を用いた継続的な依存関係スキャンが、被害防止の鍵となる。

以上、最後までお読みいただきありがとうございました。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

インフラ(クラウド/NW/仮想化)から Web 開発まで、技術領域を横断して活動するエンジニア💻 コンシューマー向けエンタメ事業での新規開発・運営経験を活かし、実戦的な技術ノウハウを発信中

[ Certs ] CCIE Lifetime Emeritus / VCAP-DCA ✒️ [ Life ] 技術書・ビジネス書愛好家📖 / 小・中学校で卓球コーチ👟

目次