Obsidian baru-baru ini menerbitkan detail tentang pendekatan mereka untuk mengurangi risiko serangan supply chain, dengan menekankan dependensi minimal dan praktik code review yang hati-hati. Namun, pengumuman tersebut telah memicu perdebatan signifikan di komunitas developer tentang celah keamanan yang mencolok: akses tak terbatas yang dimiliki plugin pihak ketiga terhadap data pengguna.
Pendekatan Manajemen Dependensi Obsidian:
- Jumlah dependensi inti yang sedikit dibandingkan dengan aplikasi serupa
- Penguncian versi dengan lockfile yang di-commit untuk build yang deterministik
- Tidak ada eksekusi postinstall script
- Review changelog manual untuk semua pembaruan dependensi
- Siklus upgrade yang tertunda untuk memungkinkan komunitas mendeteksi paket berbahaya
- Fitur seperti Bases dan Canvas diimplementasikan dari awal alih-alih menggunakan library pihak ketiga
Model Keamanan Plugin Mendapat Serangan
Sementara Obsidian membanggakan manajemen dependensi yang hati-hati untuk aplikasi inti, anggota komunitas telah menyoroti kontradiksi besar. Aplikasi pencatat catatan populer ini sangat bergantung pada plugin komunitas untuk sebagian besar fungsinya, namun plugin-plugin ini beroperasi dengan hampir tanpa pembatasan keamanan. Pengguna menemukan bahwa plugin Obsidian memiliki akses lengkap dan tak terbatas tidak hanya ke file vault, tetapi berpotensi ke file apa pun di mesin pengguna.
Ini menciptakan paradoks di mana Obsidian dengan hati-hati mengontrol dependensinya sendiri sambil mengizinkan eksekusi kode pihak ketiga tanpa batas melalui plugin. Komunitas telah menunjukkan bahwa sebagian besar pengguna bergantung pada plugin seperti Templater dan Dataview untuk fungsionalitas dasar, membuat ekosistem plugin menjadi esensial daripada opsional.
Kekhawatiran Keamanan Plugin:
- Plugin memiliki akses tanpa batas ke semua file vault
- Potensi akses ke file apa pun di mesin pengguna
- Tidak ada sistem berbasis izin seperti ekstensi browser
- Plugin penting ( Templater , Dataview ) diperlukan untuk fungsi dasar
- Saran komunitas mencakup izin berbasis manifest dan pendekatan sandboxing
Sistem Izin yang Hilang
Diskusi telah berpusat pada ketiadaan sistem berbasis izin yang mirip dengan ekstensi browser. Anggota komunitas menyarankan bahwa Obsidian dapat mengimplementasikan sistem manifest di mana plugin mendeklarasikan izin yang diperlukan di muka, dengan sistem memblokir upaya akses yang tidak sah. Ini akan memberikan transparansi kepada pengguna tentang apa yang dapat diakses setiap plugin dan memungkinkan persetujuan yang terinformasi.
Beberapa developer telah mencatat bahwa aplikasi lain menghadapi tantangan serupa. VSCode , Vim , dan Emacs juga memberikan akses sistem yang luas kepada plugin. Namun, kritikus berargumen bahwa aplikasi pencatat catatan pribadi sering mengandung informasi yang lebih sensitif daripada repositori kode, membuat implikasi keamanannya lebih parah.
Apa yang mungkin Anda masukkan ke Obsidian (pemikiran pribadi, entri jurnal, dll) bisa lebih sensitif daripada kode.
Solusi Teknis dan Workaround
Beberapa anggota komunitas telah berbagi pendekatan praktis untuk mengurangi risiko ini. Beberapa pengguna telah mengimplementasikan profil AppArmor atau menggunakan instalasi Flatpak dengan izin terbatas melalui alat seperti Flatseal . Yang lain telah menyarankan pendekatan sandboxing yang ketat yang akan memungkinkan plugin mengakses catatan sambil memblokir akses jaringan dan disk untuk mencegah eksfiltrasi data.
Komunitas juga telah mendiskusikan kemungkinan sistem plugin bertingkat, mirip dengan pendekatan Arch Linux dengan repositori komunitas dan resmi. Ini akan memberikan tingkat pemeriksaan dan jaminan keamanan yang berbeda untuk berbagai kategori plugin.
Implikasi yang Lebih Luas
Perdebatan ini mencerminkan ketegangan yang lebih luas dalam pengembangan perangkat lunak antara fungsionalitas dan keamanan. Sementara praktik manajemen dependensi inti Obsidian sudah baik, ekosistem plugin mewakili permukaan serangan yang signifikan yang tidak ditangani oleh langkah-langkah keamanan saat ini. Diskusi ini menyoroti bagaimana bahkan praktik keamanan yang berniat baik dapat dirusak oleh keputusan arsitektural yang memprioritaskan ekstensibilitas daripada pembatasan.
Respons komunitas menunjukkan bahwa pengguna semakin sadar akan implikasi keamanan dan mengharapkan mekanisme perlindungan yang lebih canggih, bahkan dalam aplikasi yang mereka gunakan untuk produktivitas pribadi. Tren ini mungkin mendorong aplikasi pencatat catatan menuju model keamanan yang lebih kuat seiring berkembangnya ekspektasi pengguna.
Referensi: Less is safer: how Obsidian reduces the risk of supply chain attacks
