npmのJavaScriptパッケージ・インデックスから2つの悪質なパッケージが発見された。これらは便利なユーティリティを装っているが、実際はアプリケーション・ディレクトリ全体を削除する破壊的なデータ・ワイパーである。
データ・ワイパー・パッケージは’express-api-sync’と’system-health-sync-api’で、データベース同期とシステム健全性監視のTtoolsを装っている。
オープンソースのソフトウェア・セキュリティ企業Socketによると、この2つのパッケージには、感染したホストでリモートからのデータ・ワイピング動作を可能にするバックドアが含まれているという。
これらのパッケージは2025年5月にnpmで公開され、Socketによる報告を受けてnpmから削除された。
同社の過去の統計によると、express-api-syncは855回、express-api-syncは104回、疑うことを知らない開発者によってダウンロードされた。
最初のパッケージであるexpress-api-syncは、隠されたPOSTエンドポイント(/api/this/that)を登録し、秘密キー「DEFAULT_123」を含むリクエストを待つ。
それを受け取ると、アプリケーションのディレクトリで「rm -rf *」を実行し、すべてのファイルを削除する。
「いったんトリガーされると、rm -rf * コマンドはアプリケーションの作業ディレクトリで実行され、ソースコード、設定ファイル、アップロードされたアセット、ローカルデータベースを含むすべてのファイルを削除する」とSocket のレポートは説明している。
「エンドポイントは、破壊の成功({“message”: “All files deleted”})または失敗を示すステータスメッセージを攻撃者に返します。
2番目のパッケージである’system-health-sync-api’は、より洗練されている。
複数のバックドアエンドポイントが登録されている:
- GET /_/system/health → サーバーの状態を返す
- POST /_/system/health → 一次破壊エンドポイント
- POST /_/sys/maintenance → バックアップ破壊エンドポイント
この場合、秘密鍵は’HelloWorld’であり、偵察の後、リモートでOS固有の破壊が行われる。
ワイパーはLinux(’rm -rf *’)とWindows(’rd /s /q .’)の両方の削除コマンドをサポートしているので、検出されたアーキテクチャに応じて適切なものを使用します。

Source:ソケット
アクションが完了すると、ワイパーは攻撃者にバックエンドの URL、システムのフィンガープリント、ファイル消去の結果を ‘anupm019@gmail.com’ にメールします。
攻撃者はまた、破壊的コマンドが成功したかどうかをリアルタイムで確認するHTTPレスポンスを介して、元のリクエストに対するより即時のフィードバックを受け取る。
npmにおけるデータ・ワイパーのケースは珍しく、金銭的な利益やデータ窃盗を目的としていない。
Socket社はこれについて、この2つのパッケージを「npmの脅威の状況に懸念すべき追加」としており、エコシステムに忍び寄る国家レベルの活動や妨害活動を意味する可能性があるとコメントしている。
「これらのパッケージは暗号通貨や認証情報を盗むのではなく、すべてを削除してしまう。
“これは、金銭的な動機だけでなく、破壊工作や競争、国家レベルの混乱が動機の攻撃者を示唆している。”
.ia_ad { background-color:#width: 95%; max-width: 800px; margin: 15px auto; border-radius: 8px; border:1px solid #d6ddee; display: flex; align-items: stretch; padding: 0; overflow: hidden; }:0; overflow: hidden; } .ia_lef { flex: 1; max-width: 200px; height: auto; display: flex; align-items: stretch; } .ia_lef a { display: flex; width: 100%; height: 100%; } .ia_lef a img { width: 100%; height: 100%; object-fit: cover; border-radius: 8px 0 0 8px; margin: 0; display: block; } .ia_rig { flex: 2; padding:display: flex; flex-direction: column; justify-content: center; } .ia_rig h2 { font-size: 17px !important; font-weight: 700; color:#line-height: 1.4; font-family:margin: 0 0 14px 0; } .ia_rig p { font-weight: bold; font-size: 14px; margin: 0 0 clamp(6px, 2vw, 14px) 0; } .ia_button { background-color:#border:1px solid #3b59aa; color: black; text-align: center; text-decoration: none; border-radius: 8px; display: inline-block; font-size: 16px; font-weight: bold; cursor: pointer; padding:10px 20px; width: fit-content; } .ia_button a { text-decoration: none; color: inherit; display: block; } @media (max-width: 600px) { .ia_ad { flex-direction: column; align-items: center; text-align: center; } .ia_lef { max-width: 100%; } .ia_lef a img { border-radius: 8px 8px 0 0; } .ia_rig { padding:15px; width: 100%; } .ia_button { width: 100%; } .
ITチームが手作業によるパッチ管理をやめる理由
かつてはパッチ適用といえば、複雑なスクリプト、長時間の作業、終わりのない消火訓練が必要でした。今は違います。
この新しいガイドでは、Tines氏が最新のIT組織が自動化によってどのようにレベルアップしているかを解説している。複雑なスクリプトは必要ありません。
Comments