- Pengguna VS Code membagikan bahwa
equinusocio.vsc-material-themedihapus dengan pesan dilaporkan bermasalah, bahkan ada yang mengalami pemblokiran pemasangan ulang atau popup berulang - Pertanyaan di GitHub Q&A bermula dari mempertanyakan kredibilitas komentar di Marketplace, dan jawaban terpilih mengarah ke tautan ekstensi pengganti dari t3dotgg
- Inti kontroversinya adalah peralihan menjadi closed-source pada ekstensi, dugaan obfuscation kode, dan cara penulis menanggapi ulasan, yang bersama-sama menggoyahkan kepercayaan
- Sebagian pengguna membagikan bahwa berdasarkan commit yang dihapus, catatan diskusi yang hilang, dan posting Reddit 6 bulan lalu, status apakah pernah compromised juga pernah diperdebatkan sebelumnya
- Untuk menghilangkan popup berulang, ada laporan bahwa pengguna perlu menghapus langsung folder ekstensi dan entri
extensions.jsondi.vscodeatau.vscode-insiders/extensions, atau bahkan memasang ulang VS Code
Pesan masalah yang ditampilkan VS Code
- Seorang pengguna membagikan bahwa VS Code menampilkan pesan
We have uninstalled 'equinusocio.vsc-material-theme' which was reported to be problematic. - Setiap kali VS Code ditutup lalu dibuka lagi, ekstensi itu tampak seperti terpasang kembali, dan bahkan setelah dihapus manual pesan yang sama terus muncul
- Pengguna lain mengatakan VS Code bahkan memblokir pemasangan ulang ekstensi tersebut
- Ada juga pendapat bahwa Settings Sync mungkin menjadi penyebabnya, tetapi pengguna yang mengalami masalah mengatakan bahwa ia baru memasang Code baru-baru ini dan hanya mengatur ekstensi minimum, sehingga tidak yakin
Jawaban terpilih dan ekstensi pengganti
- Jawaban terpilih menampilkan
t3dotgg.vsc-material-theme-but-i-wont-sue-youdi Visual Studio Marketplace - Penanya menambahkan di isi bahwa tautan jawaban tersebut didukung oleh repositori t3dotgg
- Seorang pengguna meninggalkan komentar, “Sekarang akhirnya ada hasil nyata, dan hari ini saya harus bekerja”
Kontroversi kode dan lisensi yang merusak kepercayaan
- Seorang pengguna menyoroti peralihan terbaru ke closed-source dan tidak adanya peringatan sebelumnya sebagai masalah, lalu menyatakan bahwa setelah melihat respons ulasan penulis yang kasar kepada pengguna yang khawatir, ia tidak lagi mempercayainya
- Pengguna yang sama menambahkan bahwa kode yang di-obfuscate terlihat seperti output
obfuscator.io - Pengguna lain mengeklaim bahwa pembuat ekstensi mengancam orang-orang yang menggunakan Material Theme dalam produk mereka, dan tampaknya melupakan bahwa awalnya proyek itu berada di bawah Apache License 2.0
- Pengguna ini melampirkan tautan yang tampak sebagai file lisensi lama
- Komentar yang sama mengeklaim bahwa riwayat commit dihapus agar terlihat seolah-olah sejak awal lisensinya berbeda
Catatan yang dihapus dan kecurigaan lama
- Seorang pengguna mengatakan bahwa banyak commit dan catatan diskusi tampaknya telah dihapus dari repositori Git
- Pengguna yang sama menemukan posting Reddit 6 bulan lalu,
has_the_material_theme_extension_been_compromised, dan membagikan bahwa posting itu terhubung ke tautan discussion yang rusak dari repositori ini - Pengguna lain menanggapi bahwa itu adalah “satu-satunya tema di VSCode yang saya sukai”, dan pengguna lain lagi mengatakan bahwa sudah ada banyak fork
Cara yang dicoba untuk menghilangkan popup berulang
- Pengguna Linux menghapus langsung folder ekstensi di direktori
.vscode, tetapi itu tidak menyelesaikan masalah, dan popup baru hilang setelah VS Code dipasang ulang - Pengguna Windows membagikan bahwa ia menghapus folder ekstensi di bawah
%USERPROFILE%/.vscode/dan menghapus manual definisi ekstensi terkait dariextensions.jsonuntuk menghilangkan popup - Pengguna Visual Code Insiders mengatakan bahwa setelah menghapus folder
equinusocio.vsc-material-theme-34.7.9dari.vscode-insiders/extensionsdan menghapus objek terkait diextensions.json, semuanya kembali berfungsi - Contoh perintah mencakup prosedur mencari entri
equinusocio.vsc-material-themedengancat extensions.json | jq | grep eq, lalu menghapus folder ekstensi denganrm -rf equinusocio.vsc-material-theme-34.7.9
1 komentar
Pendapat Hacker News
Postingan yang dihapus bisa dilihat di sini: https://web.archive.org/web/20250226020241/https://github.co...
Saya Isidor dari tim VS Code. Seorang anggota komunitas melakukan analisis keamanan mendalam terhadap ekstensi ini, menemukan beberapa tanda bahaya yang mengindikasikan niat jahat, lalu melaporkannya
Peneliti keamanan Microsoft memverifikasi klaim tersebut dan juga menemukan kode tambahan yang mencurigakan
Kami memblokir publisher ini dari VS Marketplace, menghapus semua ekstensi terkait, dan menghapus ekstensi ini dari semua instance VS Code yang sedang menjalankannya
Agar jelas, tindakan ini tidak ada kaitannya dengan hak cipta atau lisensi, melainkan semata-mata karena potensi unsur berbahaya
Kami akan segera memposting pengumuman yang lebih rinci di https://github.com/microsoft/vsmarketplace/
Sebagai referensi, VS Marketplace terus berinvestasi dalam keamanan, dan informasi tentang kepercayaan runtime ekstensi dapat dilihat di https://code.visualstudio.com/docs/editor/extension-runtime-...
Menghapusnya dengan cara biasa dari panel ekstensi juga menghasilkan perilaku yang sama
Pada akhirnya saya harus menghapus folder ekstensi secara manual dari
%USERPROFILE%\.vscode\extensions, dan juga menghapus entri terkait dari%USERPROFILE%\.vscode\extensions\extensions.jsonVSCode 1.97.2, commit
e54c774e0add60467559eb0d1e229c6452cf8447Menurut saya model kepercayaan VSCode juga pada dasarnya rusak. Ia menjalankan kode pihak ketiga arbitrer di mesin klien tanpa sandbox apa pun
Anda tentu tidak akan menerapkan tingkat keamanan seperti ini di Azure, jadi mengapa di VSCode “menjalankan kode pihak ketiga arbitrer di mesin orang lain” dianggap tepat?
Saya menghargai pekerjaan tim VSCode dan memang menggunakannya, tetapi ketiadaan sandbox selalu terasa mengganggu
https://marketplace.visualstudio.com/items?itemName=t3dotgg....
Saya bertanya karena di https://open-vsx.org tidak ada versi ekstensi ini yang diunggah setelah beralih menjadi sumber tertutup
Akun publisher Equinusocio untuk Material Theme dan Material Theme Icons keliru ditandai, dan sekarang sudah dipulihkan
Kami bergerak cepat demi keamanan, tetapi kami melakukan kesalahan. Tema-tema ini memicu beberapa indikator deteksi malware internal Microsoft, dan investigasi menghasilkan kesimpulan yang keliru
Kami menganggap keamanan ekosistem VS Code sangat penting dan bertindak cepat untuk melindungi pengguna
Kami memahami frustrasi dan reaksi keras pembuat ekstensi Equinusocio, dan kami telah mendengarnya. Ini hal buruk, tetapi terkadang hal seperti ini terjadi. Kami berusaha sebaik mungkin, tetapi kami juga manusia, dan sekarang kami berharap dapat menyelesaikan ini dan melangkah maju
Kami akan memperjelas kebijakan tentang kode yang diobfuscate, serta memperbarui scanner dan prosedur investigasi untuk mengurangi kemungkinan hal seperti ini terjadi lagi
Ekstensi-ekstensi ini aman dan telah dipulihkan agar dapat digunakan oleh komunitas VS Code
Material Theme: https://marketplace.visualstudio.com/items?itemName=Equinuso...
Material Theme Icons: https://marketplace.visualstudio.com/items?itemName=Equinuso...
Sekali lagi kami meminta maaf karena pembuatnya terseret dalam dampak ini, dan kami menantikan tema serta ekstensi berikutnya darinya. Kami telah menghubunginya untuk membahas langkah kompensasi dan berterima kasih atas kesabarannya
Scott Hanselman dan tim Visual Studio Code Marketplace - @shanselman
Saya membuat fork paling menonjol dari ekstensi ini, “Material Theme (But I Won't Sue You)”
Maintainer aslinya benar-benar sudah kelewatan tahun lalu. Ia menurunkan source yang awalnya Apache 2 menjadi offline, lalu mulai mengancam akan menuntut orang-orang yang meng-host versi alternatif atau memasukkannya ke IDE lain
Sebagai langkah ekstra hati-hati, saya mengambil tindakan berikut pada fork saya. Tim VS Code sedang mengauditnya sekarang, dan saya memberi izin penuh bahwa jika ditemukan satu saja kode berbahaya, mereka boleh langsung menurunkannya dari Marketplace dan memaksa pengguna menghapusnya
Saya juga mengaudit codebase secara menyeluruh, tetapi tidak menemukan bagian yang tampak berbahaya, dan saya menghapus semua kode terkait changelog, analitik, Open Collective, dan rendering HTML
Yang agak mengkhawatirkan hanya HTML untuk changelog dan loader Sanity, jadi saya mencabutnya sepenuhnya. Lewat dua PR, saya menghapus hampir semua dependensi dan lebih dari 7.000 baris, meski sebagian besar adalah
package-lockJika ada orang lain yang ingin mengaudit, repositorinya ada di sini: https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you
Yang lebih tidak masuk akal adalah ada orang yang bisa “memaksa menghapus” apa pun dari mesin saya
Untung saya bukan pengguna VS Code. Sepertinya semua keributan korporat khas terjadi di Marketplace dan plugin
Menariknya, seseorang di Reddit sudah menyadari perubahan mencurigakan pada ekstensi ini 7 bulan lalu [1]. Di open source, obfuscation biasanya adalah sinyal bahaya yang sangat besar
Microsoft perlu secara serius memikirkan ulang model keamanan ekstensi VS Code. Dengan cara sekarang, ini sudah terlalu menguntungkan untuk dijadikan target serangan
Meski satu developer diblokir, 10 ekstensi berbahaya baru akan menyusul
[1] https://www.reddit.com/r/vscode/comments/1eq40o2/has_the_mat...
VS Code mungkin salah satu produk terbaik yang pernah dikeluarkan Microsoft, dan salah satu alasan besarnya adalah Marketplace ekstensi
Jika Microsoft menindak Marketplace dengan lebih keras, kemungkinan besar kualitas VS Code akan memburuk
Alasannya begini. Jika peninjauan Marketplace diperketat, hambatan masuk naik dan jumlah ekstensi keseluruhan berkurang. Jika ekstensi berkurang, Microsoft akan terdorong memasukkan fitur langsung ke inti VS Code. Semakin banyak fitur yang Microsoft masukkan, VS Code akan semakin bloat
Pada akhirnya, meningkatkan audit keamanan di Marketplace ekstensi bisa berujung pada VS Code yang lebih bloat
Tentu akan bagus jika Marketplace ekstensi punya kontrol keamanan yang lebih baik, tetapi saya tidak percaya Microsoft akan melakukannya dengan cara yang benar-benar memperbaiki produk bagi pengguna nyata
Setelah membaca hal terkait, orang ini terlihat tidak stabil. Sepertinya ia secara harfiah menganggap kode warna heksadesimal sebagai miliknya
Secara teknis pun tidak terlalu bagus, dan ia membuat semua orang yang kompeten pergi
Saya tidak memakai software-nya, tetapi saya berharap ia cepat keluar dari episode ini dan belajar bahwa bukan dia yang menciptakan Material
Justru harus dipertimbangkan bahwa ia bisa saja licik dan menipu, atau bahkan kaki tangan badan intelijen
Mencurigai hal seperti itu terhadap orang yang memasukkan kode berbahaya ke tooling developer bukan paranoia
Seseorang mengunggah ekstensi pengganti bernama Material Theme (But I Won't Sue You)
https://marketplace.visualstudio.com/items?itemName=t3dotgg....
Saya clone repositori https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you dan melihatnya; ringkasan jumlah baris kodenya seperti ini
CSS: 2 file, 142 baris, 119 baris kode, 0 baris komentar, 23 baris kosongTypeScript: 32 file, 2026 baris, 1650 baris kode, 243 baris komentar, 133 baris kosongHTML: 2 file, 59 baris, 49 baris kode, 1 baris komentar, 9 baris kosongTotal 36 file, 2227 baris, 1818 baris kode, 244 baris komentar, 165 baris kosong
Dari situ, 622 baris TypeScript adalah definisi warna heksadesimal per varian di dalam
scripts/generator/settings/specificSisanya juga sebagian besar terlihat seperti boilerplate, misalnya 599 baris di
scripts/generator/color-set.tsJadi pertanyaannya tetap ada: apa sebenarnya yang perlu dipelihara sampai butuh lebih dari beberapa menit?
Saya pernah merilis dan memelihara proyek open source yang jauh lebih substansial selama bertahun-tahun, tetapi tidak pernah mengharapkan kontribusi finansial
Ada apa sebenarnya dengan tema Material sampai membuat orang jadi begini? Sekitar 5 tahun lalu, hal serupa juga terjadi di sisi IntelliJ
Meski begitu, yang itu memang bukan secara harfiah hanya warna
Apakah ada yang bisa menunjukkan bagian berbahaya di repositorinya ada di mana? Saya tidak bisa menemukannya
Saya menemukan kode yang diobfuskasi di sini: https://web.archive.org/web/20250226020241/https://github.co...
Aneh sekali orang ini menerima kontribusi dari orang lain lalu mengubahnya menjadi sumber tertutup. Rasanya bukan hal yang benar, meski saya bukan ahli hak cipta
Maintainer bisa mengubah lisensi, tetapi itu tidak memengaruhi kontribusi sebelumnya. Pada dasarnya semua yang ada sebelum perubahan lisensi tetap berada di bawah lisensi lama
Inilah alasan mengapa perangkat lunak populer masih bisa di-fork meskipun lisensinya berubah
Untuk mengubah lisensi secara retroaktif, diperlukan persetujuan kontributor, atau harus ada dokumen yang memberikan hak seperti itu
Contributor License Agreement (CLA) bisa saja memberi maintainer hak untuk mengubah lisensi sesuka hati termasuk untuk bagian lama, tetapi tidak semua CLA seperti itu
Perangkat lunak terkenal yang mengubah lisensinya antara lain Redis dan Terraform. Bahkan dalam kasus seperti ini, perangkat lunak yang sudah didistribusikan tetap dapat digunakan dengan lisensi lama, dan lisensi lama itu mengizinkan fork
Saya senang karena kebanyakan tool sekarang sudah menyertakan tema bawaan yang cukup bagus
Jika ingin mengurangi risiko seperti ini dan meminimalkan ekstensi/add-on yang dipasang, itu menjadi pilihan yang cukup realistis
Tentu saja, bagus juga bahwa perangkat lunak bisa dikustomisasi temanya sejauh ini, dan dalam beberapa kasus bisa meningkatkan kegunaan serta aksesibilitas
Namun, permintaan fitur terkait pembatasan izin perlu ditangani
Tampaknya jelas bukan hanya terdiri dari kode warna dan definisi sederhana
Mungkin sistem tema perlu diperketat lagi