主なポイント
- 悪意のある Axios バージョン 1.14.1 および 0.30.4 がリモートアクセス・トロイの木馬(RAT)を配布しました。
- Google は、この高度な攻撃を北朝鮮のハッカー集団 UNC1069 によるものと断定しました。
- 毎週 1 億回ダウンロードされるライブラリが侵害され、即時の監査が求められています。
主なポイント

Google Threat Intelligence Group(GTIG)のチーフアナリストである John Hultquist 氏は声明で、「北朝鮮のハッカーは、歴史的に暗号資産の窃盗に利用してきたサプライチェーン攻撃において深い経験を持っています」と述べています。「今回の事件の全体像はまだ不明ですが、侵害されたパッケージの人気を考えると、広範囲にわたる影響が予想されます。」GTIG は、この攻撃を北朝鮮の脅威アクター UNC1069 によるものとしています。
攻撃は 3 月 31 日、脅威アクターが npm レジストリに悪意のあるバージョン [email protected] および [email protected] を公開したことで始まりました。これは、プロジェクトのリードメンテナーの npm アカウントを侵害し、より安全な OIDC ベースの公開ワークフローをバイパスするために古い長期トークンを使用することで実行されました。悪意のあるパッケージには、RAT をダウンロードするためのポストインストール・スクリプトを含む偽の依存関係 plain-crypto-js が含まれていました。
この侵害は、約 17.5 万の依存プロジェクトを持つライブラリにおけるソフトウェア・サプライチェーンの重大な脆弱性を浮き彫りにしました。開発環境や CI/CD パイプラインへの影響により、大幅な認証情報の窃盗や企業ネットワーク内でのラテラルムーブメント(横展開)につながる可能性があります。Wiz や Snyk のような企業にとって、この出来事は依存関係管理とランタイム検証の強化の必要性を強調するものであり、セキュリティスキャンや脅威インテリジェンスサービスへの需要を高める可能性があります。
攻撃者は、非常に高度な運用能力を示しました。主要な攻撃の約 18 時間前、nrwise という名前のアカウントが、npm レジストリに正当な履歴を作るためのクリーンな囮パッケージ [email protected] を公開しました。Axios の侵害の直前に、彼らはそれを悪意のあるペイロードを含むバージョン 4.2.1 にアップデートしました。
侵害された Axios バージョンは、この悪意のあるパッケージを依存関係として追加しました。開発者が Axios をインストールまたは更新すると、plain-crypto-js 内の postinstall スクリプトが実行され、sfrclak.com にあるコマンド&コントロール(C2)サーバーに接続してプラットフォーム固有のマルウェアを取得しました。
マルウェアは、Windows、macOS、Linux 用のバリアントを持つクロスプラットフォーム RAT でした。
/Library/Caches/com.apple.act.mond に書き込まれ、Gatekeeper をバイパスするために注入されたペイロードに自己署名を行うことができました。wt.exe) に偽装した PowerShell スクリプトが %PROGRAMDATA% にコピーされ、レジストリの Run キーを介して永続性が確立されました。/tmp/ld.py として保存され、実行されました。ペイロードの展開後、スクリプトは悪意のある package.json をクリーンなバージョンに置き換えることで証拠隠滅を図り、インストールされたパッケージを検査する可能性のある開発者を欺こうとしました。
悪意のあるパッケージは 3 時間以内に npm レジストリから削除されましたが、Axios のダウンロード速度が非常に速いため、かなりの数のシステムが侵害されました。Wiz は、監視している影響を受けた環境の約 3% でマルウェアの実行を確認したと報告しています。セキュリティ企業の Huntress も、100 台以上のデバイスが影響を受けたと報告しています。
セキュリティ専門家は、即時の対応を求めています。組織は、プロジェクトのロックファイルや CI/CD ログに [email protected]、[email protected]、または [email protected] の痕跡がないか監査することが推奨されます。
「侵害されたシステムをクリーンアップしようとしないでください。クリーンであることが確認されているスナップショットから再構築してください」と Snyk の研究者は助言しています。これらのバージョンがインストールされた環境は、完全に侵害されたものとして扱う必要があります。npm トークン、クラウドプロバイダーのキー、SSH キーを含むすべての認証情報を失効させ、再発行する必要があります。
長期的な防御策として、セキュリティチームは自動ビルドパイプラインで npm ci --ignore-scripts を強制し、悪意のあるスクリプトの実行を防ぐことを検討すべきです。また、新しく公開されたパッケージのインストールをブロックするパッケージ経過時間ポリシーを導入していれば、悪意のある plain-crypto-js の依存関係が公開されてから 1 日未満であったため、今回の攻撃を防げた可能性があります。
この記事は情報提供のみを目的としており、投資アドバイスを構成するものではありません。