Risiko Keamanan di Balik 60.000+ Ekstensi VS Code: Studi Temukan 5,6% Bersifat Mencurigakan

Pernahkah kamu merasa sangat terbantu dengan berbagai plugin di editor kode favoritmu? Saya pernah. Dulu, saya menginstal add-on baru tanpa berpikir dua kali, percaya bahwa segala sesuatu di marketplace resmi pasti aman. Kepercayaan buta itu membuat workspace development saya nyaman, tapi juga sangat rentan.
Visual Studio Code, atau VSCode, telah menjadi alat andalan jutaan developer di seluruh dunia. Kekuatannya terletak pada ekosistemnya yang luas, di mana ribuan tools dari komunitas dapat ditambahkan untuk meningkatkan fungsionalitas. Ini seperti memiliki pasar peralatan yang selalu terbuka untuk kita.
Namun, penelitian keamanan siber terbaru membuka mata kita. Dari lebih dari 60.000 add-on yang tersedia, ternyata 5,6% di antaranya bersifat mencurigakan. Angka ini mengungkap titik lemah yang mengkhawatirkan dalam supply chain pengembangan perangkat lunak kita sehari-hari.
Ancaman ini nyata dan sering diabaikan. Plugin berbahaya bisa menjadi pintu masuk untuk pencurian data atau malware. Mari kita lihat lebih dalam temuan ini dan belajar melindungi workspace development kita bersama.
Poin Penting yang Dapat Dipetik
- Visual Studio Code adalah editor kode yang sangat populer dengan ekosistem ekstensi yang masif.
- Sebuah studi menemukan bahwa 5,6% dari lebih dari 60.000 ekstensi VSCode bersifat mencurigakan.
- Ekosistem plugin yang luas ini bisa menjadi titik lemah keamanan yang serius.
- Ancaman dari add-on berbahaya dapat mengganggu keamanan workspace pengembangan Anda.
- Setiap pengembang memiliki tanggung jawab untuk lebih kritis dalam memilih tools yang digunakan.
- Kewaspadaan adalah langkah pertama yang penting untuk melindungi proses development.
Pengantar: Ekosistem VS Code yang Luas dan Kerentanannya
Dalam pengembangan perangkat lunak modern, prinsip “shift left” mendorong integrasi keamanan sejak fase desain dan koding. Alat yang digunakan sehari-hari menjadi garda terdepan. Di sinilah Visual Studio Code berperan sentral.
Editor ini telah menjadi toolbox multifungsi. Ia terhubung langsung ke repositori kode sumber, pipeline CI/CD, dan penyedia layanan cloud. Koneksi ini membuat alur kerja pengembang sangat efisien.
Kekuatan integrasi ini sekaligus menjadi titik lemah. Jika lingkungan VSCode dikompromi, penyerang bisa mendapatkan akses ke semua layanan yang terhubung. Layanan seperti GitHub, GitLab, Docker, dan Kubernetes menjadi terbuka.
Ada dua cara utama threat actors menargetkan toolbox ini. Pertama adalah serangan lokal, seperti phishing. Kedua adalah serangan remote yang lebih sulit dideteksi.
Fitur-fitur tertentu dalam editor ini paling rentan disalahgunakan. Tiga area utama adalah add-on pihak ketiga, tugas otomatisasi, dan proyek itu sendiri.
Menyerang proyek secara langsung cukup sulit. Jalan yang lebih mudah adalah melalui add-on atau tugas berbahaya. Proses publikasi add-on di pasar resmi relatif sederhana.
Hanya dengan akun Microsoft, seorang publisher dapat mengunggah karyanya. Pemeriksaan keamanan yang minimal menciptakan peluang. Ekosistem terbuka ini dimanfaatkan oleh pelaku ancaman.
| Rute Kompromi | Metode Serangan | Tingkat Dampak | Fitur VSCode yang Disalahgunakan |
|---|---|---|---|
| Lokal (Local) | Phishing, Social Engineering, file berbahaya yang diunduh manual. | Terbatas pada mesin pengguna yang terinfeksi. | Pengaturan pengguna, konfigurasi workspace, instalasi manual. |
| Remote (Jarak Jauh) | Serangan supply chain pada kode sumber IDE, tipu daya untuk instalasi add-on berbahaya. | Lebih luas, berpotensi menjangkau banyak developers melalui marketplace. | Add-on dari marketplace, tugas otomatis yang diambil dari repositori eksternal. |
Untuk serangan remote, penyerang dapat menyusup ke kode sumber IDE. Alternatifnya, mereka menipu pengembang agar menginstal kode berbahaya. Add-on berbahaya adalah vektor yang efektif.
Membuat add-on semacam itu tidak memerlukan keahlian tinggi. Fleksibilitas fungsionalitas editor memungkinkan penyisipan kode jahat. Kode ini dapat dijalankan dengan hak akses yang sama seperti editor.
Dengan demikian, kerentanan ini bukan hanya bug perangkat lunak. Ini adalah celah serius dalam rantai pasokan pengembangan. Setiap koneksi yang kita tambah memperluas permukaan serangan.
Kita harus memahami bahwa tool paling powerful juga membawa risk terbesar. Kesadaran ini adalah langkah pertama untuk mengamankan proses development kita.
Mengurai Temuan: 5,6% Ekstensi VS Code Berbahaya dan Risiko yang Mengintai

Temuan penelitian yang mengungkap 3.360 add-on mencurigakan di antara 60.000 lebih mengharuskan kita untuk berhenti sejenak. Angka 5,6% ini bukan sekadar persentase. Ia mewakili ribuan tools yang berpotensi mengancam workspace jutaan developer di seluruh dunia.
Setiap add-on yang terinstal adalah bagian dari supply chain pengembangan Anda. Jika satu saja terkontaminasi, seluruh alur kerja dan data bisa berada dalam bahaya.
Lalu, bagaimana sebenarnya sebuah plugin bisa bertindak jahat? Kuncinya ada pada functionality yang diberikan oleh editor itu sendiri. Add-on untuk VSCode ditulis dalam JavaScript atau TypeScript.
Mereka memiliki akses ke API yang powerful. Salah satunya adalah vscode.commands.executeCommand.
API ini dapat digunakan untuk mengeksekusi perintah sewenang-wenang di machine pengguna. Kode yang dijalankan akan beroperasi dengan hak akses yang sama persis seperti pengguna yang menjalankan editor.
Dengan izin ini, tidak ada yang membatasi aksesnya. Ia bisa membaca file, mengakses network, atau berinteraksi dengan services lain di environment tersebut.
Sebagai contoh, dengan beberapa baris kode sederhana, sebuah add-on bisa membuat reverse shell. Koneksi ini akan menghubungkan komputer developer langsung ke server yang dikendalikan threat actors.
Dari sana, kontrol penuh bisa diambil alih. Ini menunjukkan betapa mudahnya membuat payload berbahaya.
Risiko spesifik dari add-on semacam ini sangat beragam dan serius. Berikut adalah beberapa ancaman utama yang mungkin terjadi:
- Penginstalan Cryptominer: Perangkat lunak penambang kripto yang diam-diam membebani CPU, memperlambat kinerja sistem dan meningkatkan tagihan listrik.
- Serangan Ransomware: Add-on dapat mengenkripsi semua file proyek dan dokumen penting di mesin, lalu meminta tebusan.
- Pemasangan Backdoor Persisten: Membuat celah tetap terbuka untuk akses di masa depan, bahkan setelah add-on dihapus.
- Pembangunan Saluran Komando (C2): Menghubungkan mesin korban ke server penyerang untuk mengirim perintah dan mencuri data secara terus-menerus.
- Pencurian Kredensial: Ini adalah risk yang sangat halus. Add-on jahat dapat membaca penyimpanan lokal di mesin.
Banyak plugin lain yang terautentikasi menyimpan token atau kata sandi di sana. Kredensial untuk GitHub, Docker, AWS, atau Azure bisa diambil dengan mudah.
Penyerang kemudian bisa menggunakan identitas tersebut untuk mengakses repository pribadi atau layanan cloud. Ancaman terhadap supply chain menjadi jauh lebih dalam.
Tantangan bagi threat actors adalah menghindari deteksi. Kontrol keamanan network perusahaan sering memantau lalu lintas mencurigakan.
Untuk itu, mereka mungkin menggunakan layanan tepercaya seperti GitHub Gist atau Pastebin sebagai perantara. Data sensitif dikirim melalui channel yang tampak normal dan tidak diblokir.
Lalu, bagaimana add-on berbahaya bisa sampai di marketplace resmi? Proses review yang ada saat ini memiliki keterbatasan besar.
Pemeriksaan terutama terfokus pada pemindaian virus dasar dan mencegah name-squatting. Analisis mendalam terhadap kode dan perilaku add-on sangat minim.
Celah ini membuat sangat mungkin bagi plugin dengan kode berbahaya untuk lolos dan dipublikasikan.
Setelah dipublikasikan, penyerang perlu membuat add-on mereka terlihat legit. Mereka memanipulasi metrik kepercayaan.
Dengan menggunakan akun palsu atau bot, mereka bisa meningkatkan jumlah installs dan memberikan rating bintang lima. Pengguna yang melihatnya akan tertipu oleh popularitas yang direkayasa.
Visual Studio Code sebenarnya memiliki fitur keamanan bernama Workspace Trust. Fitur ini meminta konfirmasi saat membuka folder dari lokasi yang tidak tepercaya.
Sayangnya, fitur ini tidak membatasi apa yang bisa dilakukan oleh sebuah add-on yang sudah terinstal. Setelah diizinkan, ekstensi dapat menjalankan kodenya dengan bebas, terlepas dari status kepercayaan workspace.
Dampaknya sangat nyata. Sebuah add-on jahat tidak hanya mengganggu produktivitas individu. Ia dapat membahayakan keamanan data organisasi secara keseluruhan.
Proses development yang terganggu, kode sumber yang dicuri, atau infrastruktur yang dikompromi adalah risk yang mahal harganya. Kewaspadaan dalam memilih tool bukan lagi opsi, melainkan keharusan.
Bagaimana Ekstensi Berbahaya Bisa Menginfeksi Sistem Pengembang?

Infeksi tidak terjadi secara instan. Ia mengikuti alur yang terencana, memanfaatkan celah dalam supply chain pengembangan perangkat lunak. Setiap tahap dirancang untuk menghindari kecurigaan.
Secara umum, ada tiga fase utama. Dimulai dari pembuatan, lalu publikasi, dan akhirnya tipu daya agar korban memasangnya. Mari kita bahas satu per satu.
Langkah 1: Pembuatan Ekstensi Jahat dengan Kode Berbahaya
Semuanya berawal dari sebuah proyek yang tampak normal. Threat actors menulis kode dalam JavaScript atau TypeScript. Kode ini menyamar sebagai alat yang berguna, seperti formatter atau tema.
Di balik fungsi yang tampak legit, mereka menyisipkan malicious code. Potongan kode jahat ini bisa berupa loader PowerShell yang diam-diam dijalankan.
Contohnya adalah kode untuk membuat reverse shell. Hanya dengan beberapa baris, koneksi rahasia dapat dibuka dari machine pengembang ke server penyerang.
Contoh lain adalah skrip untuk mencuri file kredensial dari penyimpanan lokal. Token akses untuk repository Git atau layanan cloud menjadi target empuk.
Karena add-on berjalan dengan hak akses yang sama seperti editor, tidak ada batasan. Functionality API yang powerful memungkinkan semua ini.
Langkah 2: Publikasi ke Marketplace VS Code yang Minim Pemeriksaan
Setelah kode jahat siap, langkah berikutnya adalah mempublikasikannya. Di sinilah celah besar dalam rantai pasokan (supply chain) terbuka.
Prosesnya sangat mudah bagi siapa saja. Penyerang hanya membutuhkan akun Microsoft yang valid. Mereka tidak perlu membuktikan identitas asli.
Dari akun itu, mereka membuat Personal Access Token di Azure DevOps. Token ini digunakan untuk mendaftarkan akun sebagai publisher di marketplace.
Upload paket akhir dilakukan menggunakan alat command line bernama vsce. Seluruh alur ini dapat diselesaikan dalam waktu singkat.
Pemeriksaan keamanan oleh marketplace sangat minim. Sistem hanya menjalankan pemindaian virus dasar pada paket yang diunggah.
Pengecekan lain yang dilakukan adalah mencegah name-squatting, yaitu pendaftaran nama publisher yang mirip dengan yang resmi. Analisis mendalam terhadap perilaku dan niat kode tidak dilakukan.
Ini adalah titik lemah kritis. Sebuah malicious extension dengan mudah bisa lolos dan tersedia bagi jutaan developer.
| Tahap Infeksi | Tindakan Penyerang | Alat & Celah yang Dieksploitasi | Tujuan Utama |
|---|---|---|---|
| Pembuatan | Menulis kode add-on yang menyamar, menyisipkan payload berbahaya (shell, pencuri kredensial, cryptominer). | JavaScript/TypeScript, API VSCode (seperti executeCommand), lingkungan pengembangan lokal. | Menciptakan alat jahat yang fungsional dan tersembunyi. |
| Publikasi | Menggunakan akun Microsoft untuk membuat token Azure DevOps, mendaftar sebagai publisher, mengupload paket via vsce. | Proses registrasi publisher yang mudah, sistem review marketplace yang hanya lakukan scan virus dasar dan cegah name-squatting. | Meletakkan add-on berbahaya di tempat resmi (marketplace) untuk mendapatkan legitimasi. |
| Instalasi | Memalsukan popularitas (rating/instalasi), meniru nama add-on populer, memanfaatkan keinginan pengembang akan alat baru/gratis. | Bot atau akun dummy untuk manipulasi metrik, teknik social engineering, kelemahan fitur Workspace Trust. | Menipu pengembang agar secara sukarela menginstal add-on berbahaya ke dalam sistem mereka. |
Langkah 3: Trik Sosial Engineering untuk Instalasi oleh Korban
Add-on jahat sudah terpajang di marketplace. Tantangan berikutnya adalah membuat orang memasukkannya. Di sinilah seni tipu daya berperan.
Strategi umum adalah membuat salinan palsu dari alat populer. Nama seperti “Prettier Code Formatter” atau “Material Theme” sering ditiru.
Pengembang yang terburu-buru mungkin tidak memperhatikan detail nama publisher atau deskripsi. Mereka langsung klik instal.
Threat actors juga memanipulasi metrik kepercayaan. Mereka menggunakan bot atau banyak akun palsu untuk meningkatkan angka installs dan memberi rating bintang lima.
Ilusi popularitas ini sangat efektif. Kita cenderung mempercayai alat yang sudah dipasang oleh banyak orang.
Taktik lain adalah menawarkan tool “terbaru” atau “gratis” yang menjanjikan peningkatan produktivitas. Keinginan untuk bekerja lebih cepat bisa mengaburkan kewaspadaan.
Setelah terpasang, add-on bisa langsung aktif atau menunggu trigger tertentu. Fitur Workspace Trust di Visual Studio Code sering kali tidak mampu mencegahnya.
Mode Restricted bisa diabaikan oleh kode add-on yang sudah terinstal. Akibatnya, environment pengembangan Anda sepenuhnya terbuka.
Dengan memahami ketiga langkah ini, kita bisa lebih waspada. Setiap fase menawarkan kesempatan untuk berhenti dan memeriksa kembali sebelum terlambat.
Bukti Nyata: Kasus Ekstensi Populer yang Ternyata Malware
Bukti terbaik bahwa ancaman di marketplace bukanlah teori datang dari insiden yang menimpa add-on dengan popularitas tertinggi. Dua kasus besar membuka mata komunitas pengembang.
Kedua kasus ini menunjukkan metode yang berbeda. Namun, keduanya sama-sama memanfaatkan kepercayaan pengguna.
Skandal Material Theme dengan Jutaan Instalasi
Pada awal 2024, dunia pengembangan dikejutkan oleh skandal besar. Microsoft menghapus dua add-on tema yang sangat populer dari Visual Studio Code Marketplace.
Add-on tersebut adalah ‘Material Theme – Free’ dan ‘Material Theme Icons – Free’. Total instalasi keduanya hampir mencapai 9 juta.
Peneliti keamanan Amit Assaraf dan Itay Kruk dari ExtensionTotal yang curiga. Mereka menemukan kode yang sangat terobfuskasi dalam file release-notes.js.
Kode terenkripsi itu bukanlah praktik normal untuk tema statis. Deobfuscasi parsial mengungkap referensi mencurigakan ke username dan password.
Microsoft merespons cepat dengan memblokir publisher bernama Mattia Astorino (equinusocio). Semua add-on miliknya dinonaktifkan otomatis di mesin pengguna.
Astorino membela diri dengan menyalahkan dependency Sanity.io yang usang. Ia menyatakan dependency itu mungkin mengalami serangan supply chain.
Insiden ini memberikan pelajaran berharga. Add-on dari publisher ternama dengan rating tinggi pun bisa membawa risk tersembunyi.
Popularitas dan jumlah installs yang masif tidak menjamin keamanan. Kewaspadaan harus tetap menjadi prioritas utama.
Gelombang Ekstensi Palsu Pembawa Cryptominer
Kasus lain yang terungkap melibatkan kampanye terorganisir. Sekitar 10 add-on palsu dipublikasikan sekaligus di marketplace.
Mereka meniru nama alat-alat populer seperti Prettier, Discord Rich Presence, dan Solidity Compiler. Beberapa bahkan mengklaim integrasi dengan AI seperti Claude AI dan ChatGPT.
Modus operandi mereka sangat berbahaya. Setelah diinstal, add-on ini mengunduh loader PowerShell.
Skrip itu mencoba mendapatkan hak admin dan menonaktifkan Windows Defender. Tujuannya adalah memasang cryptominer XMRig untuk menambang Monero diam-diam.
Untuk menghindari kecurigaan, add-on jahat ini juga menginstal versi asli dari alat yang ditiru. Pengguna merasa fungsionalitasnya berjalan normal.
Threat actors memanipulasi metrik dengan klaim instalasi mencapai 1 juta. Ini adalah taktik untuk meningkatkan daya tarik dan kepercayaan.
Add-on ini berkomunikasi dengan server komando dan kendali (C2) di domain myaunet[.]su. Layanan seperti ExtensionTotal terus mendeteksi add-on berbahaya baru setiap bulannya.
Kasus ini membuktikan bahwa VSCode Marketplace adalah target empuk. Kontrol keamanan yang minimal dan audiens developer yang luas menjadi magnet bagi pelaku ancaman.
| Asal Kasus | Target & Skala | Metode Serangan | Dampak Potensial | Pelajaran untuk Pengembang |
|---|---|---|---|---|
| Material Theme | Add-on tema resmi yang sudah populer (~9 juta installs). | Kode malicious terobfuskasi disisipkan, diduga melalui supply chain dependency yang kompromi. | Pencurian kredensial atau akses tidak sah ke environment pengembang. | Jangan percaya buta pada rating dan publisher ternama. Selalu periksa update dan aktivitas mencurigakan. |
| Ekstensi Cryptominer Palsu | 10+ add-on baru yang meniru alat populer (Prettier, AI tools, dll). | Instalasi langsung cryptominer XMRig via PowerShell loader, menonaktifkan keamanan sistem. | Kinerja sistem melambat, tagihan listrik membengkak, backdoor untuk akses masa depan. | Hati-hati dengan add-on baru yang menawarkan fungsionalitas “terlalu bagus”. Verifikasi publisher dan baca review dengan kritis. |
Kedua kasus nyata ini adalah alarm yang keras. Ancaman di marketplace terus berkembang dan menjadi lebih canggih.
Setiap developer harus memandang toolbox mereka sebagai bagian dari supply chain yang perlu diamankan. Proses pengembangan yang aman dimulai dari pemilihan alat yang teliti.
Jangan biarkan keinginan untuk produktivitas mengaburkan kewaspadaan terhadap threat yang nyata. Lindungi workspace, data, dan repository Anda dengan memulai dari hal mendasar.
Kesimpulan dan Langkah-Langkah Penting untuk Melindungi Diri
Kesimpulan dari penelitian ini jelas: keamanan adalah tanggung jawab setiap developer. Ancaman di marketplace alat pengembangan adalah bagian nyata dari supply chain modern.
Untuk melindungi workspace dan data, kebiasaan proaktif sangat penting. Mulailah dengan langkah-langkah sederhana ini.
- Pilih dengan Teliti: Selalu periksa publisher add-on. Prioritaskan alat dari sumber resmi atau yang memiliki rekam jejak panjang.
- Minimalkan Instalasi: Pasang hanya plugin yang benar-benar Anda butuhkan. Setiap add-on baru menambah risk.
- Gunakan Alat Bantu: Manfaatkan pemindai keamanan untuk menganalisis add-on sebelum menginstalnya, jika memungkinkan.
- Jangan Nonaktifkan Proteksi: Selalu jaga sistem keamanan seperti Windows Defender aktif. Abaikan peringatan adalah kesalahan besar.
Keamanan adalah process berkelanjutan, dan kesadaran adalah pertahanan terbaik. Dengan kewaspadaan ini, Anda dapat tetap produktif memanfaatkan kekuatan toolbox pengembangan tanpa rasa takut.




