wfx-loot adalah kampanye pencurian kredensial yang memanfaatkan akun GitHub yang telah dikompromikan untuk memeriksa repositori dan, jika akun tersebut memiliki akses tulis, menyisipkan kode pencuri rahasia ke lingkungan continuous integration (CI). Aikido melaporkan 4.837 akun yang dikompromikan mengirim pull request ke 61.764 repositori. Dalam hitungan yang dipublikasikan, payload berjalan dan kredensial dieksfiltrasi dari sedikitnya 1.835 repositori.
4
9
Kapan wfx-loot terjadi?
Aktivitas dimulai sekitar 10 November 2026 pukul 12.45 UTC. Satu laporan mencatat rentang pengiriman pull request pengujian hingga 11 November pukul 15.00 UTC—sekitar 26 jam 15 menit.
6
7 Rentang ini menggambarkan periode pengujian yang teramati; bukan kepastian bahwa seluruh aktivitas payload atau penggunaan kredensial curian berhenti saat itu.
Angka-angka yang dilaporkan merujuk pada tahap yang berbeda:
- 4.837 akun dilaporkan telah dikompromikan.
- 61.764 repositori menerima pull request pengujian. Angka ini menunjukkan repositori yang diperiksa, bukan semuanya terbukti menjalankan malware.
- Sedikitnya 1.835 repositori masuk dalam hitungan Aikido untuk eksekusi payload dan eksfiltrasi kredensial.
9
Sejumlah laporan pada periode yang sama menyebut angka lebih rendah, yakni 1.806.
6
10 Laporan yang tersedia tidak menjelaskan selisih tersebut. Karena itu, kedua angka sebaiknya dipahami sebagai hitungan yang dilaporkan pada waktu berbeda, bukan digabungkan. Bukti yang diberikan juga tidak mendukung klaim belakangan tentang sekitar 1.970 kasus publik terkonfirmasi dari lebih dari 66.000 target.
Cara penyerang menguji akses
Penyerang membuka pull request berjudul docs: dependency audit notes dari cabang bernama wfx-docs. Pull request ini berfungsi sebagai pengujian untuk mengetahui apakah akun yang dikompromikan memiliki izin menulis ke repositori sasaran.
3
4
9
Jika izin memungkinkan, penyerang menyisipkan payload pencuri rahasia ke lingkungan CI. Kampanye ini memanfaatkan kredensial curian yang masih berlaku, bukan mengeksploitasi kerentanan GitHub Actions.
4
9 OX Security menggambarkan malware tersebut sebagai satu skrip shell sepanjang sekitar 1.500 baris.
31
Sejumlah laporan menyebut perubahan berbahaya dan log alur kerja dihapus dalam beberapa kasus, sehingga penyelidikan menjadi lebih sulit.
1
6 Bukti yang tersedia mendukung pola umum berupa pengujian akses, eksekusi payload, dan penghapusan jejak. Namun, bukti itu tidak memastikan bahwa setiap metode penyebaran atau pesan commit yang dilaporkan digunakan pada setiap infeksi.
Rahasia apa yang menjadi sasaran?
Tujuan yang terdokumentasi adalah mengumpulkan kredensial yang dapat diakses oleh tugas CI, termasuk secret GitHub Actions dan kredensial layanan cloud. Laporan juga menyebut upaya memperoleh token layanan AI.
3
9 Analisis OX Security mencantumkan kredensial AWS, Azure, dan Google Cloud sebagai sasaran.
31 Laporan terpisah menyebut malware dapat mencari rahasia di memori proses runner, tetapi kutipan yang tersedia tidak menjelaskan seberapa sering cara ini berhasil.
17
29
Sebuah rangkuman melaporkan upaya memperluas akses melalui perubahan kebijakan kepercayaan AWS dan kredensial federasi Azure.
5 Perlakukan detail persistensi ini sebagai perilaku yang dilaporkan, bukan bukti bahwa setiap repositori terdampak—atau setiap akun cloud—telah diubah. Bukti yang tersedia berfokus pada pencurian kredensial; tidak menunjukkan pencurian kode sumber atau basis data pelanggan.
9
15
Apa arti sinyal yang ditemukan?
Satu laporan menyebut 92% dari 10.431 pull request pengujian yang dikirim melalui akses kolaborator atau organisasi masih terbuka saat diperiksa.
10
19 Ini menunjukkan banyak pengujian mungkin belum ditindaklanjuti pada saat itu, tetapi tidak membuktikan bahwa pemilik repositori atau tim keamanan sama sekali tidak mendeteksinya. Persentase tersebut juga tidak berlaku untuk semua pull request dalam kampanye.
Sebuah panduan investigasi turut mencatat 173 pull request pengujian dari 19 akun yang menggunakan token melalui Fly.io GitHub App.
37 Temuan itu sendiri tidak membuktikan infrastruktur Fly.io diretas atau payload berjalan di setiap repositori yang dijangkau melalui token tersebut.
Langkah yang perlu dilakukan tim keamanan
Jika organisasi Anda mungkin terdampak, bedakan status diuji, disisipi payload, payload dijalankan, dan kredensial dieksfiltrasi dalam penilaian insiden. Keempatnya bukan temuan yang sama.
- Cari indikator pengujian. Periksa pull request berjudul
docs: dependency audit notes dan cabang wfx-docs di repositori yang dapat ditulisi oleh akun organisasi Anda.
9
- Tinjau catatan CI dan audit. Periksa proses alur kerja, commit, aktivitas cabang, serta log cloud yang tersedia. Nomor proses alur kerja yang hilang dapat menjadi petunjuk karena laporan menyebut penghapusan proses dan log, tetapi celah nomor saja tidak membuktikan kompromi.
1
24
- Cabut akses yang terdampak. Cabut token GitHub yang diduga telah dikompromikan dan tinjau akses akun, kolaborator, serta GitHub App.
- Rotasi rahasia secara menyeluruh. Jika payload berjalan, anggap secret dan peran cloud yang dapat diakses oleh alur kerja tersebut berpotensi bocor—bukan hanya kredensial yang terlihat dalam log yang tersisa.
3
9
- Periksa persistensi cloud. Selidiki perubahan tak terduga pada kebijakan kepercayaan AWS dan aplikasi atau kredensial federasi Azure, serta kunci atau perubahan akses lain yang tidak sah.
5
- Simpan bukti. Amankan catatan audit dan log yang masih tersedia sebelum melakukan pembersihan, lalu dokumentasikan tahap serangan yang benar-benar didukung bukti.