Apa yang terjadi
ACL jalur obsidian-tc hanya membatasi penampilan daftar, bukan pembacaan jalur langsung: dengan readPaths/writePaths yang tidak ditentukan, semua jalur diizinkan, dan direktori kontrol .obsidian/.git/.trash hanya diblokir selama enumerasi direktori. Pemanggil yang terautentikasi dapat langsung mengambil file kontrol seperti .obsidian/plugins/*/data.json untuk mendapatkan kunci API plugin dan kata sandi Obsidian Sync yang disimpan di dalam vault.
Mengapa penting
File kontrol yang berdekatan dengan vault sering kali menyimpan rahasia berumur panjang (kata sandi sinkronisasi, kunci plugin/penyedia) yang biasanya tidak akan disentuh oleh agen catatan AI. Melalui celah ini, agen dengan token valid apa pun dapat mengumpulkan kredensial yang menjadi sandaran ekosistem vault itu sendiri.
Vektor serangan
Pengaturan readPaths/writePaths yang tidak ditentukan mengizinkan semua jalur; strictReadDefault tidak melindungi jalur permintaan langsung; direktori kontrol .obsidian, .git dan .trash hanya dikecualikan selama enumerasi, bukan pada permintaan file langsung. Pemanggil yang terautentikasi membaca .obsidian/plugins/*/data.json untuk mencuri kunci API plugin dan kata sandi Obsidian Sync.
Sistem yang terdampak
obsidian-tc (The-40-Thieves) < 1.3.1 (penegakan ACL jalur)
Mitigasi
Tingkatkan ke obsidian-tc 1.3.1 (commit 74de320ddea855e1dec47d67beabe88491149dab; PR #73), yang menolak direktori kontrol secara default dan menegakkan strictReadDefault pada permintaan langsung.