
Sebanyak 4.837 akun GitHub disusupi dan digunakan untuk memeriksa akses tulis ke 61.764 repositori dalam kampanye wfx-loot. Penyerang menyisipkan workflow berbahaya untuk mencuri secrets GitHub Actions dan kredensial layanan cloud.
Menurut ringkasan temuan Aikido, sedikitnya 1.835 repositori menjalankan payload dan mengalami pengiriman kredensial keluar. Angka tersebut berbeda dari jumlah repositori yang diperiksa: tidak semua target menjalankan skrip berbahaya.
Pull request disamarkan sebagai catatan audit
Kampanye dimulai sekitar 10 November 2026 pukul 12.45 UTC atau 19.45 WIB. Pelaku menggunakan kredensial GitHub curian untuk membuka pull request berjudul docs: dependency audit notes, seolah-olah berisi catatan pemeriksaan dependensi.
Pengujian itu membantu pelaku mengetahui repositori mana yang dapat ditulisi akun terkompromi. Sekitar 92 persen pull request pemeriksaan masih terbuka ketika temuan dilaporkan, yang menurut peneliti mengindikasikan banyak pemilik belum menyadari aktivitas tersebut.
Payload dikirim melalui perubahan workflow yang sudah ada, workflow baru pada cabang berumur pendek, atau hook instalasi npm. Setelahnya, pelaku membatalkan perubahan dan menghapus riwayat eksekusi beserta log, dalam waktu kurang dari satu menit.
Memburu secrets pengembang dan layanan cloud
Skrip sekitar 1.500 baris itu menargetkan secrets dan variabel GitHub Actions, token workflow, serta kredensial AWS, Azure, dan Google Cloud. Pada runner yang dikelola sendiri, kredensial dari metadata instans juga termasuk sasaran.
Target lain mencakup Git, SSH, Docker, Kubernetes, npm, PyPI, Vault, dan Terraform. Kredensial layanan AI serta alat pengembang, termasuk OpenAI, Anthropic, Gemini, Hugging Face, Cursor, dan Copilot, turut diburu.
Pengumpulan tidak terbatas pada konfigurasi workflow. Skrip mencari variabel lingkungan, berkas .env, kunci privat, riwayat shell, memori proses, isi repositori, dan artefak pekerjaan otomatisasi. Data yang terkumpul kemudian dikemas dan dikirim melalui HTTP POST ke infrastruktur penyerang.
Akses cloud dapat melampaui token yang dicuri
Aikido menemukan kemampuan untuk menukar token OIDC menjadi sesi cloud dan membangun akses persisten ketika izin memungkinkan. Contohnya adalah pembuatan kredensial jangka panjang atau perubahan hubungan kepercayaan identitas.
OIDC sendiri merupakan mekanisme sah untuk menghubungkan workflow dengan penyedia cloud tanpa menyimpan secrets jangka panjang. Dokumentasi GitHub menjelaskan bahwa penyedia cloud memvalidasi identitas workflow sebelum menerbitkan token akses berumur pendek.
GitHub meminta organisasi menetapkan kondisi penerbitan token agar repositori yang tidak dipercaya tidak dapat memperoleh akses cloud. Aturan perlindungan environment juga dapat membatasi cabang atau tag yang boleh melakukan deployment dan mengakses secrets.
Dalam konteks insiden ini, rotasi token perlu diikuti pemeriksaan kebijakan kepercayaan serta identitas yang dapat diakses workflow. Mengganti secrets tidak otomatis membatalkan jalur akses tambahan yang mungkin sudah dibuat penyerang.
Periksa jejak workflow dan paket terkait
Indikator yang disebut peneliti meliputi cabang wfx-docs, pull request catatan audit tersebut, dan lompatan nomor eksekusi workflow. Jika payload terbukti berjalan, seluruh secrets serta peran cloud yang tersedia bagi workflow perlu dianggap terkompromi.
Penerbitan otomatis turut membawa payload ke digitalelvis/neuronai-studio 3.14.3 di Packagist dan dua tag modul Go onuragtas/docker-env, yaitu v1.0.278 serta v1.0.280. Aikido memperjelas bahwa pada modul Go, payload hanya berada dalam berkas workflow; sumber Go dan binari rilis tidak berubah, sehingga dampak bagi konsumennya berbeda.
Temuan ini menempatkan izin akun pengembang dan otomasi CI sebagai bagian penting dari pemeriksaan insiden. Keberadaan pull request mencurigakan perlu ditelusuri hingga aktivitas workflow dan akses cloud, bukan dinilai hanya dari perubahan kode yang masih terlihat.

Sumber: Aikido – wfx-loot campaign pushes CI secret stealer to tens of thousands of repositories








