解説

開発環境やCI/CDパイプラインを標的とした大規模なサプライチェーン攻撃が確認されています。この攻撃は、複数のnpmパッケージを利用し、パッケージインストール時のライフサイクルスクリプト(preinstallなど)を経由して実行されます。これにより、ワークステーションやビルドランナー上で動作するマルウェアが、接続されたクラウドサービスやインフラストラクチャの認証情報を広範囲に窃取します。

さらに悪質なのは、盗まれたnpmパブリッシングトークンを用いて自身を他の正規パッケージに組み込み、自動で再公開(ワーム型)してしまう点です。この仕組みにより、一度被害を受けたアカウントから多数の偽装したパッケージが生成され、影響範囲が急速かつ追跡困難な形で拡大しています。

自社環境では、まず影響を受けている可能性のある開発ワークステーションやビルドランナーを隔離することが重要になります。また、攻撃者が窃取した可能性があるすべての認証情報について、できる限り迅速にローテーション(再発行)を実施することを検討しておきたいところです。

ポイント

  • npmのエコシステムを標的とした大規模なサプライチェーン攻撃が確認されました。悪意のパッケージはpreinstallフックを通じて実行され、ワークステーションやCI/CD環境から広範囲の認証情報(GitHub, AWSなど)を窃取します。
  • このマルウェアは盗まれたパブリッシングトークンを使用し、他のnpmパッケージに自身を組み込むことで自動的に拡散するワーム型ペイロードを持っています。これにより影響範囲が指数関数的に広がります。
  • 感染が疑われるシステムや成果物は直ちにネットワークから隔離し、全ての開発者およびサービスアカウントの認証情報をクリーンな環境で徹底的にローテーションすることが必須です。
  • 🚨 深刻度が高く、credential窃取と自動拡散を伴うため、即時の封じ込めと対応が必要です。

情シスへの影響

1. パッケージインストールプロセスへの影響

  • ライフサイクルフック(preinstall)の悪用: 開発環境やCI/CDパイプラインにおいて、npmパッケージの自動実行されるpreinstallなどのライフレサイクルスクリプトがトリガーとなり、意図しないマルウェアペイロードを実行する可能性があります。

  • 推奨対策: CI/CDパイプラインでの外部npmパッケージ利用時、ライフサイクルフックによる自動実行処理を厳格にチェックまたは無効化する仕組みの導入が必要です。

2. クレデンシャル窃取と権限昇格

  • 標的となる情報: GitHubトークン、AWSシークレット、Kubernetesクレデンシャル、Vaultなどの複数のクラウドおよびインフラストラクチャの認証情報が収集対象です。これらのデータはメモリやファイルシステムなどローカル環境から探査されます。

  • 対応策の必要性: アクセス制御リスト(ACL)を徹底し、ワークステーションやCI/CDランナーが持つ権限を最小限に制限(Least Privilege Principle)する必要があります。特に、広範な権限を持つシークレットやトークンを端末上に保持しないよう管理体制を見直す必要があります。

3. ワーム型拡散によるサプライチェーン汚染

  • 影響範囲: 一度侵害されたnpmパブリッシングアカウント(またはOIDC経由のワークフロー)から、被害者がアクセスできる全パッケージに対して悪意のあるバージョンが自動で生成・公開されます。これにより、正当な開発者やシステムは、感染した追跡困難なバージョンのパッケージを利用するリスクにさらされます。

  • 対策: パブリッシュメント権限を持つアカウントに対する多要素認証(MFA)の強制、アクセスログの常時監視、および正規の手法ではないバージョンアップを検知するための異常検知ロジックの構築が求められます。

影響範囲

npmパッケージ管理システム全体、CI/CDパイプライン(GitHub Actionsなど)、開発者ワークステーション上の環境変数・ローカルファイル、利用しているクラウドサービスのアカウント認証情報およびシークレットストア(AWS, Azure, HashiCorp Vaultなど)。

重要度

★★★★★

対象者

  • M365管理者
  • Entra管理者
  • AD管理者
  • Windows管理者
  • Linux管理者
  • ネットワーク管理者
  • セキュリティ担当者

優先度

今すぐ対応

優先度の理由

本件は認証情報を窃取し、広範なシステム(AWS, GitHubなど)にアクセスを試みる高度で活動中の攻撃事例です。悪用が確認されている以上、関連する全ての開発環境やパブリッシングプロセスにおいて、credentialの漏洩リスクを極めて高いものとして扱い、即座の棚卸しと対策適用が必要です。

確認手順

  • 全CI/CDパイプライン(特にnpmパッケージを利用するもの)における外部ライフレサイクルフック実行時の動作を監査する。
  • 開発者ワークステーションおよびCI/CDランナーがアクセスできる認証情報(APIキー、シークレットなど)の権限棚卸しを行い、最小権限原則に基づき即時縮小または削除を実施する。
  • npmパッケージレジストリへのパブリッシュメントプロセスにおいて、不審なバージョン番号の増加や、コミット履歴のない緊急パッチリリースがないか監視ログを徹底的に確認する。
  • CI/CDワークフロー(GitHub Actionsなど)の設定を見直し、OIDCを利用する場合でも必要な権限のみが付与されているかを検証し、可能な限り静的認証情報の利用を排除・ローテーションを行う。

推奨対応

  • 全てのシステムにおいて、悪用された可能性のある開発者ワークステーションおよびCI/CDランナー環境を一旦隔離または再構築する。
  • GitHub, AWS, npmなどの主要なサービスにおけるシークレットトークン、APIキー、パブリッシング認証情報を漏洩経路(特にログやファイル)から探知し、即座にローテーションする。2FAの強制適用とアクセス権限の見直しを行う。
  • CI/CDパイプラインにおいて、npmパッケージ利用時やワークフロー実行時にpreinstallのようなライフサイクルフックによる任意のコード実行を阻止するセキュリティゲートウェイ(例:SBOM生成ツールによる検証強化)を導入することを検討する。
  • 被害の封じ込めのため、パブリッシング権限を持つアカウントすべてについて緊急の監査とパスワード/トークン変更を実施し、広範なログ監視を開始する。