Researchers Find a Way Malicious NPM Libraries Can Evade Vulnerability Detection
2022/11/30 TheHackerNews — サイバー・セキュリティ企業である JFrog の最新調査によると、npm エコシステムを標的とするマルウェアは、npm Command Line Interface (CLI) ツールの “unexpected behavior” を悪用することで。セキュリティ・チェックを回避できることが判明した。
npm CLI の install コマンド/audit コマンドには、パッケージと依存関係をカバーする形で、既知の脆弱性の有無をチェックする機能が組み込まれており、それらの欠陥を強調する警告メカニズムとして、開発者に対して効果的に機能している。
しかし、JFrog が立証したように、パッケージが特定のバージョン形式に従っている場合には、セキュリティ勧告が表示されないため、パッケージおよび依存関係を介して、重大な欠陥がシステムに侵入する可能性があるというシナリオが生じる。

具体的に言うと、インストールされたパッケージのバージョンにハイフンが含まれている場合 (例:1.2.3-a) に、この問題は発生する。ハイフンは、npm モジュールのプレ・リリース・バージョンを示すために含まれているものだ。
同プロジェクトのメンテナは、通常の npm パッケージのバージョンと、プレ・リリース・バージョンとの間の、不一致を意図した機能として扱っている。しかし、オープンソースのエコシステムを汚染しようとする、攻撃者が悪用するツールとして、うってつけのものになってしまう。
Or Peles は、「この挙動の悪用に成功した攻撃者は、無害に見えるパッケージに脆弱なコードや悪意のコードを、意図的に仕込むことが可能になる。それらが、元々の正規の機能を必要とするプロジェクトに組み込まれることになる。また、タイポスクワッティングや依存関係の混乱といった感染経路により、組み込まれる可能性もある。言い換えれば、敵対者が公開したプレ・リリース版形式のパッケージが、他の開発者に拾われる可能性が生じる。そして、そのパッケージが悪質であるという事実が、警告されない可能性がある」と述べている。
今回の発見は、ソフトウェアのサプライチェーンが、さまざまな関係者間の信頼の連鎖として構築されていること、そして、あるリンクが侵害されると、不正なサードパーティ依存製品を使用する、下流のアプリケーションすべてに影響が及ぶことを改めて示している。
このような脅威に対抗する開発者には、ソースが完全に信頼できると分かっている場合を除き、プレ・リリース・バージョンの npm パッケージのインストールを避けることが推奨される。
npm に潜む悪意のライブラリを、開発者に警告するための CLI ツールが、バイパスされるという問題が発生しているようです。npm モジュールのプレ・リリース・バージョンを示すハイフンが、脅威アクターたちに悪用される可能性が高いとされています。対応策などが記される、続報があると思いますが、いまはプレ・リリース・バージョンにご注意ください。よろしければ、npm で検索も、ご利用ください。

You must be logged in to post a comment.