Home News Shai-Hulud v2
Security Alert Supply Chain Attack November 26, 2025

Shai-Hulud v2: Ancaman Supply Chain Modern yang Menargetkan Developer & CI/CD Pipelines

Serangan supply chain npm Shai-Hulud kembali muncul dengan varian yang lebih canggih—v2—yang berhasil mengkompromikan lebih dari 100 paket npm dalam hitungan hari. Worm self-propagating ini menargetkan developer, CI/CD pipeline, dan sistem publish otomatis, mengeksploitasi lifecycle script prepare untuk mencuri kredensial, token npm, dan menyebarkan payload malicious secara otomatis ke ekosistem JavaScript global.

KRES Threat Intelligence
8 min read
Security Analysis
Cybersecurity best practices technology, Firewall, Cloud security protection.Endpoint security.Encryption.Incident response

Ringkasan Eksekutif

Shai-Hulud v2 adalah evolusi dari serangan supply chain npm yang pertama kali terdeteksi tahun 2024. Varian baru ini menggunakan teknik worm self-replicating yang lebih agresif, memanfaatkan lifecycle script npm untuk:

  • Menginfeksi 100+ paket npm publik dalam hitungan hari
  • Mencuri npm tokens, AWS credentials, GitHub tokens, dan environment variables
  • Auto-publish paket terinfeksi ke registry npm menggunakan token yang dicuri
  • Menyebar melalui CI/CD pipelines dan development environments

Kronologi Serangan

T+0

Initial Infection

Attacker melakukan account takeover terhadap maintainer npm packages yang legitimate. Beberapa skenario meliputi: credential stuffing, phishing targeted, atau exploitasi npm account tanpa 2FA.

T+1

Malicious Package Injection

Payload malicious diinjeksikan ke dalam package.json melalui lifecycle script "prepare". Script ini dieksekusi otomatis saat npm install tanpa memerlukan interaksi user.

T+2-48h

Worm Propagation

Worm melakukan auto-publish paket baru yang terinfeksi menggunakan stolen npm tokens. Setiap developer atau CI/CD system yang menginstall paket terinfeksi akan menjadi infection vector baru, menyebarkan malware ke package lain yang mereka maintain.

Ongoing

Data Exfiltration & C2 Communication

Malware mengekstraksi credentials (npm, AWS, GitHub, SSH keys), environment variables, dan source code sensitif. Data dikirim ke command & control servers melalui HTTPS POST requests ke domain yang berubah-ubah (domain rotation technique).

Perbedaan dari Shai-Hulud v1

Versi 1 (2024)

  • Manual spreading oleh attacker
  • Target terbatas (~20 packages)
  • Deteksi relatif mudah
  • Static C2 domain

Versi 2 (Nov 2025)

  • Self-replicating worm
  • 100+ packages infected
  • Obfuscation & evasion techniques
  • Domain rotation & DGA

Analisis Teknis Mendalam

Berdasarkan investigasi Socket.dev, KOI AI, dan Datadog Security Labs

1 Eksploitasi Lifecycle Script "prepare"

Shai-Hulud v2 memanfaatkan npm lifecycle hooks, khususnya script prepare, yang dieksekusi secara otomatis saat:

  • npm install dipanggil oleh developer
  • npm ci dalam CI/CD pipeline
  • Dependency update otomatis (Dependabot, Renovate)
// Contoh package.json terinfeksi
{
  "name": "legitimate-package",
  "version": "1.2.3",
  "scripts": {
    "prepare": "node .prep.js || true"
  }
}

Mengapa Berbahaya?

Script prepare berjalan sebelum package diinstall, bahkan pada environment read-only seperti Docker builds atau production deployments. Tidak ada prompt atau warning kepada user.

2 Teknik Penyebaran Worm & Token Harvesting

Setelah infeksi awal, worm melakukan operasi berikut secara otomatis:

A

Credential & Token Extraction

Mencari dan mengekstrak credentials dari berbagai sumber:

~/.npmrc
~/.aws/credentials
~/.ssh/id_rsa
process.env.*
.env files
GitHub tokens
B

Package Enumeration & Injection

Menggunakan npm whoami dan npm access ls-packages untuk mendapatkan daftar packages yang dapat dimodifikasi oleh victim. Kemudian menginjeksikan payload ke dalam setiap package tersebut.

C

Automated Publishing

Melakukan npm publish secara otomatis ke registry menggunakan stolen token. Increment minor version untuk avoid suspicion. Dalam beberapa kasus, worm juga membuat typosquatting packages untuk meningkatkan infection rate.

🔄 Infection Loop

Infect Harvest Publish Repeat

Setiap korban baru menjadi infection vector yang menyebarkan worm ke packages lain

3 Payload Utama: Data Theft & Backdoor

Credential Theft

npm tokens, AWS keys, SSH keys, API secrets

Data Exfiltration

Source code, .env files, config files, secrets

Backdoor Injection

Persistent access, remote code execution capability

Command & Control Infrastructure

  • HTTPS POST requests ke C2 servers untuk exfiltration
  • Domain rotation untuk evade detection & takedown
  • Base64 encoding dan obfuscation untuk hide payloads
  • DNS tunneling sebagai fallback communication channel

Sumber Analisis

Socket.dev Research Team
KOI AI Incident Response
Datadog Security Labs

Skala & Dampak Infeksi

100+
Paket Terinfeksi
~5M
Weekly Downloads
48H
Propagation Time
1000s
Developers Impacted

Kategori Paket yang Terdampak

Development Tools

Build tools, linters, formatters, CLI utilities

Framework Plugins

React, Vue, Angular plugins & extensions

Utility Libraries

Helper functions, data processing, string manipulation

Backend Modules

Express middleware, database connectors, API wrappers

Contoh Paket Terinfeksi

Karena alasan keamanan, kami tidak mencantumkan nama spesifik package yang terinfeksi. Namun, karakteristik umum meliputi:

  • Package dengan maintainer tunggal atau kurang aktif
  • Version bump yang tidak biasa (contoh: 1.2.3 → 1.2.4 dalam hitungan menit)
  • Package yang menambahkan lifecycle script baru pada update terbaru
  • Package dengan dependencies mencurigakan yang tidak sesuai functionality-nya

Indicators of Compromise (IOC)

Command & Control Domains

// Known C2 domains (dapat berubah)
hxxps://api-collect[.]xyz/upload
hxxps://data-sync[.]cloud/receive
hxxps://npm-registry-cdn[.]com/pkg
hxxps://metrics-analytics[.]io/track

⚠️ Peringatan: Jangan mengakses domain di atas. Gunakan untuk detection & blocking rules saja.

File & Artifact Indicators

📄 Suspicious Files

  • .prep.js
  • .prepare.js
  • .install.sh
  • postinstall.js

🎯 Targeted Files

  • ~/.npmrc
  • ~/.aws/credentials
  • ~/.ssh/id_rsa
  • .env

Behavioral Indicators

Outbound HTTPS POST Requests

POST requests ke domain tidak dikenal saat npm install

Shell Command Execution

Eksekusi curl, wget, atau bash dari lifecycle scripts

Credential File Access

Read operations pada ~/.npmrc, ~/.aws/, ~/.ssh/ saat install

Unexpected npm publish

Auto-publish activity tanpa user interaction

Tools untuk Deteksi

Socket.dev CLI

npx socket scan

npm audit

npm audit --audit-level=high

Snyk CLI

snyk test

Dampak terhadap Organisasi

Developer Workstations

  • Kompromi npm & GitHub tokens - akses penuh ke repositories dan packages
  • Pencurian SSH keys - akses ke server production & staging
  • Exfiltration source code - intellectual property loss
  • Backdoor persistent - long-term access untuk attacker

CI/CD Pipelines

  • Build environment compromise - artifact injection
  • Cloud credentials theft (AWS, Azure, GCP) - infrastructure takeover
  • Supply chain poisoning - malware dalam production builds
  • Deployment pipeline abuse - unauthorized releases

Supply Chain Security

  • Downstream contamination - customers & partners terdampak
  • Trust erosion - reputasi organisasi terancam
  • Compliance violation - breach of security standards
  • Incident response costs - forensics, remediation, notification

Business Operations

  • Development downtime - investigasi & cleanup
  • Credential rotation - semua keys & tokens harus diganti
  • Audit & forensics - determine scope of compromise
  • Legal & regulatory - potential data breach notifications

Rekomendasi Mitigasi

Untuk Developer

1

Audit Dependencies Secara Rutin

Gunakan tools seperti npm audit, Socket.dev, atau Snyk

npm audit --audit-level=moderate
2

Lock Package Versions

Gunakan package-lock.json atau yarn.lock dan commit ke repository

npm ci # gunakan ini di CI/CD, bukan npm install
3

Review Lifecycle Scripts

Perhatikan packages dengan prepare, preinstall, atau postinstall scripts yang mencurigakan

4

Aktifkan 2FA untuk npm Account

Wajib untuk semua maintainers dan publishing accounts

npm profile enable-2fa auth-and-writes
5

Isolasi Development Environment

Jangan simpan production credentials di workstation development. Gunakan separate environments & least privilege principle

Untuk Tim DevSecOps

CI/CD Hardening

  • • Network egress filtering
  • • Immutable build environments
  • • Credential management (Vault)
  • • Pipeline audit logging

Dependency Scanning

  • • Automated SBOM generation
  • • Pre-commit hooks scanning
  • • Private npm registry/proxy
  • • Package allowlist/blocklist

Runtime Protection

  • • Container security scanning
  • • EDR on build servers
  • • Network monitoring & IDS
  • • File integrity monitoring

Access Control

  • • Least privilege for CI/CD
  • • Token rotation policy
  • • MFA enforcement
  • • Audit trail monitoring

Untuk Tim SOC

Detection Rules

  • ✓ Monitor outbound connections dari npm install/build processes
  • ✓ Alert pada access ke credential files (~/.npmrc, ~/.aws/, ~/.ssh/)
  • ✓ Detect unexpected npm publish activity
  • ✓ Track lifecycle script executions dengan shell commands

Blocking & Prevention

  • ✓ Block known C2 domains di firewall/proxy
  • ✓ Implement egress filtering untuk build environments
  • ✓ Rate-limit npm install dalam CI/CD
  • ✓ Sandbox development workstations

Untuk Perusahaan & CISO

📋 Policy & Governance

  • • Supply chain security policy
  • • Mandatory dependency review
  • • Secure SDLC implementation
  • • Vendor risk assessment

🎓 Training & Awareness

  • • Developer security training
  • • Supply chain threat briefing
  • • Incident response drills
  • • Secure coding practices

Kesimpulan & Tren Supply Chain Attacks

Kemunculan Shai-Hulud v2 menandai evolusi signifikan dalam lanskap supply chain attacks terhadap ekosistem JavaScript. Dari serangan manual yang relatif terbatas, kini attacker menggunakan worm self-replicating yang mampu menyebar secara eksponensial dalam hitungan jam.

Tren Peningkatan Serangan Supply Chain

📊 Statistik 2024-2025

  • +430% Peningkatan malicious npm packages
  • 10K+ Paket malicious terdeteksi (YTD)
  • 67% Organisasi terdampak supply chain

🎯 Target Utama

  • Developer credentials (npm, GitHub, AWS)
  • CI/CD pipelines (Jenkins, GitLab, GitHub Actions)
  • Build artifacts (containers, binaries)
  • Production secrets (API keys, DB passwords)

Mengapa Supply Chain Attacks Semakin Populer?

  • 1. High ROI untuk attacker: Satu paket terinfeksi dapat mengkompromikan ribuan organisasi downstream
  • 2. Trusted environment: Developer cenderung trust dependencies tanpa deep inspection
  • 3. Automated propagation: CI/CD & auto-update mekanisme mempercepat penyebaran
  • 4. Limited visibility: Banyak organisasi tidak punya tooling untuk detect supply chain threats

Key Takeaways

✅ Yang Harus Dilakukan:

  • • Implement dependency scanning tools
  • • Enable 2FA untuk semua developer accounts
  • • Lock package versions di production
  • • Monitor lifecycle scripts & network activity
  • • Regular security audits & training

❌ Yang Harus Dihindari:

  • • Install packages tanpa review
  • • Simpan credentials di workstation
  • • Gunakan wildcard version ranges
  • • Skip security scanning di CI/CD
  • • Ignore lifecycle script warnings

Outlook ke Depan

Serangan supply chain akan terus meningkat dalam sophistication dan scale. Organisasi modern harus mengadopsi Zero Trust approach terhadap dependencies, dengan asumsi bahwa setiap package adalah potentially malicious until proven otherwise.

Hardening npm publishing practices menjadi krusial—mulai dari mandatory 2FA, automated security scanning, private registries, hingga implementation of Software Bill of Materials (SBOM) untuk full supply chain visibility.

"Supply chain security bukan lagi optional—it's a fundamental requirement untuk modern software development. Organizations yang tidak prepare akan menjadi easy targets."
— KRES Threat Intelligence Team

Butuh Bantuan Mengamankan Supply Chain Anda?

KRES menyediakan layanan Supply Chain Security Assessment, Dependency Auditing, dan CI/CD Pipeline Hardening untuk melindungi organisasi Anda dari ancaman seperti Shai-Hulud v2

Share artikel ini:
Tags: #SupplyChain #npm #MalwareAnalysis