SANDWORM_MODE, sebuah worm npm yang dapat mereplikasi diri, menyerang lebih dari 19 paket, mengumpulkan kunci pribadi, mnemonik BIP39, file dompet, dan kunci API LLM dari lingkungan pengembang.
Serangan rantai pasokan npm yang aktif sedang melanda lingkungan pengembang saat ini. Tim Penelitian Ancaman Socket mengungkap apa yang mereka sebut sebagai SANDWORM_MODE, sebuah worm yang dapat mereplikasi diri dan menyebar melalui setidaknya 19 paket npm berbahaya yang terkait dengan dua alias penerbit. Seperti yang diperingatkan oleh SocketSecurity di X, ini adalah serangan rantai pasokan aktif yang mencuri rahasia pengembangan dan CI, menyuntikkan alur kerja GitHub, meracuni rangkaian alat AI, dan mengumpulkan kunci API LLM.
Kampanye ini langsung mengadopsi keluarga worm Shai-Hulud. Kunci pribadi menjadi prioritas utama. Tanpa batas waktu, tanpa penundaan. Artefak kripto yang ditemukan saat impor langsung diekstraksi melalui endpoint drain khusus sebelum tahap payload lain dijalankan.
Anda Perlu Tahu: Ancaman Keamanan Dompet Semakin Meningkat Harus Dibaca: Peretasan Keamanan Trust Wallet: Cara Melindungi Aset Anda
Worm ini menggunakan desain dua tahap. Tahap 1 langsung aktif saat impor, mengumpulkan token npm, token GitHub, rahasia lingkungan, dan kunci kripto hanya melalui pembacaan file. Tanpa eksekusi shell, tanpa gangguan. Mnemonik BIP39, kunci pribadi Ethereum, array byte Solana, kunci WIF Bitcoin, dan string xprv semuanya diambil dalam proses pertama.
Kunci kripto segera meninggalkan mesin melalui POST HTTPS ke Cloudflare Worker di pkg-metrics[.]official334[.]workers[.]dev/drain. Itu terjadi sebelum pemeriksaan batas waktu apa pun. Sebelum Tahap 2 bahkan dimuat.
Tahap 2 berada di balik penundaan 48 jam, yang dihitung dari hash MD5 hostname dan username. Lebih dalam lagi: pengelola kata sandi melalui Bitwarden, 1Password, dan LastPass CLI, penyimpanan SQLite lokal termasuk Apple Notes dan Messages macOS, serta pemindaian seluruh sistem file untuk file dompet. Di lingkungan CI, batas ini sepenuhnya hilang. Payload lengkap langsung dijalankan di GITHUB_ACTIONS, GITLAB_CI, CIRCLECI, JENKINS_URL, dan BUILDKITE tanpa penundaan sama sekali.
Menurut SocketSecurity di X, worm ini juga menyuntikkan alur kerja GitHub dan meracuni rangkaian alat AI, detailnya dikonfirmasi dalam pengungkapan teknis lengkap Socket.
Juga Perlu Dibaca: $21 juta Bitcoin yang disita dikembalikan setelah otoritas membekukan transaksi
Tiga paket menyamar sebagai Claude Code. Salah satunya menargetkan OpenClaw, agen AI yang mendapatkan lebih dari 210.000 bintang di GitHub. Modul McpInject dari worm ini menyebarkan server MCP palsu ke dalam konfigurasi Claude Code, Claude Desktop, Cursor, VS Code Continue, dan Windsurf di disk. Setiap konfigurasi mendapatkan entri alat palsu yang mengarah ke server berbahaya dan tersembunyi.
Server tersebut menyisipkan prompt injeksi yang memberi tahu asisten AI untuk diam-diam membaca kunci SSH, kredensial AWS, token npm, dan rahasia lingkungan sebelum setiap panggilan alat. Model tidak pernah memberi tahu pengguna. Injeksi ini secara eksplisit memblokirnya dari melakukannya.
Sembilan penyedia LLM menjadi target untuk pengambilan kunci API: OpenAI, Anthropic, Google, Groq, Together, Fireworks, Replicate, Mistra,l dan Cohere. Kunci diambil dari variabel lingkungan dan file .env, divalidasi terhadap pola format yang diketahui sebelum diekstraksi.
Proses ekstraksi ini berjalan melalui tiga saluran secara berurutan. Pertama, HTTPS ke Cloudflare Worker, kemudian unggahan API GitHub yang terautentikasi ke repositori pribadi menggunakan encoding double-base64, dan terakhir tunneling DNS melalui query yang dikodekan base32 ke freefan[.]net dan fanfree[.]net. Sebuah algoritma pembuatan domain yang dipicu oleh “sw2025” menyediakan cadangan di sepuluh TLD jika semua upaya gagal.
Worth a Look: Glassnode Menandai Kejenuhan Permintaan BTC
Dua alias penerbit yang mendukung kampanye ini adalah official334 dan javaorg. 19 paket berbahaya yang dikonfirmasi termasuk suport-color@1.0.1, claud-code@0.2.1, cloude@0.3.0, crypto-locale@1.0.0, secp256@1.0.0, dan scan-store@1.0.0 di antaranya. Empat paket tidur tambahan (ethres, iru-caches, iruchache, dan uudi) belum menunjukkan payload berbahaya.
npm telah menghapus paket berbahaya tersebut. GitHub menutup infrastruktur aktor ancaman. Cloudflare menarik pekerjaannya. Tetapi para pembela harus bertindak sekarang juga.
Jika salah satu dari paket ini dijalankan di lingkungan Anda, anggap mesin tersebut telah dikompromikan. Putar ulang token npm dan GitHub, putar ulang semua rahasia CI, audit .github/workflows/ untuk penambahan pull_request_target yang menyerialisasi ${{secrets.toJSON()}}. Periksa pengaturan template hook git global dengan menjalankan git config –global init.templateDir. Tinjau konfigurasi asisten AI untuk entri tidak terduga dari mcpServers. Sebuah mesin polymorphic yang tidak aktif dan menggunakan deepseek-coder:6.7b tertanam dalam worm ini dan dimatikan dalam build ini, yang berarti varian di masa depan bisa menulis ulang dirinya sendiri untuk menghindari deteksi.
Sebuah saklar mati juga ada dalam kode. Saat ini dinonaktifkan. Ketika diaktifkan, akan menjalankan find ~ -type f -writable dan menghancurkan setiap file yang dapat ditulis di direktori home. Operatornya masih melakukan iterasi.