Ngày 25/7/2025, các nhà nghiên cứu tại Brave Security Team đã phát hiện một bình luận trên Reddit có thể chiếm quyền điều khiển phiên duyệt web của trình duyệt Perplexity Comet. Kẻ tấn công không cần lừa người dùng nhấp vào bất cứ thứ gì. Họ không cần khai thác lỗ hổng bộ nhớ hay vượt qua lớp xác thực. Tất cả những gì họ cần là một đoạn văn bản mà con người sẽ không bao giờ đọc – được ẩn bên trong một chủ đề Reddit, vô hình trong giao diện người dùng được hiển thị – và AI sẽ đọc, diễn giải nó như một chỉ thị và thực thi.
Bằng chứng về khái niệm: trích xuất địa chỉ email của người dùng, lấy mật khẩu dùng một lần từ Gmail, truy cập xác thực.
Ngày 25/7/2025, các nhà nghiên cứu tại Brave Security Team đã phát hiện một bình luận trên Reddit có thể chiếm quyền điều khiển phiên duyệt web của trình duyệt Perplexity Comet. Kẻ tấn công không cần lừa người dùng nhấp vào bất kỳ thứ gì. Họ cũng không cần khai thác lỗ hổng bộ nhớ hay vượt qua lớp xác thực. Tất cả những gì họ cần là một đoạn văn bản mà con người sẽ không bao giờ đọc – được ẩn bên trong một chủ đề Reddit, vô hình trong giao diện người dùng (UI) được hiển thị – và AI sẽ đọc, diễn giải nó như một chỉ dẫn, rồi thực thi.
Bằng chứng khái niệm (proof-of-concept) cho thấy: trích xuất địa chỉ email của người dùng, lấy mật khẩu dùng một lần từ Gmail, truy cập các phiên đã xác thực trên các dịch vụ được kết nối và đánh cắp dữ liệu. Không cần tương tác nào từ người dùng ngoài việc "yêu cầu AI tóm tắt chủ đề Reddit này".
Đây là tấn công tiêm nhiễm lời nhắc gián tiếp (indirect prompt injection) – một biến thể của cuộc tấn công mà OWASP xếp hạng số một trong danh sách LLM Top 10 năm 2025 với tên gọi LLM01: Prompt Injection. Và nếu nhóm của bạn đang xây dựng các tính năng AI xử lý nội dung bên ngoài – tóm tắt email, trợ lý tài liệu, trình duyệt đồng hành (browser copilots), bot hỗ trợ khách hàng – thì loại lỗ hổng này cũng áp dụng cho bạn.
Điều gì đã xảy ra: Giải thích về cuộc tấn công Comet
Perplexity Comet là một trình duyệt tăng cường AI: mở một trang, yêu cầu AI tóm tắt, và nó sẽ đọc nội dung rồi đưa ra các điểm nổi bật. Hữu ích cho việc nghiên cứu, theo dõi các chủ đề dài, hoặc nhanh chóng nắm bắt tài liệu.
Đây là vấn đề mà các nhà nghiên cứu của Brave đã tìm thấy: khi AI của Comet xử lý một trang web, nó lấy toàn bộ nội dung trang và đưa vào lời nhắc (prompt). Đó là cách tóm tắt hoạt động. Mô hình cần đọc trang để tóm tắt nó.
Nhưng mô hình không có cách nào để phân biệt giữa *nội dung cần xử lý* và *chỉ dẫn cần tuân theo*. Tất cả đều là các mã thông báo (tokens).
Kỹ thuật ẩn giấu đơn giản đến mức khó tin. Trong một bình luận trên Reddit, kẻ tấn công sử dụng thẻ spoiler – một tính năng hợp pháp của Reddit giúp ẩn văn bản cho đến khi người dùng nhấp để hiển thị – để che giấu một khối văn bản. Về mặt hình ảnh, bạn không thấy gì. LLM, đọc nội dung trang thô, thấy toàn bộ văn bản, bao gồm bất kỳ chỉ dẫn nào được nhúng trong đó.
Các phương pháp che giấu khác cũng hiệu quả: văn bản trắng trên nền trắng, bình luận HTML hoặc các yếu tố vô hình khác. Bề mặt tấn công là bất kỳ văn bản nào trên bất kỳ trang nào mà AI đọc nhưng người dùng không đọc.
Các chỉ dẫn trong bằng chứng khái niệm đã yêu cầu AI của Comet truy cập Gmail được kết nối của người dùng, lấy mật khẩu dùng một lần và đăng dữ liệu đã thu thập được lên một URL do kẻ tấn công kiểm soát – được gửi qua một bài đăng trên mạng xã hội trông hoàn toàn bình thường.
Brave đã công bố lỗ hổng này vào ngày 20/8/2025. Perplexity đã xác nhận báo cáo vào ngày 27/7 và đưa ra bản sửa lỗi ban đầu – việc kiểm tra lại vào ngày hôm sau cho thấy bản sửa lỗi chưa hoàn chỉnh. Việc kiểm tra lại của Brave vào ngày 13/8 cho thấy lỗ hổng dường như đã được vá, mặc dù một bản cập nhật sau khi công bố đã lưu ý rằng Perplexity vẫn chưa giảm thiểu hoàn toàn loại tấn công cơ bản.
Các nhà nghiên cứu của LayerX Security đã phát hiện một biến thể liên quan vào ngày 27-28/8/2025, mà họ đặt tên là "CometJacking" – một con đường kỹ thuật khác dẫn đến kết quả tương tự, khai thác các tham số truy vấn (query parameters) trong các URL được tạo ra để kích hoạt cùng loại tấn công. LayerX đã gửi phát hiện của họ cho Perplexity theo chính sách công bố có trách nhiệm; Perplexity đã phản hồi rằng họ không thể xác định bất kỳ tác động bảo mật nào và đánh dấu báo cáo là không áp dụng. LayerX đã công bố nghiên cứu của họ rộng rãi vào tháng 10/2025.
Nguyên nhân gốc rễ: Ranh giới tin cậy không tồn tại
Vấn đề cốt lõi là về kiến trúc, không phải là một lỗi có thể vá được.
Khi một ứng dụng truyền thống xử lý đầu vào của người dùng.
Tuy nhiên, nó chạy qua xác thực rõ ràng: làm sạch chuỗi này, xác thực lược đồ này, thoát các ký tự này. SQL injection bị đánh bại bằng cách coi các tham số truy vấn và cú pháp SQL là những vấn đề riêng biệt. XSS bị đánh bại bằng cách mã hóa nội dung người dùng trước khi hiển thị dưới dạng HTML.
Prompt injection không có biện pháp phòng thủ tương đương.
Khi bộ tóm tắt xây dựng một prompt, nó thực hiện điều gì đó như sau:
Hệ thống: Bạn là một trợ lý trình duyệt hữu ích. Tóm tắt nội dung do người dùng cung cấp. Người dùng: Tóm tắt trang này cho tôi. Nội dung trang: [TOÀN BỘ HTML/VĂN BẢN TRANG ĐƯỢC CHÈN VÀO ĐÂY]
Mô hình nhận tất cả những điều này dưới dạng một luồng token phẳng. Sự phân biệt giữa “đây là hướng dẫn hệ thống” và “đây là nội dung trang” tồn tại trong cấu trúc prompt – nhưng mô hình không phải là một trình phân tích cú pháp để thực thi các ranh giới cấu trúc. Nó là một bộ dự đoán token tiếp theo được đào tạo để hữu ích. Nếu nội dung trang chứa một hướng dẫn được tạo ra đủ tốt, mô hình không có cách đáng tin cậy nào để xác định rằng nó nên được coi là dữ liệu chứ không phải là một chỉ thị.
Ngôn ngữ tự nhiên không có cú pháp tấn công cố định như SQL injection. Bạn có thể loại bỏ các thực thể HTML, chạy đầu vào qua danh sách cho phép, từ chối các thẻ spoiler – và một kẻ tấn công có động cơ sẽ tìm ra một đường dẫn ngữ nghĩa bỏ qua các bộ lọc trong khi vẫn được mô hình diễn giải là một hướng dẫn.
Vấn đề sâu xa hơn là AI của Comet có toàn quyền truy cập vào phiên trình duyệt trực tiếp của người dùng. Cookie, trạng thái xác thực, các dịch vụ được kết nối – mọi thứ. Nó không cần bất kỳ quyền truy cập nào trong số đó để tóm tắt văn bản. Nhưng việc có nó có nghĩa là khi hướng dẫn được chèn nói “gửi cái này đến một URL”, tác nhân có quyền truy cập phiên để thực hiện điều đó.
Đây là một lỗi đặc quyền tối thiểu được kết hợp bởi một lỗi ranh giới tin cậy.
Tại sao điều này quan trọng ngoài một trình duyệt
Thật dễ dàng để coi đây là một “vấn đề của Perplexity” và bỏ qua. Đó chính xác là một bài học sai lầm.
Mô hình tấn công – LLM nhận nội dung bên ngoài, nội dung bên ngoài chứa hướng dẫn, LLM tuân theo chúng – áp dụng cho mọi tính năng AI xử lý nội dung của bên thứ ba. Điều đó bao gồm:
Trợ lý tóm tắt email đọc và cô đọng hộp thư đến của bạn
Các công cụ đồng tác giả tài liệu xử lý các tệp đã tải lên (PDF, tài liệu Word, bảng tính)
Các bot hỗ trợ khách hàng tham chiếu các cơ sở tri thức được xây dựng từ nội dung công khai hoặc do người dùng gửi
Các hệ thống dựa trên RAG truy xuất và chèn tài liệu bên ngoài vào ngữ cảnh
Các quy trình tác nhân duyệt web, kéo các bài viết hoặc xử lý các biểu mẫu gửi
Nếu bất kỳ mô tả nào trong số đó khớp với thứ mà nhóm của bạn đã xây dựng
Nguồn tin: Medium Towards AI — Tác giả: Dominika Sikorska. Bản dịch tiếng Việt do AI thực hiện, có thể có sai sót.