Kembali

2026/11/11

Alat Keamanan yang Anda Unduh Ternyata Malware: Repositori GitHub Palsu Menginfeksi Lebih dari 2.000 PC Windows

Doctor Web menemukan alat keamanan palsu di GitHub yang menjalankan malware saat di-build. Cara kerja jebakannya dan apa yang perlu diperiksa sebelum build.

Anda menemukan sebuah alat bantu kecil di GitHub yang merapikan keluaran pemindai jaringan. Ada README, proyek Visual Studio, dan petunjuk build. Anda meng-clone-nya lalu menekan Build. Tidak ada yang tampak aneh, tetapi saat compiler mulai bekerja, sebuah perintah tersembunyi sudah berjalan di workstation Anda.

Itulah jebakan yang dijelaskan Doctor Web pada 5 November 2026. Para penelitinya menemukan repositori GitHub yang menyamar sebagai alat otomasi pemindaian, pengujian keamanan, dan analisis log, serta mencatat lebih dari 2.000 PC Windows yang terinfeksi pada saat penelitian. Artikel ini menjelaskan cara kerja jebakan tersebut, mengapa para engineer berpengalaman pun bisa terjebak, dan apa yang perlu diperiksa sebelum Anda mem-build kode yang baru saja di-clone.

Poin penting

  • Repositori tersebut menyamar sebagai alat keamanan, dan perintah berbahaya berjalan saat build atau ketika sebuah skrip dijalankan, tanpa perlu meluncurkan program terpisah.
  • Kode berbahaya bersembunyi di file proyek Visual Studio, di file .suo, dan di balik deretan spasi panjang dalam kode sumber Python dan Go.
  • Muatan akhirnya berupa dua backdoor AsyncRAT, pembajak clipboard untuk alamat dompet kripto, dan infostealer yang mencuri data browser, pengaturan VPN dan FTP, serta token Discord.
  • Baca file build sebelum melakukan build, dan build kode yang tidak dikenal di mesin virtual sekali pakai yang tidak menyimpan kredensial apa pun.
  • Jika Anda sudah mem-build salah satu proyek ini, anggap workstation tersebut telah disusupi dan ganti semua kredensial yang tersimpan di dalamnya dari perangkat yang bersih.

Apa yang ditemukan Doctor Web

Menurut laporan Doctor Web, repositori terinfeksi pertama muncul sekitar dua tahun lalu. Saat itu sasarannya adalah pengguna dompet kripto, dan repositori tersebut disajikan sebagai game blockchain, bot game, dan cheat. Kini para operatornya beralih menyasar profesional keamanan informasi. Salah satu repositori palsu berisi skrip untuk mengurai, membersihkan, dan memformat keluaran pemindai jaringan Fscan.

Ini bukan kerentanan perangkat lunak dan tidak ada CVE yang perlu di-patch. Ini adalah kampanye rantai pasok dan rekayasa sosial: penyerang menerbitkan proyek yang tampak berguna lalu menunggu seseorang mem-build-nya. Ringkasan BleepingComputer tentang penelitian ini menyebut trik spasi tersebut sebagai teknik lama yang masih terbukti efektif.

Cara kerja jebakannya

Doctor Web menemukan kode berbahaya di tiga jenis file. Tidak satu pun merupakan file yang biasanya dibuka pertama kali oleh peninjau.

Tempat bersembunyiApa yang terjadiMengapa mudah terlewat
File proyek .csprojSebuah PreBuildEvent menjalankan perintah sebelum proyek dikompilasiPeninjau membaca kode sumber, bukan file proyek
File .suoFile ini membawa perintah PowerShellIni adalah file pengaturan biner yang biasanya disimpan Visual Studio di folder tersembunyi
File sumber Python dan GoKode berbahaya berada di balik sejumlah besar karakter spasiBarisnya tampak kosong kecuali Anda menggulir jauh ke kanan atau mengaktifkan word wrap

Setelah itu, rantainya sama. Sebuah skrip PowerShell (laporan memberi contoh C:\Users\Public\Pictures\t.ps1 dan L.ps1) meminta string terenkripsi dari server penyerang, atau dari layanan sah seperti YouTube, Telegram, Google Docs, GitCode, dan Pastebin. Setelah didekripsi, string tersebut berisi tautan unduhan untuk arsip yang diekstrak ke C:\ProgramData\Windows.Microsoft.Photos.

Di dalamnya terdapat loader berbasis Electron bernama Microsoft.exe, yang dideteksi Doctor Web sebagai Trojan.Loader.3261. Loader ini melaporkan detail sistem melalui bot Telegram, mencoba memperoleh hak akses lebih tinggi, serta mematikan Windows Defender, User Account Control, notifikasi, System Restore, dan volume shadow copy. Loader ini juga mencoba menghapus produk ESET, McAfee, dan Malwarebytes, serta mengubah file hosts untuk memblokir domain vendor antivirus.

Agar tidak ketahuan, dalam mode default-nya loader membuat explorer.exe tampak sebagai proses induknya, mengubah nilai registry VerifiedAndReputablePolicyState untuk melewati Smart App Control, memulihkan kode asli ntdll.dll guna menghapus hook yang dipasang produk keamanan di sana, melakukan system call langsung, dan mem-patch fungsi Windows yang digunakan untuk pelacakan event dan pemindaian skrip. Setelah itu, loader menyuntikkan muatannya ke proses Windows yang sah seperti RegAsm.exe.

Tiga muatan kemudian menyusul:

  • Dua backdoor AsyncRAT. Kedua file identik tetapi menggunakan port jaringan yang berbeda, yang menurut Doctor Web mungkin memungkinkan dua operator mengendalikan perangkat yang sama secara bersamaan.
  • Sebuah clipper. Program ini mengganti alamat dompet kripto di clipboard dan mengirim tangkapan layar, judul jendela aktif, login pengguna, dan alamat IP ke bot Telegram.
  • Sebuah infostealer (JS.Stealer.191). Program ini memeriksa keberadaan sandbox dan mesin virtual, lalu mengumpulkan data browser, file koneksi FileZilla, MobaXterm, dan Total Commander, pengaturan VPN, file aplikasi pesan, data akun game, dan token Discord, kemudian mengirimkannya melalui bot Telegram.

Doctor Web juga menemukan komponen yang belum selesai, yang akan memasang layanan Windows dan mengunduh ulang loader jika loader dihapus. Hal ini menunjukkan bahwa para operator masih terus mengembangkan perangkat mereka.

Mengapa jebakan ini berhasil pada para profesional

Kampanye ini dibangun di sekitar kebiasaan yang biasanya dianggap sebagai praktik yang baik.

  • Mem-build dari kode sumber terasa lebih aman daripada menjalankan file unduhan. Banyak engineer menolak menjalankan biner yang tidak dikenal, tetapi tidak ragu mengompilasi sebuah proyek karena mereka bisa membaca kodenya. Di sini kode yang mereka baca bersih, sedangkan perintahnya ada di konfigurasi build.
  • Tidak ada momen “jalankan program ini”. Perintah berjalan sebagai bagian dari build biasa, sehingga jeda kewaspadaan yang biasa muncul sebelum meluncurkan program tak dikenal tidak pernah terjadi.
  • GitHub adalah tempat yang dipercaya. Repositori dengan README yang rapi dan petunjuk instalasi terlihat seperti ribuan proyek jujur lainnya. Doctor Web mencatat bahwa penyerang bahkan menyertakan petunjuk untuk memasang Visual Studio dan meng-clone repositori.
  • Workstation engineer menyimpan kunci-kuncinya. Sesi browser yang tersimpan, profil VPN, dan file koneksi server adalah persis apa yang dikumpulkan infostealer, dan sering kali membuka jalan ke sistem produksi dan lingkungan pelanggan.

Apa yang perlu diperiksa sebelum build

Pemeriksaan ini hanya memakan beberapa menit dan berlaku untuk proyek apa pun yang baru saja Anda clone, baik di Windows, Linux, maupun macOS. Jalankan di folder repositori sebelum Anda membuka proyek di IDE.

# 1. Build hooks and command execution in project files
grep -rniE 'PreBuildEvent|PostBuildEvent|<Exec |powershell|cmd\.exe' \
  --include='*.csproj' --include='*.vbproj' --include='*.vcxproj' \
  --include='*.props' --include='*.targets' .
# 2. Visual Studio user-option files that should not be in a repository
find . -name '*.suo'
# 3. Files with very long runs of spaces or tabs on one line
grep -rlE '[[:space:]]{200,}' .

Di Windows tanpa shell bergaya Unix, PowerShell dapat melakukan pemeriksaan spasi yang sama:

Get-ChildItem -Recurse -File |
  Select-String -Pattern '\s{200,}' -List |
  Select-Object -ExpandProperty Path

Temuan bukan bukti adanya malware. Banyak proyek jujur menggunakan build event, dan file yang di-minify berisi baris panjang. Temuan adalah alasan untuk membuka file dan membaca apa yang dilakukan perintah tersebut sebelum apa pun dijalankan.

  1. Baca file build terlebih dahulu. File proyek, Makefile, setup.py, skrip instalasi paket, dan file CI semuanya dapat menjalankan perintah. Baca dengan seteliti kode sumbernya.
  2. Hapus file .suo dan folder .vs yang ikut datang bersama repositori. Itu adalah pengaturan per pengguna dan proyek tidak membutuhkannya untuk build.
  3. Aktifkan word wrap atau tampilan spasi di editor Anda saat meninjau kode yang belum dikenal.
  4. Periksa riwayat repositori. Akun baru, satu commit besar, sedikit issue atau kontributor yang nyata, dan alat yang menduplikasi proyek terkenal semuanya merupakan alasan untuk lebih berhati-hati. Jumlah star dan fork saja tidak membuktikan banyak hal, karena keduanya bisa dipalsukan.
  5. Build kode yang tidak dikenal di lingkungan sekali pakai. Gunakan mesin virtual atau container sekali pakai tanpa kata sandi tersimpan, tanpa profil VPN, dan tanpa kunci SSH, lalu hapus setelah selesai.

Tips: Simpan satu snapshot mesin virtual yang bersih untuk mencoba alat. Clone, build, dan uji di sana, lalu kembalikan ke snapshot. Jika sebuah alat terbukti berguna, tinjau dengan benar sebelum alat itu mendekati workstation harian Anda.

Jika Anda sudah mem-build salah satunya

Doctor Web telah menerbitkan hash file, domain, alamat, dan contoh nama repositori dalam daftar indikator kompromi. Tanda-tanda yang dijelaskan dalam laporan antara lain:

  • folder C:\ProgramData\Windows.Microsoft.Photos atau program bernama Microsoft.exe;
  • t.ps1 atau L.ps1 di C:\Users\Public\Pictures;
  • pengecualian Windows Defender untuk regasm.exe atau dwm.exe yang tidak Anda tambahkan;
  • domain vendor antivirus di file hosts, atau System Restore dan shadow copy yang dimatikan;
  • perangkat lunak keamanan yang hilang atau berhenti diperbarui.

Jika Anda menemukan salah satu tanda ini, atau Anda tahu pernah mem-build proyek dari daftar tersebut, bertindaklah seolah-olah semua yang ada di mesin itu telah dibaca:

  1. Putuskan workstation dari jaringan dan beri tahu tim keamanan Anda.
  2. Dari perangkat lain yang bersih, ganti kata sandi yang tersimpan di browser dan keluar dari sesi aktif, agar cookie sesi yang dicuri tidak lagi berfungsi.
  3. Ganti profil VPN serta kata sandi atau kunci yang tersimpan di klien FTP dan terminal, lalu tinjau server yang dapat dijangkau olehnya.
  4. Reset sesi Discord dan aplikasi pesan lainnya, dan pindahkan aset kripto ke dompet yang dibuat di perangkat yang bersih.
  5. Instal ulang sistem operasi alih-alih membersihkannya. Loader mematikan fitur keamanan dan pemulihan serta memasang dua backdoor, sehingga sistem yang sekadar dibersihkan sulit dipercaya.

Tips: Periksa log server dan VPN untuk login dari akun yang terdampak setelah tanggal proyek tersebut di-build. File koneksi yang dicuri digunakan dari sistem penyerang, bukan dari workstation yang terinfeksi.

Bagaimana LOGIQ dapat membantu

LOGIQ membantu organisasi menjalankan perangkat lunak open source dengan aman, mulai dari Linux enterprise dan OpenJDK hingga pipeline build dan deployment di sekitarnya. Jika Anda ingin pandangan kedua tentang cara tim Anda memasukkan kode dari luar ke lingkungan mereka, atau membutuhkan bantuan memisahkan sistem build dari kredensial yang penting, hubungi kami.