1 poin oleh GN⁺ 2025-08-13 | 1 komentar | Bagikan ke WhatsApp
  • Ditemukan masalah keamanan serius di mana StarDict pada lingkungan X11 mengirim pilihan teks pengguna ke server eksternal melalui HTTP tanpa enkripsi
  • Masalah ini terjadi karena plugin YouDao dan dict.cn aktif secara default dalam konfigurasi bawaan Debian
  • Ini berarti setiap kali pengguna memilih teks, teks tersebut otomatis dikirim ke server, sehingga ada risiko kebocoran informasi sensitif
  • Pengelola paket telah meninjau usulan untuk menonaktifkan fitur dan memisahkan plugin, tetapi penerapan solusi mendasar masih kurang memadai
  • Masalah ini sudah beberapa kali diangkat di masa lalu, namun kembali menunjukkan tidak adanya respons yang tuntas serta pentingnya kesadaran keamanan

Ringkasan cara kerja StarDict dan isu keamanannya

  • StarDict adalah program kamus lintas platform berlisensi GPLv3, dengan dukungan berbagai bahasa dan ekosistem plugin
  • Dalam konfigurasi bawaan Debian, saat StarDict berjalan, teks yang dipilih pengguna dikirim ke dua server jarak jauh, youdao.com dan dict.cn, melalui HTTP tanpa enkripsi
  • Masalah ini juga telah dilaporkan ke milis oss-security dan pelacak bug Debian

Rincian masalah

  • Secara desain StarDict, kode yang berkomunikasi dengan situs web kamus merupakan bagian yang wajar, tetapi fitur "scan" aktif secara default
    • Ini berarti ketika pengguna memilih teks dengan mouse, popup terjemahan akan muncul otomatis, dan teks tersebut otomatis dikirim ke server eksternal
    • Masalah menjadi serius ketika pengguna membiarkan StarDict terus berjalan di latar belakang

Perbedaan menurut lingkungan Linux

  • Di lingkungan Wayland, StarDict tidak dapat menangkap teks dari aplikasi lain, sehingga fitur scan tidak berfungsi dan masalah keamanan ini tidak muncul
  • Masalah ini saat ini hanya ada di lingkungan X11 lama

Respons Debian dan pengembang StarDict

  • Pengelola paket Debian, Xiao Sheng Wen, menilai ini bukan masalah besar dengan mengatakan bahwa "fitur scan dan plugin YouDao dapat dinonaktifkan"
  • Namun pelapor, Vincent Lefevre, menekankan bahwa "fitur yang berkaitan dengan privasi harus nonaktif secara default"
  • Fitur ini bisa diberitahukan lewat deskripsi paket, tetapi deskripsi stardict-plugin tidak menyebutkan penggunaan kamus online
  • Ada usulan perbaikan seperti pemisahan plugin, tetapi belum ada tindakan segera

Kenyamanan fitur dan kekhawatiran keamanan

  • Fitur scan adalah keunggulan utama StarDict saat pengguna ingin cepat mencari arti ketika membaca bahasa asing
  • Namun pengguna sulit memperkirakan bahwa komunikasi ini tidak dienkripsi. Siapa pun di jalur perantara dapat menyebabkan risiko terbukanya teks sensitif

Insiden keamanan serupa di masa lalu dan penanganannya

  • Pada 2009 dan 2015, kasus serupa juga pernah dilaporkan
    • 2009: penonaktifan kamus jaringan sempat dijadikan default
    • Namun plugin YouDao yang ditambahkan pada 2016 mengabaikan pengaturan tersebut
    • Masalah tahun 2015 baru diselesaikan pada 2025 dalam bentuk penghapusan plugin
  • Hal ini menunjukkan isu yang berulang dan lambatnya penanganan, bersama pergantian pemelihara dan buruknya penetapan prioritas

Skala pengguna dan dampak keamanan

  • Menurut statistik Debian, saat ini hanya sekitar 178 orang yang memasang dan memakai StarDict, tetapi dengan mempertimbangkan sistem yang tidak ikut statistik, banyak pengguna selama bertahun-tahun mungkin telah terekspos pada risiko kebocoran teks
  • Salinan kata sandi, email sensitif, atau teks yang dipilih saat mengedit dokumen bisa saja terekspos ke pihak luar

Ekosistem open source dan agenda keamanan

  • Distribusi besar seperti Debian mengelola sangat banyak paket, sehingga pembaruan yang terlewat dan penuaan perangkat lunak sering terjadi
  • Hukum Linus yang berbunyi "dengan cukup banyak orang melihat, semua bug menjadi dangkal" pada praktiknya baru berlaku jika seseorang menemukan bug, melaporkannya, lalu pemelihara mengakui masalah tersebut dan memperbaikinya

Perubahan dari X11 ke Wayland

  • Adopsi Wayland bertujuan untuk mengurangi kemungkinan cacat keamanan jenis ini, terutama kebocoran informasi antar aplikasi
  • Namun, ketidaknyamanan fungsional dan cara baru menangani izin penggunaan tetap menjadi tantangan

Kesimpulan dan implikasi

  • Kenyataan bahwa masalah keamanan yang ditemukan, didiagnosis, dan dilaporkan masih tetap belum terselesaikan atau kembali terulang menimbulkan kekhawatiran
  • Untuk menjaga reputasi keamanan Linux, pengembang open source, pengelola paket, dan pengguna perlu terus sadar terhadap masalah ini dan merespons dengan cepat

1 komentar

 
GN⁺ 2025-08-13
Komentar Hacker News
  • Seperti yang ditunjukkan Xiao, pengguna yang memasang perangkat lunak memang bisa membaca deskripsi paket, dan fungsi pemindaian itu memang disebutkan. Namun pengelola Debian sering menjawab laporan bug dengan nada seperti, “Anda harus membaca dengan teliti semua deskripsi paket (bahkan ratusan paket yang terpasang sebagai dependensi),” padahal jujur saja, jika Anda mulai membaca semua deskripsi dan README pada rilis Trixie beberapa hari lalu, mungkin sampai sekarang pun belum selesai

    • “Rencana dan perintah pembongkaran itu sudah dipajang di kantor cabang lokal Alpha Centauri selama lima puluh tahun menurut waktu Bumi kalian. Kalau kalian tidak peduli pada urusan setempat...” terasa sangat pas untuk menggambarkan ini tautan video YouTube
    • Kalau jawaban seperti ini muncul, rasanya sulit melihatnya sebagai sesuatu selain niat buruk
    • Saat saya memasang program dari repositori Debian, itu demi kenyamanan dan kepercayaan. Saya memang sering kesal ketika pemelihara mengubah perilaku paket, tetapi akan jauh lebih baik bila fitur yang mengirim isi clipboard ke pihak lain dibuat opt-in, yaitu harus diaktifkan secara eksplisit. Ini tindakan yang mengkhianati kepercayaan
    • Saya setuju bahwa membaca semua deskripsi paket dan README saat rilis Trixie itu berat. Ketika pertama kali memakai Debian pada akhir 90-an sampai awal 2000-an, kita bisa memilih paket yang diinginkan dengan dselect lalu meluangkan beberapa jam untuk menyesuaikan semua opsi dengan lingkungan perangkat keras nyata kita saat itu. Dulu sistemnya tidak sedinamis sekarang, jadi memang harus memilih opsi satu per satu. Sekarang jumlah paket sudah terlalu banyak, dan konfigurasi kernel juga terlalu luas, jadi secara realistis mustahil memeriksa semuanya (masih ada yang pakai dselect...?)
    • Saya setuju dengan yang Anda katakan. Terutama karena pengelola paket itu sudah berulang kali membuat perilaku tak terduga; seperti masalah lama, mereka terus mengulangi tindakan tidak pantas seperti sampai mengubah berkas konfigurasi paket lain. Hal seperti ini seharusnya dihapus dari repositori
  • Wajar saja kalau orang mengira program kamus memang menyertakan kode untuk berkomunikasi dengan situs web. Tetapi kalau saya memasang kamus lewat apt-get, saya berharap seluruh kamusnya ada di komputer saya. Lagi pula, kamus kertas juga sudah dipakai selama ratusan tahun... Stardict memang berbasis online, jadi mungkin itu normal, tetapi rasanya seperti ada jebakan

    • Saya rasa ini soal perbedaan generasi. Orang yang menganggap aplikasi terhubung ke internet itu hal biasa adalah generasi lebih muda yang tidak terbiasa dengan perangkat lunak yang dipasang secara lokal dan tidak berkomunikasi ke luar. Bahkan kalau melihat riwayat pengembangnya, dia jelas paham ilmu komputer dan tahu bahwa kamus offline itu memungkinkan, tetapi tampaknya dia mengikuti “kenormalan” generasinya sendiri. Menyedihkan bahwa di dunia sekarang, aplikasi yang dipasang lokal lalu berjalan hanya dengan data offline sudah menjadi semacam kesatriaan, konsep yang dipertahankan hanya oleh segelintir Don Quixote IT
    • Sekalipun itu normal, menggunakan HTTP tanpa enkripsi sama sekali tidak bisa diterima
    • Program ding yang lama sangat mendukung kamus lokal. Itu juga ada di Debian tautan ding
    • Ini juga yang langsung saya perhatikan. Menyedihkan bahwa bahkan fungsi sesederhana ini pun kini diharapkan sebagai layanan live
    • Sejak suatu titik, saya mulai menjalankan aplikasi GUI tanpa akses jaringan. Awalnya dengan firejail, lalu bubblewrap, dan seiring waktu dengan skrip bash buatan sendiri untuk menjalankan aplikasi di lingkungan sandbox. Saya sudah melakukan itu jauh sebelum flatpak
  • Saya cukup terkejut saat mengetahui bahwa di ponsel Samsung, semua data clipboard dibagikan ke seluruh perangkat di akun Samsung saya, termasuk kata sandi, dan bahkan riwayatnya juga disimpan. Saya tidak ingat apakah itu pengaturan bawaan atau saya tak sengaja menyetujuinya. Saya menduga data ini diteruskan lewat server Samsung. Fitur berbagi sudah saya matikan, tetapi riwayat clipboard tidak mati, dan meski saya ganti keyboard, kalau kembali ke keyboard Samsung, semua isi clipboard lama masih ada. Sekarang saya rasa ponsel berikutnya bukan Samsung

    • Begitu juga TV Samsung; setahu saya mereka berbagi riwayat tontonan dan data pribadi dengan perusahaan pemasaran. Kebijakan privasi Samsung tampaknya sama untuk ponsel maupun TV
    • Saya pernah melihat kata sandi yang saya salin di Linux lewat KDE Connect muncul di riwayat clipboard Android. Saya penasaran apakah ada cara untuk mencegah hanya kata sandi yang ikut tersalin, tanpa harus mematikan seluruh berbagi clipboard
    • Saat memakai perangkat Samsung, saya sarankan jangan membuat akun Samsung atau login ke sana. Itu sangat mengurangi kesempatan perusahaan mengakses data Anda
  • Menurut saya pembahasan soal Wayland agak berpotensi menyesatkan. Ringkasan terakhirnya akurat: “Mungkin saja StarDict meminta izin khusus agar bisa berjalan di Wayland, dan pengguna akan menerima nilai bawaan itu seperti yang biasa terjadi sekarang.” Jadi kemungkinan besar memang begitu, dan izin itu juga bisa saja disetel otomatis saat proses instalasi. Malware akan selalu ada. Wayland bisa melindungi dari jenis serangan tertentu, tetapi tidak akan membuat Anda aman dari paket yang dipasang sebagai bagian dari distribusi

    • Ini bukan menyesatkan; dibanding Xorg, Wayland memang jelas lebih baik dalam aspek itu. Namun inti masalahnya lebih struktural daripada ini. Misalnya, data yang dikirim bahkan tidak dienkripsi. Dengan pengaturan bawaan Debian di X11, StarDict mengirim teks yang dipilih pengguna lewat HTTP ke dua server jarak jauh. Bahkan jika Anda sudah membaca deskripsi paket atau plugin YouDao dengan teliti, paling tidak Anda berhak berharap koneksinya terenkripsi. Kenyataannya, data dikirim ke server dict.youdao.com dan dict.cn lewat HTTP tanpa perlindungan apa pun, sehingga siapa pun di jalur itu bisa melihat isi permintaannya
  • Kueri kamus lokal untuk setiap clipboard itu tidak masalah. Menambahkan fungsi permintaan ke kamus jarak jauh juga tidak masalah. Menggabungkan dua fungsi ini dengan mudah pun masih bisa dimaklumi kalau dipisahkan lewat flag khusus atau semacamnya, tetapi mencampur keduanya dalam pengaturan bawaan hampir terasa mendekati tindakan jahat

    • Yang dimaksud youdao di sini adalah layanan terjemahan. Terjemahan offline jauh tertinggal dibanding online, jadi saya hanya ingin memakai sesuatu seperti paket terjemahan offline lokal Google ketika saya tidak punya data. Saya tidak memakai Stardict, tetapi kalau tujuannya lebih dari sekadar arti kata sederhana, perilaku seperti ini cukup bisa diduga. Pada akhirnya, inti seluruh artikel ini adalah “program penerjemah Tiongkok mengirim data clipboard ke situs webnya sendiri dan ke layanan terjemahan Tiongkok, lalu mengirimkannya lewat HTTP tanpa enkripsi”
  • Soal pernyataan “tentu saja program kamus punya kode yang terhubung ke situs web”, saya ingin bilang bahwa kenyataannya tergantung tujuan. Versi minimum kamus bahasa Finlandia (tsk) yang saya sediakan berukuran sekitar 30MB dengan sekitar 250 ribu kata, dan kamusnya langsung ditanam ke dalam biner, lalu pencarian prefix dibangun ulang setiap kali dijalankan. Tetapi basis data besar yang mencakup lemmatisasi, etimologi, dan sebagainya bisa membengkak sampai puluhan gigabita. Tujuan saya adalah penelusuran yang sepenuhnya instan pada tingkat input keyboard, jadi struktur seperti ini diperlukan. Usahanya juga besar, sehingga mulai versi berikutnya saya memutuskan untuk menjualnya tsk Github situs versi berbayar (saat ini offline karena masalah code signing untuk Windows). Untuk sebagian besar kasus penggunaan lain, jauh lebih praktis untuk melakukan kueri ke server. Hampir tidak ada alasan untuk mengunduh seluruh kamus raksasa, jadi struktur hibrida pun cukup masuk akal, misalnya 10 ribu kata teratas di-cache secara lokal, sementara kata langka lainnya diambil dari server

  • Melihat hal seperti ini, ada banyak bagian yang membuat saya hanya bisa menyimpulkan ada niat buruk. Pengelolanya menjawab, “Pengguna sendiri yang mengaktifkan fitur ‘scan’, dan memilih teks akan memicu aksi penerjemahan... jadi kenapa Anda memilih data rahasia sebagai kueri terjemahan?”

    • Mungkin pengelolanya tidak bisa membedakan kalau ada rahasia yang ditulis dalam bahasa asing... misalnya saat tertulis “秘密”. “Komandan, pihak musuh dikabarkan sedang mengalami error di server terjemahan!”
  • Saya menghormati besarnya upaya yang dicurahkan ke Debian, tetapi saya selalu tidak suka dengan “maksimalisme” semacam ini dari pengelola paket. Misalnya, saat mencoba memasang foo, mereka ikut memasang semua perangkat lunak terkait yang mungkin relevan, dan kalau ada daemon jaringan, langsung dijalankan juga. Saya tahu ada flag untuk mencegah pemasangan “paket rekomendasi”, tetapi rasanya pengaturan bawaan justru malah merepotkan pengguna

    • Dengan hormat saya tidak setuju. “Recommends” dipakai untuk memperluas fungsi utama paket yang dipasang. Tanpanya paket tidak rusak, tetapi fitur kuatnya menjadi nonaktif. Paket yang dibahas ini seharusnya diklasifikasikan sebagai “Suggests”, bukan “Recommends”. “Suggests” tidak dipasang secara bawaan. Saat memakai apt atau aptitude, ada pratinjau instalasi dan pengguna bisa memilihnya. Selalu ada ketegangan antara minimalisme dan kenyamanan pengguna. Dalam rilis Debian 13, ada juga pendapat bahwa “Debian sama sekali bukan distro yang ramah pengguna”. Secara pribadi saya lebih memilih “distro yang stabil, fokus pada dasar, tetapi ramah pengguna” daripada gaya “DIY untuk DIY ala IKEA”. Dan pengguna mahir selalu bisa mengubahnya kapan saja. Jika memang perlu mengubah default, bisa dilakukan di /etc/apt/conf.d/, atau untuk sekali pakai gunakan --no-install-recommends
    • Ini dilema klasik dalam mencari keseimbangan antara kenyamanan dan keamanan. Nilai bawaan “Recommends” di Debian dirancang pada masa ketika jaringan belum dianggap konstan hadir, dan fungsionalitas lokal lebih diprioritaskan daripada batas keamanan
    • Dulu nilai bawaan APT::Install-Recommends adalah false, lalu diubah menjadi true pada Debian 6.0 Squeeze (2011-02-06). Saat itu saya tidak suka karena Debian dan Ubuntu jadi memasang banyak paket yang tidak perlu. Kalau dipikir sekarang, batas antara recommend dan suggest memang agak kabur, dan saya jadi merasa lebih baik jika “recommend” dipasang secara bawaan dan pengguna bisa opt-out. Meski begitu, di sistem yang saya kelola sendiri, saya masih mematikan pemasangan otomatis paket rekomendasi
    • Tidak masalah jika --install-recommends menjadi bawaan. Perbedaan halus bahwa Recommends berarti “kebanyakan dari kami menginginkan ini” dan Suggests berarti “fitur untuk sebagian kecil pengguna” menurut saya tidak buruk. Namun saya juga setuju bahwa penyalahgunaan field Recommends oleh pemelihara individual itu masalah. Misalnya, tidak masuk akal bila memasang alat kompresi malah memaksa sistem init tertentu ikut terpasang (file-roller, saya melihat ke arah tim GNOME)
    • Sebaliknya, juga bermasalah jika fitur yang dibutuhkan justru menjadi opsi opt-in lalu terlewat. Masalahnya bukan pada apakah paket “rekomendasi” dipasang, melainkan bahwa rekomendasi paket itu sendiri seharusnya lebih konservatif. Sebagai catatan, Debian memang sudah membedakan antara recommended dan suggested untuk memisahkan yang lebih wajib dan yang lebih opsional
  • Saya tidak mengerti kenapa semua ini tidak offline. Seluruh kamus bahasa Mandarin jumlah katanya kurang dari 400 ribu, dan bahkan kalau dihitung 1k per kata pun, 400MB sudah cukup. Ini sepenuhnya bisa dibuat lokal; bergantung pada koneksi jaringan hanyalah desain yang buruk

    • Kalau begitu, pertama-tama dibutuhkan kamus copyleft
  • Melihat isu seperti ini benar-benar membuat saya sangat marah. Ini sama sekali tidak bisa diterima

    • Saya hanya ingin bilang bahwa Anda tidak sendirian. Rasanya perlu ada sesuatu yang benar-benar menyadarkan, seperti saat Bill Gates dilempari pai