人気の npm パッケージ「is」がクロスプラットフォーム マルウェアに感染したのとほぼ同時期に、prettier コード フォーマッタで使用される linting ユーティリティ パッケージが Windows 専用のマルウェアに感染しました。
これは、公式 npm サイトのタイポスクワッティングされたクローンを使用したフィッシング攻撃が原因である可能性があります。
「is」パッケージはJavaScriptの型テストに使用され、週に約270万回ダウンロードされています。開発者向けセキュリティプラットフォームを提供するSocketのチームによると、バージョン3.3.1には難読化されたJavaScriptマルウェアローダーが含まれています。
このマルウェアは、すべての環境変数(多くの場合、認証情報などの機密情報源)を含むデータをキャプチャし、WebSocket接続を介してそれらを盗み出し、攻撃者に対話型リモートシェルを提供します。このマルウェアはmacOS、Linux、Windows上のNode.js上で動作し、可能であればindex.jsファイルを上書きすることで永続化します。そのため、ダウンロードされたパッケージが保存されているnode_modulesディレクトリを削除しても、マルウェア自体は削除されません。
メンテナーのジョーダン・ハーバンド氏は先週末、この問題を報告し、「別のメンテナーのアカウントが乗っ取られた」ためだと述べました。Blueskyのスレッドによると、ハーバンド氏自身も、削除され再追加を求められていた元パッケージオーナーからのメールに騙されたとのことです。
「すべて正常に見えたので、私は従いました(npmが他の所有者に通知せずに所有者を削除したことに腹を立てた)。そして翌朝、これが公開されました」と彼は語った。
Socket 社は、別のメンテナー アカウント侵害に続いて、got-fetch パッケージの悪意のあるリリースも発見しました。
このインシデントは、Prettierコードフォーマッタに関連する(ただし、Prettierは含まれない)別のパッケージ群(eslint-config-prettierとeslint-plugin-prettierを含む)の侵害と同時期に発生しました。メンテナーのJoun Qin氏は、npmからと思われるメールを受け取り、メールアドレスの確認を求められました。メールには、認証情報を取得するために設計されたクローンサイトであるnpnjs(npmではなくnpnであることに注意)へのリンクが含まれていました。
「フィッシングメールに騙され、新しいnpmトークンが追加され漏洩し、私がメンテナンスしているいくつかの人気パッケージが悪意のあるソフトウェアとともにリリースされました」とQin氏はXで述べた。
サイバーセキュリティ企業InvokeREの分析によると、感染したパッケージにはWindows DLL(ダイナミックリンクライブラリ)が含まれており、Chromeブラウザへの攻撃や設定ファイルの盗難につながるという。
Qin氏は、フィッシングメールの送信元メールアドレスを確認しました。送信元はnpmjs.orgです。npmjs.orgはnpmが所有するドメインですが、通常はメールには使用されておらず、DMARC(ドメインベースメッセージ認証)セキュリティが欠如しています。NPMのメールは通常、npmjs.comドメインから送信されます。
- LLMはソフトウェアの依存関係を作り出し、すべてを妨害することをやめられない
- GitHubのサプライチェーン攻撃で23,000のプロジェクトの秘密が流出
- フィッシング詐欺における.esドメイン利用の急増
- AIがソフトウェアパッケージを幻覚させ、開発者はそれをダウンロードする。マルウェアに汚染されている可能性があってもだ。
npmパッケージは攻撃者にとって格好の標的です。開発者マシンは貴重な認証情報の入手先となることが多く、パッケージは依存関係として自動的にダウンロードされるため、デプロイされたアプリケーションがさらに感染する可能性があります。侵害されたパッケージと、人間の監視なしにパッケージをダウンロードする可能性のあるエージェントAIの組み合わせは、自動化されたマルウェア配布のパーフェクトストームを引き起こす可能性があります。
ハーバンド氏はXで、Googleの新しい取り組みであるOSSリビルドは「provenanceが常に達成できない問題に対する真の解決策」だと述べた。Googleのプロジェクトは、パッケージをソースからリビルドし、レジストリ内のバージョンと比較する。npm、PyPi、Crates.ioをサポートしており、Node.js、Python、Rustをカバーしている。
Google オープンソース セキュリティ チームは、「ほとんどのパッケージは、ユーザーやメンテナーの介入なしに簡単に保護されます」と述べています。
OSS の再構築にせよ、その他のことにせよ、最新の npm の事件は、たとえ標準の公式リポジトリからであっても、盲目的にパッケージをダウンロードすることは重大なリスクであることを示しています。