Các chuyên gia bảo mật tại JFrog đã phát hiện một lỗ hổng “chiếm quyền prompt” (prompt hijacking) khai thác điểm yếu trong cách các hệ thống AI giao tiếp với nhau qua MCP (Model Context Protocol).
Những nhà lãnh đạo doanh nghiệp muốn AI trở nên hữu ích hơn bằng cách trực tiếp sử dụng dữ liệu và công cụ của công ty. Tuy nhiên, khi kết nối AI như vậy cũng đồng nghĩa mở ra các rủi ro bảo mật mới, không phải trong chính AI, mà là trong cách các thành phần được kết nối với nhau. Điều này đòi hỏi các CIO và CISO phải nghĩ đến một bài toán mới: bảo vệ dòng dữ liệu cung cấp cho AI chứ không chỉ bảo vệ AI đơn thuần.
Tại sao các cuộc tấn công AI nhắm vào giao thức như MCP lại nguy hiểm?
Các mô hình AI – dù chạy trên Google, Amazon hay thiết bị cục bộ – đều có một hạn chế cơ bản: chúng không biết được thông tin thời gian thực hiện tại. Chúng chỉ biết những gì đã được đào tạo từ trước. AI không thể biết một lập trình viên đang làm việc trên đoạn mã nào hay có những gì trong tập tin trên máy tính.
Các nhà nghiên cứu tại Anthropic đã tạo ra MCP nhằm khắc phục điều này. MCP cho phép AI kết nối với thế giới thực, sử dụng an toàn dữ liệu cục bộ và các dịch vụ Online. Nhờ đó, một trợ lý AI như Claude có thể hiểu được ý nghĩa khi bạn chỉ vào một đoạn mã và yêu cầu chỉnh sửa.
Tuy nhiên, nghiên cứu của JFrog cho thấy một cách sử dụng MCP có lỗ hổng prompt hijacking có thể biến công cụ AI đầy hứa hẹn này thành một mối đe dọa an ninh nghiêm trọng.
Giả sử một lập trình viên yêu cầu trợ lý AI gợi ý một công cụ Python tiêu chuẩn để xử lý hình ảnh. Lẽ ra AI nên đề xuất Pillow, một thư viện phổ biến và đáng tin cậy. Nhưng do lỗi trong hệ thống oatpp-mcp (CVE-2025-6515), kẻ tấn công có thể chen vào phiên làm việc của người dùng. Họ có thể gửi yêu cầu giả mạo và server sẽ coi đó là yêu cầu chính chủ.
Kết quả là lập trình viên nhận được gợi ý sai lệch từ trợ lý AI, như một công cụ giả mạo theBestImageProcessingPackage. Đây là một cuộc tấn công nghiêm trọng vào chuỗi cung ứng phần mềm. Kẻ xấu có thể lợi dụng prompt hijacking để chèn mã độc, đánh cắp dữ liệu hoặc thực thi lệnh bất hợp pháp, nhưng vẫn ngụy trang như một phần trong bộ công cụ của lập trình viên.
Cách thức hoạt động của cuộc tấn công prompt hijacking trên MCP này
Cuộc tấn công prompt hijacking khai thác cách hệ thống giao tiếp qua MCP, chứ không phải lỗ hổng trong mô hình AI. Điểm yếu cụ thể được tìm thấy trong thiết lập MCP của hệ thống Oat++ dùng C++, là cầu nối giữa các chương trình và chuẩn MCP.
Vấn đề nằm ở cách hệ thống xử lý kết nối qua Server-Sent Events (SSE). Khi người dùng thực kết nối, server cấp cho họ một ID phiên (session ID). Tuy nhiên, hàm có lỗi lấy địa chỉ bộ nhớ của phiên làm session ID. Điều này vi phạm nguyên tắc quan trọng của giao thức, rằng session ID phải duy nhất và bảo mật theo phương pháp Crypto.
Thiết kế này rất tồi vì máy tính thường tái sử dụng địa chỉ bộ nhớ để tiết kiệm tài nguyên. Kẻ tấn công có thể lợi dụng điều này bằng cách nhanh chóng tạo và đóng nhiều phiên làm việc để thu thập các session ID dễ đoán. Sau đó, khi người dùng thật kết nối, họ có thể bị gán một session ID đã bị kẻ tấn công chiếm đoạt.
Khi có session ID hợp lệ, kẻ tấn công có thể gửi yêu cầu giả mạo đến server. Server không thể phân biệt kẻ tấn công và người dùng thật, nên gửi phản hồi nguy hiểm về cho người dùng ấy.
Ngay cả khi một số chương trình chỉ chấp nhận phản hồi với ID nhất định, kẻ tấn công có thể lách luật bằng cách gửi nhiều tin nhắn với các số sự kiện khác nhau đến khi một tin được chấp nhận. Như vậy, họ có thể làm sai lệch hành vi của mô hình mà không cần thay đổi mô hình AI gốc. Bất kỳ công ty nào sử dụng oatpp-mcp với HTTP SSE bật trên mạng mà kẻ tấn công có thể truy cập đều có nguy cơ bị ảnh hưởng.
Lãnh đạo an ninh AI cần làm gì?
Phát hiện về lỗ hổng prompt hijacking trên MCP này là lời cảnh báo nghiêm trọng dành cho các nhà lãnh đạo công nghệ, nhất là CISO và CTO đang xây dựng hoặc sử dụng các AI Agent. Khi AI ngày càng thâm nhập sâu vào quy trình làm việc của chúng ta qua các giao thức như MCP, các rủi ro mới cũng nảy sinh. Việc bảo vệ vùng an toàn quanh AI giờ đây trở thành ưu tiên hàng đầu.
Dù CVE này liên quan tới một hệ thống cụ thể, nhưng ý tưởng prompt hijacking là phổ biến. Để chống lại các cuộc tấn công tương tự, các nhà lãnh đạo cần thiết lập quy tắc mới cho hệ thống AI của mình.
Trước hết, đảm bảo mọi dịch vụ AI sử dụng quản lý phiên làm việc an toàn. Các nhóm phát triển phải chắc chắn rằng server tạo session ID bằng bộ sinh số ngẫu nhiên mạnh mẽ, không được dùng các định danh có thể đoán trước như địa chỉ bộ nhớ. Đây phải là yêu cầu bắt buộc trong bất kỳ danh mục kiểm tra bảo mật nào cho chương trình AI.
Thứ hai, tăng cường lớp phòng thủ phía người dùng. Các ứng dụng client nên từ chối mọi sự kiện không đúng ID hoặc loại dữ liệu mong đợi. Việc dùng ID sự kiện đơn giản, tăng dần dễ bị tấn công dạng “spray” và cần được thay bằng các định danh khó đoán, không trùng lặp.
Cuối cùng, áp dụng nguyên tắc zero-trust cho giao thức AI. Đội ngũ bảo mật phải kiểm tra toàn bộ hệ thống AI, từ mô hình cơ bản đến giao thức và tầng trung gian kết nối dữ liệu. Các kênh này cần tách biệt phiên làm việc chặt chẽ và có thời hạn hiệu lực, tương tự như quản lý phiên trên các ứng dụng web.
Cuộc tấn công prompt hijacking trên MCP là ví dụ điển hình cho thấy vấn đề quen thuộc trong ứng dụng web – chiếm đoạt phiên làm việc – đang xuất hiện theo cách mới và nguy hiểm trong AI. Bảo mật các công cụ AI mới này nghĩa là cần áp dụng những nguyên tắc bảo mật cơ bản nhưng vững chắc nhằm ngăn chặn tấn công ngay từ tầng giao thức.
Nguồn : https://www.artificialintelligence-news.com/