پایگاههای داده کرومای باز: سطح حمله جدیدی برای برنامههای هوش مصنوعی
کروم یک فروشگاه برداری متن باز است - یک پایگاه داده طراحی شده تا به چتباتهای LLM اجازه دهد تا هنگام پاسخ به سؤال کاربر، اطلاعات مرتبط را جستجو کنند - و یکی از فناوریهای زیادی است که با رونق اخیر هوش مصنوعی شاهد افزایش پذیرش بوده است. مانند بسیاری از پایگاههای داده، کروم میتواند توسط کاربران نهایی طوری تنظیم شود که فاقد مکانیزمهای احراز هویت و مجوز باشد. وقتی پایگاههای داده بدون احراز هویت در معرض اینترنت قرار میگیرند، کاربران ناشناس میتوانند دادهها را در پایگاه داده بخوانند و حتی بهروزرسانی کنند و این ممکن است به محرمانگی، دسترسی و mộtپارچگی دادهها آسیب برساند.
در حالی که پایگاههای دادهی کرومایی که به اینترنت دسترسی دارند، بسیار کمتر از انواع قدیمیتر پایگاههای داده هستند، اما تعداد آنها در حال افزایش است و ممکن است در آینده نزدیک منبعی برای افشای دادههای قابل توجهی باشند. در بررسی ۱۱۷۰ پایگاه دادهی کرومایی که به اینترنت دسترسی داشتند، ما ۴۰۶ مورد، یا حدود یک سوم، را یافتیم که نوعی داده را افشا میکنند. از میان آنها، مورد قابل توجهی وجود داشت که بخشی از اطلاعات شناسایی شخصی (PII) از خالقان کانوا را افشا میکرد که ما در اینجا در مورد آن نوشتهایم.
چگونه پایگاه داده کرومات است؟
فرض کنید که شما در حال راهاندازی یک چتبات برای وبسایت هتل یا رستوران خود هستید. شما از یک مدل زبانی بزرگ (LLM) برای تکمیل پیام استفاده میکنید، اما همچنین به یک مخزن داده خاص برای کسبوکار خود نیاز دارید برای مواردی مانند ساعات کاری، امکانات، آدرس شما و سایر اطلاعات ضروری برای بازدیدکنندگان وبسایت.
در چروما، این نوع اطلاعات به صورت "مدارک" شکل میگیرد که معمولاً رشتههای سادهای هستند که اطلاعات مرتبط برای ربات چت را شامل میشوند. یکی از این رشتهها ممکن است چیزی شبیه به "ساعات کاری ما از ۹ صبح تا ۱۰ شب، ۷ روز در هفته است." باشد. سپس، زمانی که کسی از ربات چت شما میپرسد ساعات کارتان چه زمانی است، چروماDB آن سند را پیدا میکند زیرا نزدیکترین تطابق با پرسش است، و سپس آن را دوباره از طریق LLM اجرا میکند تا جواب به نظر محاورهای برسد. کاربر نهایی ممکن است چیزی شبیه به "ما هر روز از ۹ صبح تا ۱۰ شب باز هستیم و منتظر دیدار شما هستیم!" دریافت کند.
توزیع پایگاههای داده کروم بدون احراز هویت
زمانی که در آوریل 2025 به بررسی اینترنت پرداختیم، 1170 پایگاه داده Chroma که به اینترنت قابل دسترسی بودند وجود داشت. برای تعیین اینکه آیا هیچ دادهای در معرض نمایش قرار گرفته است یا خیر، از روش .list_collections برای هر آدرس IP استفاده کردیم و سپس از .get_collection برای دریافت دادهها از هر مجموعه استفاده کردیم. در این مورد، 406 پایگاه داده نوعی داده را بازگرداندند و حدود دو سوم از آنها خطای تأیید اعتبار را برگرداندند یا هیچ دادهای نداشتند.

هر پایگاه داده میتواند مجموعههای متعدد "مجموعه" داشته باشد که به لحاظ منطقی جداگانه، خوب، مجموعههایی از اسناد هستند. تعداد مجموعهها در هر پایگاه داده یک معیار برای این است که آیا آنها به طور فعال مورد استفاده قرار میگیرند و تا چه حد. پرکاربردترین پایگاه داده ۴,۳۱۵ مجموعه داشت که به طور قطع نشاندهنده استفاده سنگین از نوعی است. بسیاری از پایگاههای داده که برای دسترسی ناشناس پیکربندی شده بودند، دادههای معناداری نداشتند، اما ۶۰٪ از پایگاههای داده بیش از یک مجموعه داشتند که نشاندهنده برخی تغییرات فراتر از مجموعه پیشفرض است و ۳۲٪ نیز پنج یا بیشتر مجموعه داشتند.

توزیع جغرافیایی دیتابیسهای کروم
مکانیابی جغرافیایی آدرسهای IP که پایگاههای داده Chroma را به صورت اینترنتی میزبانی میکنند، به ما احساس برخی از مناطق پرخطر در برابر عواقب پیکربندیهای نادرست میدهد. در حالی که برخی از فناوریهای هوش مصنوعی در چین استفاده بیشتری دارند، Chroma عمدتاً در ایالات متحده و اروپا مورد استفاده قرار میگیرد و در هند نیز حضور قابل ملاحظهای دارد. به منظور نمایاندن بهتر مجموعه گستردهای از کشورهای اروپایی فراتر از ۲۰ کشور رایج، ما یک شمارش کلی برای کل اتحادیه اروپا نیز گنجاندهایم.

ریسکهای مرتبط با پایگاه داده کرومای بدون احراز هویت
نشت داده
از میان ۴۰۶ نمونه چروما که مورد بررسی قرار دادیم، متوجه شدیم که بیشتر آنها برای اکتشافات ابتدایی استفاده میشوند و دادههای منحصر به فرد زیادی ندارند. با این حال، مانند هر تکنولوژی شبکهای دیگری، ما همچنین سرورهای چروما را یافتیم که به نظر میرسید دادههای واقعی را برای توانمندسازی LLMهای چتبات در جایی از اینترنت در خود دارند.
یک استفادهی رایج از ChromaDB به نظر میرسد که ارائهی دادههای مربوط به اجارهی آپارتمان و هتل در هند و اطراف آن باشد. تعدادی از سرورها شامل اطلاعات دربارهی املاک و تسهیلات آنها بودند که چیزهایی است که بازدیدکنندهی وبسایت احتمالاً دربارهی آنها پرس و جو خواهد کرد. این سناریو برای Chroma منطقی است و دادههای حساس را فاش نمیکند، اما بانکهای اطلاعاتی باید دارای امنیتی باشند که از دسترسی مستقیم مهاجمان به دادهها جلوگیری کند.
یک سرور دیگر به نظر میرسید که متعلق به یک سرویس SEO تجارت الکترونیک باشد. صاحب پایگاه داده آن را با چتلاگهای پشتیبانی مشتری پر کرده بود، به نظر میرسید که به عنوان راهی برای افزایش دانش چتبات LLM باشد. با اضافه کردن گفتگوهای قبلی یک فرد درباره سوالات رایج، اکنون ربات دارای آن تجربه قبلی برای پاسخ دادن به سوالات آینده خواهد بود. این موضوع البته نگرانیهایی را به وجود میآورد که اگر هر گونه داده حساس مشتری به چروما اضافه شده باشد، ممکن است توسط کاربران آینده چتبات مشاهده شود. در واقع، ما این مورد خاص را مشاهده کردهایم - سعی در بهبود یک ربات پشتیبانی با تغذیه آن با بلیتهای واقعی کاربران - که منجر به نشت PII برای LlamaIndex، یک فناوری هوش مصنوعی دیگر، شده است.
قابلیت نوشتن
طبق مستندات کرومای امنیتی، احراز هویت به طور پیشفرض غیرفعال است. "به طور پیشفرض، کرومای نیازی به احراز هویت ندارد. شما باید آن را به صورت دستی فعال کنید. اگر کروم را در یک محیط عمومی مستقر میکنید، به شدت توصیه میشود که احراز هویت را فعال کنید."
دسترسی ساده به دادههای موجود تنها یک نگرانی است. نگرانی دیگر این است که یک کاربر مخرب ممکن است دادههای موجود برای یک چتبات را تغییر دهد یا آلوده کند. تصور اینکه در چندین موقعیت، یک چتبات تولیدی با یک نمونه ChromaDB بدون احراز هویت و باز میتواند اطلاعات نادرست یا حتی خطرناکی را به کاربر چتبات ارائه دهد، آسان است.
برای نشان دادن اینکه یک حملهگر با دسترسی نامحدود به یک پایگاه داده Chroma چگونه ممکن است از آن سوءاستفاده کند، ما یک نمایش را ایجاد کردهایم که در آن مستندات گمراهکننده را بارگذاری میکنیم، مستندات صحیح را حذف میکنیم و مستندات را با آنهایی جایگزین میکنیم که کاربران را به منابع تحت کنترل حملهگر هدایت میکند.
نتیجه گیری
همانطور که در حین استفاده از دفترچه یادداشت دمو Chroma یاد گرفتیم، این واقعاً یک فناوری جالب برای بازیابی مدارک به منظور استفاده در برنامههای مبتنی بر هوش مصنوعی است. با وجود بیش از هزار مورد قابل دسترسی از اینترنت، به نظر میرسد که پذیرش و رشد خوبی دارد. اما کاربران باید از نحوه پیکربندی امن پایگاه دادههای خود آگاه باشند، به ویژه از آنجایی که به طور پیشفرض فاقد احراز هویت است. (به عنوان یک نکته جانبی، Elasticsearch روزگاری همین تصمیم را اتخاذ کرد - حذف احراز هویت به این اصل که مسئولیت به لایه برنامه وب متعلق است نه پایگاه داده - و بعداً به دلیل فراوانی نشتهای داده Elasticsearch، آن را تغییر داد.) فراتر از اطمینان از اینکه برخی مکانیزمها مانع دسترسی کاربران ناشناس به پایگاه داده میشوند، کاربران همچنین باید در نظر داشته باشند که دادههای مربوط به اطلاعات شناسایی شخصی (PII) یا اطلاعات محرمانه دیگر را تصفیه کنند تا در صورت نشت یا نقض، تأثیر را به حداقل برسانند.