1 poin oleh GN⁺ 2025-02-27 | 1 komentar | Bagikan ke WhatsApp
  • Pengguna VS Code membagikan bahwa equinusocio.vsc-material-theme dihapus 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.json di .vscode atau .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

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 dari extensions.json untuk menghilangkan popup
  • Pengguna Visual Code Insiders mengatakan bahwa setelah menghapus folder equinusocio.vsc-material-theme-34.7.9 dari .vscode-insiders/extensions dan menghapus objek terkait di extensions.json, semuanya kembali berfungsi
  • Contoh perintah mencakup prosedur mencari entri equinusocio.vsc-material-theme dengan cat extensions.json | jq | grep eq, lalu menghapus folder ekstensi dengan rm -rf equinusocio.vsc-material-theme-34.7.9

1 komentar

 
GN⁺ 2025-02-27
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-...

    • VSCode tidak berhasil menghapus ekstensi ini. Saat prompt untuk menghapus muncul dan dikonfirmasi, jendela dimuat ulang tetapi ekstensinya tetap ada, lalu prompt “bermasalah” yang sama muncul lagi sehingga terjadi loop tak terbatas
      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.json
      VSCode 1.97.2, commit e54c774e0add60467559eb0d1e229c6452cf8447
    • Saya ingin kontradiksi ini dijelaskan. Jika bergantung pada komunitas untuk memberi tahu masalah di Marketplace, bukankah itu berarti Microsoft belum berinvestasi cukup untuk mengaudit sendiri ekstensi populer?
      Menurut 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
    • Mungkin perlu melacak unggahan ulang juga
      https://marketplace.visualstudio.com/items?itemName=t3dotgg....
    • Saya ingin meninjau apakah di sisi Open VSX ekstensi ini juga bisa ditandai sebagai berbahaya. Saya penasaran apakah ada yang mengetahui rentang versi yang berisi kode berbahaya
      Saya bertanya karena di https://open-vsx.org tidak ada versi ekstensi ini yang diunggah setelah beralih menjadi sumber tertutup
    • False positive benar-benar sulit, dan jika benar-benar terjadi dampaknya besar
      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-lock
    Jika ada orang lain yang ingin mengaudit, repositorinya ada di sini: https://github.com/t3dotgg/vsc-material-but-i-wont-sue-you

    • Fakta bahwa sebuah tema bisa menumpuk kode analitik dan banyak dependensi saja sudah terlihat absurd. Tema biasanya seharusnya berupa paket warna/gaya yang mandiri
      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
    • Entah kenapa tidak ada satu pun screenshot di repositori maupun halaman Marketplace yang menunjukkan tampilannya. Apakah saya melewatkannya?
  • 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...

    • Hati-hati dengan apa yang Anda inginkan
      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

    • Pantone sepertinya ingin ikut bicara
    • Ada yang menyebutnya lunatic, tetapi ini isu keamanan. Kita tidak boleh hanya berasumsi bahwa orang yang berhasil memasukkan kode berbahaya ke IDE para developer di seluruh dunia itu tidak stabil atau gila
      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....

    • Karena penulis aslinya banyak bicara soal biaya pengembangan/pemeliharaan, saya jadi penasaran apa sebenarnya yang perlu dipelihara
      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 kosong
      TypeScript: 32 file, 2026 baris, 1650 baris kode, 243 baris komentar, 133 baris kosong
      HTML: 2 file, 59 baris, 49 baris kode, 1 baris komentar, 9 baris kosong
      Total 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/specific
      Sisanya juga sebagian besar terlihat seperti boilerplate, misalnya 599 baris di scripts/generator/color-set.ts
      Jadi 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
    • Orang yang membuat ekstensi pengganti sepertinya YouTuber teknologi theo (https://m.youtube.com/@t3dotgg)
    • Oh, itu saya. Jujur saja, tidak mengejutkan orang ini agak kehilangan akal
  • 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

    • Sepertinya apa pun yang populer dan punya potensi monetisasi akan berakhir seperti itu
  • 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

    • Secara umum, kontribusi biasanya diasumsikan diberikan di bawah lisensi yang berlaku saat itu
      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
    • Apakah sejak awal Material memang karyanya?
    • Ini mirip dengan banyak proyek open source yang terutama dikelola perusahaan, seperti Red Hat atau Terraform, yang berubah menjadi nonkomersial
  • 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

    • Menarik juga bahwa tema bisa menjadi risiko keamanan
      Tampaknya jelas bukan hanya terdiri dari kode warna dan definisi sederhana
      Mungkin sistem tema perlu diperketat lagi