Database Chroma Terbuka: Permukaan Serangan Baru untuk Aplikasi AI
Chroma adalah penyimpanan vektor sumber terbuka—sebuah basis data yang dirancang untuk memungkinkan chatbot LLM mencari informasi yang relevan saat menjawab pertanyaan pengguna—dan salah satu dari banyak teknologi yang telah melihat pertumbuhan adopsi dengan ledakan AI terbaru. Seperti banyak basis data, Chroma dapat dikonfigurasi oleh pengguna akhir untuk tidak memiliki mekanisme otentikasi dan otorisasi. Ketika basis data tanpa otentikasi diekspos ke internet, pengguna anonim dapat membaca dan bahkan memperbarui data dalam basis data, yang berpotensi mengompromikan kerahasiaan, ketersediaan, dan integritas data.
Sementara database Chroma yang terhubung ke internet jauh lebih jarang dibandingkan dengan jenis database yang lebih tua, jumlahnya terus meningkat, dan berpotensi menjadi sumber paparan data yang signifikan dalam waktu dekat. Dalam survei 1170 database Chroma yang terhubung ke internet, kami menemukan 406, atau sekitar sepertiga, yang mengekspos beberapa bentuk data. Yang paling menonjol adalah kebocoran beberapa data PII dari Canva Creators, yang telah kami tulis di sini.
Apa itu database Chroma?
Katakanlah Anda sedang menyiapkan chatbot untuk situs web hotel atau restoran Anda. Anda akan menggunakan LLM untuk menyelesaikan prompt, tetapi Anda juga memerlukan repositori data yang unik untuk bisnis Anda untuk informasi seperti jam operasional, fasilitas, alamat Anda, dan informasi lain yang diperlukan untuk pengunjung situs web.
Dalam Chroma, informasi jenis ini berupa "dokumen" yang biasanya adalah string sederhana yang berisi informasi penting untuk chatbot. Salah satu string tersebut mungkin adalah "Jam operasional kami adalah dari pukul 9 pagi hingga 10 malam, 7 hari dalam seminggu." Kemudian, ketika seseorang bertanya kepada chatbot Anda tentang jam buka, ChromaDB akan menemukan dokumen tersebut karena paling sesuai dengan pertanyaan, dan kemudian mengembalikannya melalui LLM untuk membuat balasan terdengar lebih percakapan. Pengguna akhir mungkin menerima sesuatu seperti, "Kami buka setiap hari dari pukul 9 pagi hingga 10 malam, dan kami menantikan kunjungan Anda!"
Distribusi basis data Chroma tanpa otentikasi
Saat kami melakukan survei internet pada April 2025, ada 1170 basis data Chroma yang dapat diakses melalui internet. Untuk mengetahui apakah ada data yang terpapar, kami menggunakan metode .list_collections untuk setiap alamat IP, dan kemudian .get_collection untuk mendapatkan data dari setiap koleksi. Dalam kasus ini, 406 basis data mengembalikan beberapa bentuk data dan sekitar dua pertiga mengembalikan kesalahan otentikasi atau tidak mengandung data.

Setiap basis data dapat memiliki beberapa "koleksi", yang secara logis terpisah, ya, koleksi dokumen. Jumlah koleksi per basis data memberikan petunjuk tentang apakah mereka sedang digunakan secara aktif dan sejauh mana penggunaannya. Basis data yang paling banyak digunakan memiliki 4.315 koleksi, yang tentu saja menunjukkan penggunaan yang intensif semacam itu. Banyak basis data yang dikonfigurasi untuk memungkinkan akses anonim tidak memiliki data yang berarti, tetapi 60% basis data memiliki lebih dari satu koleksi, menunjukkan adanya modifikasi di luar koleksi default, dan 32% memiliki lima atau lebih koleksi.

Distribusi geografis basis data Chroma
Geolokasi alamat IP yang menghosting basis data Chroma yang terpapar internet memberi kita gambaran tentang wilayah mana yang paling berisiko dari akibat kesalahan konfigurasi. Sementara beberapa teknologi AI menunjukkan penggunaan yang sangat tinggi di China, Chroma sebagian besar digunakan di AS dan Eropa, dengan kehadiran yang signifikan di India juga. Untuk lebih mewakili ekor panjang negara-negara Eropa di luar 20 negara paling umum, kami telah menyertakan jumlah agregat untuk Uni Eropa secara keseluruhan.

Risiko yang terkait dengan basis data Chroma yang tidak terautentikasi
Kebocoran data
Dari 406 instance Chroma terbuka yang kami survei, kami menemukan sebagian besar digunakan untuk eksplorasi dasar dan tidak mengandung banyak data unik. Namun, seperti halnya teknologi jaringan lainnya, kami juga menemukan server Chroma yang tampaknya mengandung data nyata yang menjalankan chatbot LLM di suatu tempat di Internet.
Salah satu penggunaan umum untuk ChromaDB tampaknya adalah untuk menyajikan data yang berkaitan dengan penyewaan apartemen dan hotel di dalam dan sekitar India. Sejumlah server berisi informasi tentang properti dan fasilitasnya, yang merupakan hal-hal yang kemungkinan akan ditanyakan oleh pengunjung situs web. Kasus penggunaan ini masuk akal untuk Chroma dan tidak membocorkan data sensitif, tetapi basis data harus memiliki beberapa keamanan yang mencegah penyerang mengakses data secara langsung.
Sebuah server lain tampaknya milik layanan SEO e-commerce. Pemilik basis data telah mengisinya dengan log obrolan dukungan pelanggan, tampaknya sebagai cara untuk meningkatkan pengetahuan chatbot LLM. Dengan menambahkan percakapan seseorang tentang pertanyaan umum sebelumnya, bot sekarang akan memiliki pengalaman sebelumnya untuk digunakan saat menjawab pertanyaan mendatang. Tentu saja, ini menimbulkan kekhawatiran bahwa jika ada data pelanggan sensitif yang ditambahkan ke Chroma, data tersebut dapat dilihat oleh pengguna chatbot di masa depan. Memang, kami telah melihat kasus tepat ini-berusaha meningkatkan bot dukungan dengan memberinya tiket pengguna nyata-mengakibatkan kebocoran PII untuk LlamaIndex, teknologi AI lainnya.
Keterbacaan
Dari dokumentasi Chroma tentang keamanan, otentikasi dinonaktifkan secara default. "Secara default, Chroma tidak memerlukan otentikasi. Anda harus mengaktifkannya secara manual. Jika Anda menerapkan Chroma di lingkungan yang terpapar publik, sangat disarankan untuk mengaktifkan otentikasi."
Hanya mengakses data yang tersedia hanyalah satu kekhawatiran. Kekhawatiran lainnya adalah bahwa pengguna jahat dapat mengubah atau merusak data yang tersedia untuk chatbot. Sangat mudah untuk membayangkan sejumlah situasi di mana chatbot produksi dengan instance ChromaDB yang terbuka dan tanpa otorisasi dapat memberikan informasi yang salah atau bahkan berbahaya kepada pengguna chatbot.
Untuk mengilustrasikan bagaimana seorang penyerang dengan akses tidak terbatas ke basis data Chroma dapat menyalahgunakannya, kami telah membuat demonstrasi di mana kami mengunggah dokumen yang menyesatkan, menghapus dokumen yang benar, dan mengganti dokumen dengan yang mengarahkan pengguna ke sumber daya yang dikendalikan oleh penyerang.
Kesimpulan
Seperti yang kami pelajari saat menggunakan notebook demo Chroma, ini benar-benar adalah teknologi yang keren untuk mengambil dokumen yang digunakan dalam aplikasi yang didukung AI. Dengan lebih dari seribu instance yang dapat diakses di internet, tampaknya juga memiliki adopsi dan pertumbuhan yang sehat. Namun, pengguna harus sadar bagaimana cara mengkonfigurasi basis data mereka secara aman, terutama mengingat bahwa secara default tidak memiliki otentikasi. (Sebagai catatan, Elasticsearch pernah membuat keputusan yang sama - mengabaikan otentikasi berdasarkan prinsip bahwa tanggung jawab terletak pada lapisan aplikasi web daripada basis data - dan kemudian mengubahnya karena frekuensi kebocoran data Elasticsearch.) Selain memastikan bahwa beberapa mekanisme mencegah pengguna anonim mengakses basis data, pengguna juga harus mempertimbangkan untuk membersihkan data yang berisi PII atau informasi rahasia lainnya untuk meminimalkan dampak jika terjadi kebocoran atau pelanggaran.