NPM の深刻なバグ:不正ライブラリを正規のものとして混入する問題が FIX

NPM Bug Allowed Attackers to Distribute Malware as Legitimate Packages

2022/04/26 TheHackerNews — Node.js JavaScript 実行環境における、デフォルト・パッケージ・マネージャである NPM の「論理的欠陥」により、悪意の行為者が不正ライブラリを正規のものとして見せかけ、騙された開発者にインストールさせることが可能であることが判明した。このサプライチェーンの脅威は、クラウド・セキュリティ企業である Aqua の研究者たちにより、Package Planting と名付けられている。2月10日に Aqua から開示され、4月26日には NPM により、問題の根本が修正された。

火曜日に Aqua の Yakir Kadkoda は、「最近まで NPM は、ユーザーへの通知/同意を必要とすることなく、誰もがパッケージのメンテナとして、追加できるようになっていた」と報告書で述べている。つまり、事実上、敵対者がマルウェアを混入したパッケージを作成し、そのパッケージを信頼できる人メンテナに割り当てることができることを意味する。



ここで考えられるのは、攻撃者が管理するポイズン・パッケージに、NPM ライブラリに関連する信頼できる所有者を追加し、そうすることで開発者を引き付け、ダウンロードを促すことが可能になることだ。このようなサプライチェーン攻撃が生じると、きわめて深刻な結果につながる。開発者への信頼を損なうだけではなく、正当なパッケージ・メンテナへの風評被害が生じる可能性がある。

今回の公開は、NPM プラットフォームの2要素認証 (2FA) に関する欠陥2件を、Aqua が明らかにしたことを受けたものである。その悪用に成功した攻撃者に対して、アカウントの乗っ取り攻撃を許し、悪意のパッケージの公開を許す問題が、解決したことになる。

Yakir Kadkoda は、「この問題の深刻な点は、あらゆる npm ユーザーであっても、それを実行できることだ。他の NPM ユーザーを、自分のパッケージのメンテナとして追加できることだ。結局のところ、開発者はアプリケーションを構築する際に、どのオープンソース・パッケージを使用するかについて、責任を負うことになる」と述べている。

ソフトウェア・サプライチェーン攻撃に注目が集まると、NPM の安全性についても、さまざまな問題が指摘されます。最近の話としては、2月22日の「25 種類の 悪意の JavaScript ライブラリ:NPM 公式パッケージ・レジストリ」や、3月29日の「悪意の NPM パッケージを量産:サプライチェーン攻撃のための驚異のシステム」などがあります。また、3月17日の「人気の NPM Package が抗議活動:ファイル破壊などでロシア/ベラルーシを狙い撃ち」のように、難しい話も浮上しています。ここは、頑張りどころですね。

%d bloggers like this: