JFrogは3月23日(米国時間)、公式ブログ「Malicious Packages in npm Targeting Azure Developers」において、Microsoft Azureの開発者を狙った大量の悪意あるnpmパッケージがオープンソース・ソフトウェアのリポジトリで確認されたと報告した。これらのパッケージには、被害者のマシンからユーザー名やIPアドレスなどの個人情報を盗み出すペイロードが含まれていたという。

確認された悪意あるnpmパッケージが@azureスコープをターゲットにしていることから、これはnpmパッケージを使用するAzure開発者に対する標的型攻撃と判断できるという。@azureに加えて、@azure-rest、@azure-tests、@azure-tools、@cadl-langといったスコープも使われていたとのことだ。

悪意のあるパッケージには、既存の@azureスコープパッケージと同様のスコープ名のみ削除した名称が使用されている。そのため、これはユーザーがコマンドを実行する際にタイプミスするのを狙った「タイポスクワッティング攻撃」と考えられている。例えば、正しいパッケージ名が「@azure/core-tracing」で、悪意のあるパッケージの名前が「core-tracing」とすると、前者をインストールする際にスコープ名を付け忘れて後者をインストールしてしまう可能性がある。

  • 正しいパッケージ(上)と、それを模倣した悪意のあるパッケージ(下)の例(引用: JFrog Blog)

    正しいパッケージ(上)と、それを模倣した悪意のあるパッケージ(下)の例 引用: JFrog Blog

これらのパッケージがインストールされると、悪意のあるコードが自動的に実行され、次の情報が盗み出されることが確認されたとのこと。

  • C:\、D:\、/、/homeのディレクトリのリスト
  • ユーザーのユーザー名
  • ユーザーのホームディレクトリ
  • 現在の作業ディレクトリ
  • すべてのネットワークインタフェースのIPアドレス
  • DNSサーバのIPアドレス
  • 侵害に成功した攻撃パッケージの名前

JFrogのブログには、発見されたすべての悪意あるパッケージのリストが掲載されている。これらのパッケージはnpmメンテナーに報告され、すでにリポジトリから削除されているという。

JFrogでは、最近になってnpmやPyPIパッケージリポジトリを利用したサプライチェーン攻撃が急増していることに警鐘を鳴らしている。これらのリポジトリには、ユーザー作成時のCAPTCHAメカニズムや、自動パッケージフィルタリングなど、追加の緩和策の導入を検討する必要があると指摘している。