npmレジストリでサプライチェーン攻撃、数百万のアプリが被害

原題: ‘No Way To Prevent This,’ Says Only Package Manager Where This Regularly Happens | Kevin Patel

なぜ重要か

JavaScriptエコシステムの脆弱性が露呈し、パッケージ管理セキュリティ強化の必要性が浮き彫りになった

npmレジストリで大規模なサプライチェーン攻撃が発生し、数百万の企業アプリケーションが侵害され、数十億のユーザー記録が流出した。JavaScriptエコシステムの開発者らは、40層の深いネストした未検証パッケージに依存する現状では防止不可能と表明。Go、Rustなどの他エコシステムでは被害報告なし。

サンフランシスコで発生したnpmレジストリへの大規模サプライチェーン攻撃により、数百万の企業アプリケーションが侵害され、数十億のユーザーレコードが流出する事態となった。この攻撃では、放置されたユーティリティパッケージが乗っ取られ、暗号通貨マイナーが世界中の本番ビルドに注入された。

シニアフロントエンドエンジニアのMark Vance氏は「現代のWebアプリ構築にはこれが代償だ。匿名の開発者が管理する未検証パッケージの40層ネスト構造に完全依存している以上、避けられない」と述べた。JavaScriptエコシステムの開発者らは、この悪意あるリモートコード実行を完全に予測不可能な悲劇として受け入れている。

一方、強固な標準ライブラリを持つGoやRust、ネイティブWeb APIを利用するエコシステムでは、サードパーティコードへの依存が大幅に削減され、コアツールチェーンに厳格な暗号学的検証が組み込まれているため、今回のような被害は報告されていない。

npmの広報担当者は「悪意ある攻撃者が存在する現実を受け入れなければならない。レジストリポリシーやビルドサンドボックスガードレールでこれを防ぐことは不可能」と語った。npmはデフォルトでローカルマシン上で任意のインストールスクリプトを実行するオープンソースレジストリとなっている。

出典

kevinpatel.xyz — 元記事を読む →