Thousands Download Malicious npm Libraries Impersonating Legitimate Tools
2024/12/19 TheHackerNews — npm レジストリへのアップロードが確認された悪意のパッケージは、正規のパッケージである ”typescript-eslint” や ”@types/node” などを装うものである。それらの偽のパッケージは ”@typescript_eslinter/eslint”/”types-node” と名付けられ、それぞれがトロイの木馬をダウンロードするものとして、また、2段階目のペイロードを取得するものとして設計されている。

Sonatype の Ax Sharma は、12月18日に公開された分析で、以下のように述べている:
このようなタイポスクワッティング攻撃自体は、目新しいものではない。しかし注目に値するのは、これらの2つのライブラリを、正規のものとして偽装するために、攻撃者が費やした労力である。 ”types-node” などのパッケージが、数多くダウンロードされているため、一部の開発者が騙されていると懸念される。この攻撃者は、悪意のコンポーネントの信頼性を高めるために、ダウンロード数を人為的に増やしている可能性もある — Sonatype
Sonatype の分析によると、@typescript_eslinter/eslint の npm リストが指し示すのは、2024年11月29日に作成された “typescript-eslinter“ というアカウントが設定する、偽の GitHub リポジトリである。さらに、この悪意のパッケージには、“prettier.bat“ という名前のファイルが取り込まれているという。
同じ npm/GitHub アカウントにリンクされる別パッケージには、@typescript_eslinter/prettier という名前が付けられていた。それが装うのは、TypeScript という同名のツールだが、実際には偽の @typescript_eslinter/eslint ライブラリをインストールするように設定されている。
この悪意のライブラリに取り込まれたコードは、“prettier.bat“ を一時ディレクトリにドロップし、Windows のスタートアップ・フォルダに追加することで、マシンの再起動時に自動実行を達成するものだ。
Sharma は、「prettier.bat ファイルはバッチ・ファイルではなく、以前に VirusTotal でトロイの木馬/ドロップ型マルウェアとしてフラグが付けられた、Windows 実行ファイル (.exe) である」と述べている。
2つ目のパッケージである types-node は、Pastebin の URL にアクセスする。そして、“npm.exe“ という名前の、悪意の実行型ファイルをトリガーするための、スクリプトを取得するように設計されている。
Sharma は、「この事例が浮き彫りにするのは、サプライチェーンに対するセキュリティ対策の改善が不可欠であり、また、サードパーティであるソフトウェア・レジストリ開発者に対する、監視の強化が急務であるという点だ」と指摘する。
この攻撃スキームは、ReversingLabs が 2024年10月に Visual Studio Code (VSCode) マーケットプレイスで特定した、複数の悪意の VSCode エクステンションから始まっている。翌月となる 2024年11月には、npm レジストリに新たなパッケージが追加されている。このパッケージは、合計で 399回もダウンロードされているという。
以下に示す、不正な VSCode エクステンションの一覧は、現在はストアから削除されている。
- EVM.Blockchain-Toolkit
- VoiceMod.VoiceMod
- ZoomVideoCommunications.Zoom
- ZoomINC.Zoom-Workplace
- Ethereum.SoliditySupport
- ZoomWorkspace.Zoom
- ethereumorg.Solidity-Language-for-Ethereum
- VitalikButerin.Solidity-Ethereum
- SolidityFoundation.Solidity-Ethereum
- EthereumFoundation.Solidity-Language-for-Ethereum
- SOLIDITY.Solidity-Language
- GavinWood.SolidityLang
- EthereumFoundation.Solidity-for-Ethereum-Language
ReversingLabs の研究員である Lucija Valentic は、「このキャンペーンは、暗号通貨コミュニティを標的として始まったものだ。そして、2024年10月末までに公開された悪意のエクステンションの大半は、Zoom アプリケーションを装うものだった。新たに公開された悪意のエクステンションは、それぞれが前回よりも洗練されていた」と述べている。
すべてのエクステンションは npm パッケージと同様に、リモート・サーバーからの第2段階のペイロードのダウンローダーとして動作する、難読化された JavaScript コードを取り込んでいることが判明している。 それらのペイロードの詳細は、現時点においては不明である。
今回の調査結果が改めて浮き彫りにするのは、オープンソース・システムからツールやライブラリをダウンロードする際には、注意が必要だという点である。また、大規模プロジェクトでの依存関係において、悪意のコードを導入しないように注意を払うことも重要だ。
Valentic は、「プラグインをインストールすることで機能を拡張できる IDE (Integrated Development Environment) は、攻撃者にとって非常に魅力的なターゲットとなる。たとえば、VSCode のエクステンションにおいては、そのインストール時に、セキュリティ・リスクの見落としが多発する。そして、IDE が侵害されると、企業の開発サイクルにおいて、さらなる侵害の足がかりにされる可能性が生じる」と指摘している。
Sonatype が追跡する npm でのタイポスクワッティング攻撃と、ReversingLabs が追跡する VSCode 侵害の間に、TheHackerNews が関連性を見出しているのかもしれませんが、それぞれのレポートを見た限りでは、共通点を特定できませんでした。ただし、そうであっても、開発環境の汚染はサプライチェーンにつながり、甚大な被害を引き起こす可能性を持ちます。ご利用のチームは、ご注意ください。よろしけれ、Npm で検索と、VSCode で検索も、ご参照ください。
You must be logged in to post a comment.