npm リポジトリ汚染:Lazarus にリンクする6つの悪意のパッケージを発見

North Korean Lazarus hackers infect hundreds via npm packages

2025/03/11 BleepingComputer — npm (node package manager) で発見された6つの悪意のパッケージだが、悪名高い北朝鮮のハッカー集団 Lazarus にリンクしていたことが特定された。これらの 330 回もダウンロードされたパッケージは、アカウント認証情報の窃取/侵害済みシステムへのバックドア展開/機密性の高い暗号通貨情報の抽出などのために設計されていた。このキャンペーンを発見した Socket Research Team によると、一連の悪意のパッケージは、以前から知られている Lazarus のサプライ・チェーン・オペレーションにリンクしていたという。

何百万もの JavaScript 開発者が使用する npm などのソフトウェア・レジストリに悪意のパッケージをプッシュする Lazarus は、受動的な手口でシステムを侵害することで知られている。

この脅威アクターに起因する同様のキャンペーンは、GitHub/Python Package Index (PyPI) でも発見されている。

多くのケースにおいて、この戦術により、貴重なネットワークへのイニシャル・アクセスが達成される。場合によっては、それらのアクセスを悪用する Lazarus は、暗号通貨取引所をターゲットにする。前日の、Bybit 取引所からの $1.5 billion 相当の暗号通貨の窃取のような、記録破りの大規模な攻撃を実行するが、そのときの侵害は、悪意のパッケージを介して達成されたものではない。

npm で発見された6つの Lazarus パッケージは、開発者を騙してインストールさせるために、タイポスクワッティング戦術を採用している。

  • is-buffer-validator:人気の is-buffer ライブラリを模倣して、認証情報を盗み出す悪意のパッケージ。
  • yoojae-validator:感染させたシステムから、機密データを抽出するために用いられる偽の検証ライブラリ。
  • event-handle-package: イベント処理ツールに偽装されているが、リモート・アクセス用のバックドアを展開する。
  • array-empty-validator:システムとブラウザの認証情報を収集するように設計された、不正なパッケージ。
  • react-event-dependency: React ユーティリティを装っているが、マルウェアを実行して開発者環境を侵害していく。
  • auth-validator:認証検証ツールを模倣して、ログイン認証情報と API キーを盗み出す。

これらのパッケージには、暗号通貨ウォレット/保存されたパスワード/Cookie/ブラウザの閲覧履歴などの、機密情報を盗むように設計された悪意のコードが取り込まれている。また、北朝鮮がマルウェアのインストールにつながる、偽の求人コンテンツで展開された、BeaverTail マルウェアと InvisibleFerret バックドアもロードする。

Code snippet that downloads malware payloads
Code snippet that downloads malware payloads
Source: Socket

Socket のレポートには、「この悪意のコードは、ホスト名/OS/システム・ディレクトリなどの、システム環境の詳細情報を収集するように設計されている。さらに、ブラウザ・プロファイルを体系的に反復処理することで、Chrome/Brave/Firefox などのログイン・データや、macOS のキーチェーン・アーカイブなどの機密ファイルを見つけて抽出する。注目すべきことに、このマルウェアは暗号通貨ウォレットもターゲットにしており、具体的には Solana の id.json と、Exodus の exodus.wallet を抽出する」と記されている。

これらの6つの Lazarus パッケージは、そのすべてが、npm/GitHub リポジトリで引提供され続けているため、依然として有効な脅威となっている。

ソフトウェア開発者に強く推奨されるのは、プロジェクトで使用するパッケージを再確認し、OSS のコードを常に精査し、難読化されたコードや外部サーバへの呼び出しなどの、疑わしい兆候を見つけだすことだ。

このブログでも度々登場している、タイポスクワッティングを用いた正規のパッケージの偽装ですが、シンプルながら見破りにくい、嫌な手口だなと感じます。Socket のレポートには、一連のパッケージ情報のほか、IOCs (Indicators of Compromise) なども記載されています。開発者の方々は、くれぐれも、ご注意下さい。よろしければ、以下の関連記事も、npmLazarus で検索と併せて、ご参照ください。

2025/01/03:Ethereum Hardhat を装う悪意の npm パッケージ
2024/12/19:NPM 汚染:タイポスクワッティングによる偽パッケージ

2024/02/28:Lazarus が悪意のパッケージを PyPI にアップロード
2023/07/20:開発者を狙う Lazarus:悪意の GitHub プロジェクト