コンテンツにスキップするには Enter キーを押してください

Prettier-ESLint npmパッケージが巧妙なサプライチェーン攻撃で乗っ取られる

DLLベースのマルウェアが、フィッシングキャンペーンによってメンテナーがトークンを漏洩させた後、Windowsユーザーを標的にしています。

JavaScriptやTypeScriptプロジェクトで広く使われているコードフォーマッターツールPrettierとESLintを統合するための人気の設定パッケージが、メンテナーがフィッシング詐欺の被害に遭ったことで乗っ取られました。

Socketの観測によると、eslint-config-prettierやeslint-plugin-prettierなどのパッケージは、オープンソースのサプライチェーンセキュリティ企業がtyposquattedなnpnjs.comドメインを使ったnpmフィッシングキャンペーンを報告した数時間後に侵害されました。

「攻撃者は、GitHub上に対応するコミットやPRがない悪意のあるバージョンを公開しました」とSocketのブログ記事は説明しています。「これには、Windows上でrundll32を介してDLLを実行するペイロードが含まれていました。」

Socketは、攻撃者が検知時点までにeslint-config-prettierの新しいバージョンを4つ公開していたと付け加えました。

バックドア設置のためにnpmトークンがフィッシングされる

この事件は7月17日に送信されたメールから始まり、npmサポートを装ってnpnjs.comというそっくりなドメインへのリンクが含まれていました。気づかずにメンテナーが認証情報を入力し、npmトークンを渡してしまいました。

攻撃者はこのトークンを使い、eslint-config-prettierの8.10.1、9.1.1、10.1.6、10.1.7の悪意あるバージョンや、eslint-plugin-prettier、synckit、@pkgr/core、napi-postinstallへの有害なアップデートを公開しました。

「登録メールやメンテナーのメタデータはnpmのパッケージ情報で簡単にアクセスでき、脅威アクターはそれをスクレイピングしてパッケージメンテナーのターゲットリストを作成します」とSocketチームは述べています。悪意のあるバージョンには、node-gyp.dllという悪意のあるDLLを読み込むことでWindowsマシンを標的にするインストールスクリプト型マルウェアが仕込まれていました。

PrettierとESLintの統合は広く利用されており、DependabotやRenovateなどの人気ツールが自動的にパッケージの「最新」バージョンを取得します。Socketによれば、CI/CDパイプラインや多くの開発者がすでに気付かずに侵害されたバージョンをインストールしている可能性があります。

自動化されたGitHubアラームが迅速な対応を促す

アップデートがGitHubの通常のコミットベースのアラートをすり抜け、レジストリログで警告が上がると、すぐに検知されました。メンテナーは侵害されたトークンを無効化し、悪意のあるリリースを非推奨にし、npmと連携してそれらを削除しました。

Socketは、この攻撃が「マルチステージのサプライチェーン侵害」の教科書的な例であり、メンテナーの認証情報の収集、npmへの悪意あるバージョンの公開、そして数千のプロジェクトへの感染の可能性を含むと指摘しています。

「攻撃者が他のメンテナーを標的にし、スクレイピングしたnpmメタデータと、これまで非常に説得力のあった自動化フィッシングキャンペーンを活用することで、さらなる認証情報の侵害報告が今後も出てくる可能性が高い」と付け加えています。

開発者には、ロックファイルの監査、キャッシュのクリア、クリーンなバージョンの再インストール、特定バージョンのパッケージの固定、npmアカウントでの二要素認証の有効化が推奨されています。

ニュースレターを購読する

編集部からあなたの受信箱へ

まずは下にメールアドレスを入力してください。

翻訳元: https://www.csoonline.com/article/4026380/prettier-eslint-npm-packages-hijacked-in-a-sophisticated-supply-chain-attack.html

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です