Cơ sở dữ liệu Chroma Mở: Một bề mặt tấn công mới cho các ứng dụng trí tuệ nhân tạo
Chroma là một kho vector mã nguồn mở - một cơ sở dữ liệu được thiết kế để cho phép các chatbot LLM tìm kiếm thông tin liên quan khi trả lời câu hỏi của người dùng - và là một trong nhiều công nghệ đã chứng kiến sự tăng trưởng về sự chấp nhận cùng với làn sóng AI gần đây. Như nhiều cơ sở dữ liệu khác, Chroma có thể được cấu hình bởi người dùng cuối để không có cơ chế xác thực và phân quyền. Khi các cơ sở dữ liệu không có xác thực bị lộ ra internet, người dùng ẩn danh có thể đọc và thậm chí cập nhật dữ liệu trong cơ sở dữ liệu, có khả năng làm tổn hại đến tính bảo mật, khả năng truy cập và tính toàn vẹn của dữ liệu.
Trong khi các cơ sở dữ liệu Chroma bị lộ ra internet ít phổ biến hơn nhiều so với các loại cơ sở dữ liệu cũ hơn, số lượng của chúng đang gia tăng và có thể sẽ là nguồn tiếp xúc dữ liệu đáng kể trong tương lai gần. Trong một cuộc khảo sát 1170 cơ sở dữ liệu Chroma bị lộ ra internet, chúng tôi phát hiện 406, tức khoảng một phần ba, đang lộ ra một số dạng dữ liệu. Điều đáng chú ý nhất trong số đó là lộ một số thông tin cá nhân từ Canva Creators, mà chúng tôi đã viết ở đây.
Cơ sở dữ liệu Chroma là gì?
Hãy nói rằng bạn đang thiết lập một chatbot cho trang web của khách sạn hoặc nhà hàng của bạn. Bạn sẽ sử dụng một mô hình ngôn ngữ lớn (LLM) để hoàn thành các yêu cầu, nhưng bạn cũng cần một kho dữ liệu đặc trưng cho doanh nghiệp của mình về những thứ như giờ hoạt động, tiện nghi, địa chỉ của bạn và các thông tin khác cần thiết cho một du khách truy cập trang web.
Trong Chroma, thông tin loại này dưới dạng " tài liệu " thường là các chuỗi đơn giản chứa thông tin liên quan đến chatbot. Một trong những chuỗi có thể là "Giờ làm việc của chúng tôi từ 9 giờ sáng đến 10 giờ tối, 7 ngày trong tuần." Sau đó, khi ai đó hỏi chatbot của bạn về giờ làm việc, ChromaDB sẽ tìm tài liệu đó vì nó phù hợp nhất với truy vấn, và sau đó sẽ đưa lại qua LLM để làm cho câu trả lời nghe có vẻ tự nhiên hơn. Người dùng cuối có thể nhận được thứ gì đó như "Chúng tôi mở cửa mỗi ngày từ 9 giờ sáng đến 10 giờ tối, và rất mong được đón tiếp bạn!"
Phân phối cơ sở dữ liệu Chroma mà không cần xác thực
Khi chúng tôi khảo sát internet vào tháng 4 năm 2025, đã có 1170 cơ sở dữ liệu Chroma có thể truy cập qua internet. Để xác định liệu có dữ liệu nào bị lộ hay không, chúng tôi đã sử dụng phương thức .list_collections cho từng địa chỉ IP, và sau đó sử dụng .get_collection để lấy dữ liệu từ từng bộ sưu tập. Trong trường hợp này, 406 cơ sở dữ liệu đã trả về một số dạng dữ liệu và khoảng hai phần ba đã trả về lỗi xác thực hoặc không có dữ liệu.

Mỗi cơ sở dữ liệu có thể có nhiều "bộ sưu tập", mà về mặt logic là những bộ sưu tập tài liệu riêng biệt. Số lượng bộ sưu tập trên mỗi cơ sở dữ liệu cung cấp một phương pháp phỏng đoán cho việc chúng có đang được sử dụng tích cực hay không và đến mức độ nào. Cơ sở dữ liệu được sử dụng nhiều nhất có 4.315 bộ sưu tập, điều này chắc chắn cho thấy việc sử dụng nặng nề theo một cách nào đó. Nhiều cơ sở dữ liệu được cấu hình để cho phép truy cập ẩn danh không có dữ liệu có ý nghĩa, nhưng 60% cơ sở dữ liệu có hơn một bộ sưu tập, chỉ ra rằng có một số sửa đổi ngoài bộ sưu tập mặc định, và 32% có năm bộ sưu tập trở lên.

Phân bố địa lý của các cơ sở dữ liệu Chroma
Vị trí địa lý của các địa chỉ IP lưu trữ cơ sở dữ liệu Chroma phơi bày trên internet cho chúng ta một cái nhìn về những khu vực nào đang có nguy cơ cao nhất từ các hậu quả của việc cấu hình sai. Trong khi một số công nghệ AI có mức độ sử dụng lớn ở Trung Quốc, Chroma chủ yếu được sử dụng ở Mỹ và Châu Âu, với sự hiện diện đáng chú ý ở Ấn Độ. Để đại diện tốt hơn cho phần còn lại của các quốc gia Châu Âu ngoài 20 quốc gia phổ biến nhất, chúng tôi đã bao gồm một tổng hợp số liệu cho toàn bộ EU.

Rủi ro liên quan đến cơ sở dữ liệu Chroma không được xác thực
Rò rỉ dữ liệu
Trong số 406 phiên bản Chroma mở mà chúng tôi khảo sát, chúng tôi phát hiện rằng hầu hết đều được sử dụng cho việc khám phá cơ bản và không chứa nhiều dữ liệu độc đáo. Tuy nhiên, như với bất kỳ công nghệ mạng nào, chúng tôi cũng tìm thấy các máy chủ Chroma dường như chứa dữ liệu thực đang hỗ trợ các LLM chatbot ở đâu đó trên Internet.
Một ứng dụng phổ biến cho ChromaDB dường như là cung cấp dữ liệu liên quan đến việc cho thuê căn hộ và khách sạn ở Ấn Độ và xung quanh. Một số máy chủ chứa thông tin về các bất động sản và tiện nghi của chúng, đây là những điều mà một khách truy cập website có thể sẽ hỏi về. Ứng dụng này hợp lý cho Chroma và không rò rỉ dữ liệu nhạy cảm, nhưng các cơ sở dữ liệu nên có một số biện pháp bảo mật để ngăn chặn kẻ tấn công truy cập dữ liệu trực tiếp.
Một máy chủ khác dường như thuộc về một dịch vụ SEO thương mại điện tử. Chủ sở hữu cơ sở dữ liệu đã lấp đầy nó bằng các ghi chép chat hỗ trợ khách hàng, có vẻ như như một cách để tăng cường kiến thức cho chatbot LLM. Bằng cách thêm vào cuộc trò chuyện trước đó của ai đó về những câu hỏi thường gặp, bot bây giờ có thể dựa vào kinh nghiệm đó khi trả lời các câu hỏi trong tương lai. Điều này, tất nhiên, dấy lên lo ngại rằng nếu bất kỳ dữ liệu nhạy cảm của khách hàng nào đã được thêm vào Chroma thì nó có thể bị nhìn thấy bởi những người dùng tương lai của chatbot. Thực tế, chúng tôi đã thấy trường hợp giống hệt - cố gắng cải thiện một bot hỗ trợ bằng cách cho nó những vé thực của người dùng - dẫn đến rò rỉ thông tin cá nhân cho LlamaIndex, một công nghệ AI khác.
Khả năng viết
Theo tài liệu của Chroma về bảo mật, xác thực không được bật theo mặc định. "Theo mặc định, Chroma không yêu cầu xác thực. Bạn phải bật nó một cách thủ công. Nếu bạn đang triển khai Chroma trong một môi trường công cộng, thì rất khuyên bạn nên bật xác thực."
Việc chỉ truy cập vào dữ liệu có sẵn chỉ là một mối quan tâm. Một mối quan tâm khác là một người dùng độc hại có thể thay đổi hoặc làm hỏng dữ liệu sẵn có cho một chatbot. Thật dễ dàng để tưởng tượng ra một số tình huống trong đó một chatbot sản xuất với một phiên ChromaDB chưa được xác thực và mở có thể cung cấp thông tin không chính xác hoặc thậm chí nguy hiểm cho người dùng chatbot.
Để minh họa cách một kẻ tấn công có quyền truy cập không hạn chế vào cơ sở dữ liệu Chroma có thể lạm dụng nó, chúng tôi đã tạo ra một bản trình diễn nơi chúng tôi tải lên các tài liệu gây hiểu lầm, xóa các tài liệu chính xác và thay thế các tài liệu bằng những tài liệu hướng người dùng đến các tài nguyên do kẻ tấn công kiểm soát.
Kết luận
Như chúng tôi đã học được khi sử dụng sổ tay demo của Chroma, đây thực sự là một công nghệ tuyệt vời để truy xuất tài liệu sử dụng trong các ứng dụng AI. Với hơn một nghìn phiên bản có thể truy cập trên internet, nó cũng dường như có sự chấp nhận và tăng trưởng khỏe mạnh. Nhưng người dùng cần phải nhận thức được cách cấu hình cơ sở dữ liệu của họ một cách an toàn, đặc biệt là vì nó không có xác thực theo mặc định. (Để nói thêm, Elasticsearch đã từng đưa ra quyết định tương tự - bỏ qua xác thực theo nguyên tắc rằng trách nhiệm thuộc về lớp ứng dụng web thay vì cơ sở dữ liệu - và sau đó đã thay đổi do tần suất rò rỉ dữ liệu của Elasticsearch.) Ngoài việc đảm bảo rằng một số cơ chế ngăn chặn người dùng ẩn danh truy cập cơ sở dữ liệu, người dùng cũng nên xem xét việc làm sạch dữ liệu của thông tin cá nhân hoặc thông tin bí mật khác để giảm thiểu tác động trong trường hợp bị rò rỉ hoặc xâm phạm.