Paket PyPI dengan 1,1 Juta Unduhan Bulanan Diretas untuk Menyebarkan Infostealer

Seorang penyerang dilaporkan berhasil menyusupkan versi berbahaya dari paket Python Package Index (PyPI) populer, elementary-data, untuk mencuri data sensitif milik pengembang perangkat lunak serta dompet mata uang kripto.
Rilis berbahaya yang berhasil disusupkan tersebut adalah versi 0.23.3. Bahayanya, infeksi ini juga meluas hingga ke image Docker karena alur kerja (workflow) paket tersebut dirancang untuk secara otomatis membuat image dari kode dan mengunggahnya ke registri kontainer untuk penerapan.
Seorang anggota komunitas dengan nama pengguna crisperik berhasil menemukan unggahan berbahaya ini dan segera membuka tiket masalah (issue) di GitHub proyek tersebut pada hari Sabtu, yang secara efektif mengingatkan pengelola dan meminimalkan jendela paparan. Versi pengganti yang bersih, yakni elementary-data 0.23.4, telah didorong ke pengguna. Namun, pengguna yang telanjur mengunduh varian mematikan tersebut tetap dalam status terkompromi.
Tentang elementary-data
Paket elementary-data adalah alat observabilitas data sumber terbuka (open-source) untuk platform dbt, yang utamanya digunakan oleh insinyur data/analitik yang bekerja dengan jalur data (data pipelines). Ini adalah alat yang sangat populer di ekosistem dbt (Data Build Tool), yang mencatatkan lebih dari 1,1 juta unduhan bulanan di repositori PyPI.
Mekanisme Serangan: Eksploitasi Alur Kerja GitHub
Menurut analisis insiden yang diterbitkan oleh para peneliti keamanan di StepSecurity, penyerang dalam kasus ini tidak membobol akun pengelola proyek seperti yang biasa terjadi pada insiden pembaruan jahat lainnya. Alih-alih, mereka mengeksploitasi celah keamanan di dalam alur kerja proyek itu sendiri.
Penyerang mengunggah komentar berbahaya pada sebuah pull request yang mengeksploitasi celah injeksi skrip GitHub Actions, yang menyebabkan alur kerja mengeksekusi kode shell yang dikendalikan oleh penyerang.
Serangan ini berhasil mengekspos rahasia GITHUB_TOKEN milik alur kerja. Token sakti ini kemudian digunakan untuk memalsukan commit dan tag yang ditandatangani (v0.23.3) dan memicu pipa rilis (release pipeline) proyek yang sah. Pipa rilis otomatis tersebut kemudian membangun dan menerbitkan paket yang telah dipasangi pintu belakang (backdoored) ke PyPI, serta image Docker berbahaya ke GitHub Container Registry, membuatnya terlihat seperti rilis resmi yang sah.
Muatan Berbahaya dan Langkah Mitigasi
Rilis berbahaya di PyPI tersebut mengandung fail tersembunyi bernama elementary.pth, yang akan dieksekusi secara otomatis pada saat sistem dinyalakan (startup). Skrip ini memuat malware pencuri rahasia (secrets stealer) yang menargetkan tipe data berikut:
- Kunci SSH, kredensial Git, dan kredensial Cloud (AWS/GCP/Azure).
- Data rahasia Kubernetes, Docker, dan Continuous Integration (CI).
- Fail
.envdan token pengembang. - Fail dompet kripto (Bitcoin, Litecoin, Dogecoin, Zcash, Dash, Monero, Ripple).
- Data sistem tingkat lanjut (
/etc/passwd, log, riwayat shell).
Peneliti menyatakan bahwa muatan yang persis sama juga mencapai image Docker proyek, karena “alur kerja paket rilis yang mengunggah ke PyPI juga memiliki tugas membangun dan mendorong image Docker.”
Menurut StepSecurity, sistem apa pun yang tidak menggunakan versi terikat/terkunci (pinned versions) kemungkinan telah menarik build mematikan ini secara otomatis. Pengguna yang mengunduh rilis elementary-data==0.23.3, serta image Docker dengan tag ghcr.io/elementary-data/elementary:0.23.3 dan :latest, sangat disarankan untuk segera merotasi semua kata sandi/kredensial dan memulihkan lingkungan mereka dari titik cadangan aman yang diketahui.








