Sebuah serangan supply chain yang canggih telah menyusup ke ekosistem NPM , mengkompromikan lebih dari 40 paket dan mempengaruhi jutaan developer di seluruh dunia. Serangan ini menargetkan paket @ctri/tinycolor yang populer, yang menerima 2,2 juta unduhan mingguan, bersama dengan puluhan paket lainnya yang mencakup beberapa maintainer.
Kode berbahaya ini beroperasi dengan secara otomatis mengunduh arsip paket, menyuntikkan skrip berbahaya, dan menerbitkan ulang untuk menyebarkan infeksi lebih lanjut. Hal ini menciptakan sistem yang dapat menyebar sendiri yang dapat mengkompromikan paket downstream tanpa intervensi langsung dari penyerang.
Contoh Paket yang Dikompromikan:
- @ctri/tinycolor (2,2 juta unduhan mingguan)
- @ctri/delegate.2.2
- @ctri/ngx-codemirror9.0.2
- encounter-playground9.0.5
- ngx-color91.0.2
- react-complate-image9.0.30
Operasi Pencurian Kredensial
Tujuan utama serangan ini tampaknya adalah mencuri kredensial sensitif dari lingkungan developer. Malware ini menggunakan TruffleHog , sebuah tool keamanan yang legitimate, untuk memindai filesystem mencari token berharga dan kredensial cloud. Secara khusus menargetkan token publishing NPM , kunci rahasia AWS , dan token akses GitHub .
Yang membuat serangan ini sangat berbahaya adalah kemampuannya untuk memvalidasi kredensial yang dicuri secara real-time. Malware ini memeriksa token NPM terhadap endpoint autentikasi dan menggunakan token GitHub untuk berinteraksi dengan repositori, yang berpotensi memungkinkan penyerang untuk menerbitkan pembaruan berbahaya ke paket yang legitimate.
Kredensial yang Ditargetkan:
- NPM_TOKEN dan NPM_TOKEN_AMG
- AWS_SECRET_ACCESS_KEY dan ACCESS_KEY_ID
- Token akses personal GitHub
- Kredensial metadata cloud dari agen build
Respons Komunitas dan Tantangan Deteksi
Komunitas keamanan telah menyuarakan kekhawatiran tentang frekuensi serangan semacam ini, dengan ini menjadi kompromi NPM besar kedua dalam satu minggu. Developer mempertanyakan langkah-langkah keamanan platform dan menyerukan perlindungan yang lebih kuat.
Ada saran praktis yang dapat mencegah hal ini tetapi NPM belum mengadopsinya: Mencegah penerbitan versi paket baru selama 24–48 jam setelah kredensial akun diubah, Mewajibkan dukungan untuk security key.
Serangan ini awalnya terdeteksi oleh sistem otomatis, yang menyebabkan kebingungan tentang legitimasinya. Namun, peneliti keamanan telah mengkonfirmasi bahwa ancaman ini nyata dan aktif menyebar. Deteksi ini menyoroti baik nilai pemantauan otomatis maupun kebutuhan akan verifikasi manusia terhadap peringatan keamanan.
Langkah-langkah Perlindungan Segera
Para ahli keamanan merekomendasikan beberapa langkah segera untuk developer yang terdampak. Perlindungan jangka pendek yang paling efektif melibatkan menonaktifkan eksekusi skrip otomatis selama instalasi paket, yang mencegah kode berbahaya berjalan segera.
Organisasi yang menggunakan paket yang terdampak harus mengaudit lingkungan pengembangan dan sistem CI/CD mereka untuk mencari tanda-tanda pencurian kredensial. Sistem apa pun yang menginstal versi yang terkompromikan harus dianggap berpotensi terkompromikan, dengan semua token dan secret terkait memerlukan rotasi.
Serangan ini menunjukkan kerentanan berkelanjutan dari supply chain open-source dan kebutuhan akan langkah-langkah keamanan yang lebih kuat dalam sistem manajemen paket. Karena penyerang semakin menargetkan komponen infrastruktur kritis ini, komunitas pengembangan harus menyesuaikan praktik keamanannya untuk mencocokkan lanskap ancaman yang terus berkembang.
Referensi: Popular Tinycolor npm Package Compromised in Supply Chain Attack Affecting 40+ Packages