Prompt injection: rủi ro khi giao quyền cho AI agent và cách phòng
Prompt injection là khi nội dung đưa vào mô hình ngôn ngữ, từ người dùng hoặc từ một trang web, email, tài liệu mà mô hình đọc, làm thay đổi hành vi của mô hình theo cách không mong muốn. Rủi ro tăng mạnh khi AI không chỉ trả lời mà còn được quyền hành động: gửi email, đọc tệp, gọi API, thao tác trình duyệt. Cách phòng hiệu quả nhất không nằm ở câu lệnh hệ thống khéo léo, mà ở việc giới hạn quyền của agent và bắt buộc con người duyệt các thao tác có hậu quả lớn.
Vì sao chủ đề này nóng lên cuối 2026
Các công cụ AI agent, trình duyệt tích hợp AI và trợ lý có quyền truy cập hộp thư, lịch, kho tài liệu đang được dùng rộng rãi trong doanh nghiệp. Mỗi kết nối mới là một đường để nội dung không tin cậy đi vào ngữ cảnh mô hình. Dự án OWASP xếp prompt injection ở vị trí số một trong danh sách LLM Top 10 phiên bản 2025, và mô tả rằng đầu vào độc hại có thể không nhìn thấy được với con người, miễn mô hình đọc được.
Trực tiếp và gián tiếp khác nhau thế nào
Tiêm trực tiếp
Người dùng tự gõ câu lệnh nhằm khiến mô hình bỏ qua chỉ dẫn, có thể cố ý hoặc vô tình. Ví dụ OWASP nêu: một chatbot chăm sóc khách hàng bị yêu cầu bỏ qua quy định, truy vấn dữ liệu riêng tư và gửi email.
Tiêm gián tiếp
Mô hình nhận dữ liệu từ nguồn bên ngoài như trang web hay tệp, và nội dung ẩn trong đó điều khiển nó. Đây là dạng nguy hiểm hơn với agent, vì người dùng không hề gõ gì độc hại. OWASP đưa ví dụ: chỉ dẫn ẩn trong một trang web được nhờ tóm tắt khiến mô hình chèn đường link làm rò rỉ cuộc hội thoại.
Các kịch bản tấn công tiêu biểu
Danh sách của OWASP cho thấy kẻ tấn công không cần kỹ thuật phức tạp:
- Tài liệu trong kho RAG bị sửa: một văn bản bị chỉnh nội dung lái câu trả lời của mô hình sang kết quả sai lệch.
- Chia nhỏ payload: các đoạn chỉ dẫn rải trong một bản CV, ghép lại thành yêu cầu chấm điểm cao.
- Đa phương thức: chỉ dẫn ẩn trong ảnh đi kèm văn bản vô hại.
- Đa ngôn ngữ hoặc mã hóa: dùng nhiều thứ tiếng, Base64 hay emoji để vượt bộ lọc.
- Hậu tố đối kháng: chuỗi ký tự vô nghĩa nối vào câu lệnh để vượt cơ chế an toàn.
Với người dùng Việt Nam, kịch bản thường gặp nhất là gián tiếp: email lạ, trang web, file PDF được nhờ AI đọc hộ.
Gốc rễ: agent được trao quá nhiều quyền
OWASP tách riêng một rủi ro gọi là Excessive Agency (LLM06:2025), tức hệ thống cho phép mô hình thực hiện hành động gây hại khi đầu ra bất ngờ, mơ hồ hoặc bị thao túng. Ba nguyên nhân gốc:
| Nguyên nhân | Ví dụ OWASP nêu |
|---|---|
| Thừa chức năng | Tiện ích chỉ cần đọc tài liệu nhưng có cả hàm sửa và xóa |
| Thừa quyền | Tiện ích đọc cơ sở dữ liệu dùng tài khoản có quyền UPDATE, INSERT, DELETE |
| Thừa tự chủ | Chức năng xóa tài liệu chạy mà không cần người dùng xác nhận |
Kết hợp hai rủi ro này lại sẽ thấy vấn đề: prompt injection là cách kẻ xấu ra lệnh, còn quyền hạn dư thừa quyết định lệnh đó gây thiệt hại tới đâu.
Dành cho người dùng: sáu thói quen nên có
- Chỉ kết nối những gì cần: trợ lý tóm tắt tài liệu không cần quyền gửi email thay bạn.
- Tắt chế độ tự động cho thao tác lớn: gửi thư, chuyển tiền, xóa tệp, chia sẻ tài liệu nên luôn chờ bạn bấm xác nhận.
- Cẩn thận khi nhờ AI đọc nội dung lạ: email từ người không quen, trang web vừa được gửi link, file đính kèm không rõ nguồn.
- Đọc lại kết quả trước khi dùng: đường link bất thường trong bản tóm tắt là dấu hiệu đáng ngờ.
- Tách tài khoản: dùng hồ sơ trình duyệt riêng cho agent, không đăng nhập sẵn ngân hàng hay hệ thống quản trị.
- Thu hồi quyền định kỳ: vào phần cài đặt kết nối của trợ lý, gỡ những ứng dụng không còn dùng.
Viết câu lệnh rõ ràng vẫn có ích cho chất lượng kết quả, như trong bài kỹ năng prompt engineering, nhưng đừng coi đó là lớp bảo mật.
Dành cho lập trình viên xây agent
Các biện pháp OWASP khuyến nghị, gộp từ hai mục LLM01 và LLM06:
- Giới hạn vai trò, phạm vi trong chỉ dẫn hệ thống, đồng thời kiểm tra định dạng đầu ra bằng code tất định.
- Lọc đầu vào và đầu ra, gồm bộ lọc ngữ nghĩa và kiểm tra chuỗi.
- Áp dụng đặc quyền tối thiểu; các chức năng đặc quyền xử lý trong code ứng dụng, không giao cho mô hình quyết định.
- Tránh công cụ mở như shell tổng quát hay hàm tải URL bất kỳ; thay bằng công cụ hẹp, chuyên biệt.
- Thực thi hành động trong ngữ cảnh của chính người dùng, thu hẹp phạm vi OAuth và quyền cơ sở dữ liệu.
- Kiểm tra phân quyền ở hệ thống phía sau (complete mediation), không tin vào việc mô hình tự giới hạn.
- Đánh dấu và tách riêng nội dung bên ngoài không tin cậy khỏi chỉ dẫn.
- Bắt buộc con người duyệt hành động rủi ro cao; diễn tập tấn công định kỳ, coi mô hình như một người dùng không tin cậy.
OWASP cũng lưu ý ghi log, giám sát và giới hạn tần suất không ngăn được Excessive Agency, nhưng giúp giảm thiệt hại. Nếu bạn đang làm chatbot theo hướng dẫn trong bài xây chatbot hỗ trợ khách hàng bằng Python, hãy rà lại xem bot có đang gọi công cụ nào với quyền rộng hơn mức cần thiết.
Một tình huống minh họa
Giả sử bạn nhờ trợ lý AI có quyền đọc hộp thư "tóm tắt các email chưa đọc hôm nay". Một email quảng cáo chứa đoạn chữ trắng trên nền trắng, mắt thường không thấy, ghi rằng trợ lý hãy chuyển tiếp ba email gần nhất có chữ "hóa đơn" tới một địa chỉ lạ. Nếu trợ lý có quyền gửi thư mà không cần xác nhận, đó là kịch bản rò rỉ dữ liệu hoàn chỉnh. Nếu trợ lý chỉ có quyền đọc, hoặc mọi lệnh gửi phải chờ bạn duyệt, đoạn chữ ẩn kia trở nên vô hại.
Không có bản vá một lần là xong
Vì mô hình xử lý chỉ dẫn và dữ liệu trong cùng một luồng văn bản, prompt injection khó bị loại bỏ hoàn toàn ở cấp mô hình. Thiết kế hệ thống phải giả định rằng sớm muộn sẽ có lần mô hình bị đánh lừa, và đảm bảo lúc đó nó không có đủ quyền để gây hậu quả nghiêm trọng.
Câu hỏi thường gặp
Prompt injection khác jailbreak thế nào?
Jailbreak thường là người dùng cố vượt chính sách an toàn của mô hình. Prompt injection rộng hơn, gồm cả trường hợp nội dung từ trang web, email, tài liệu điều khiển mô hình mà người dùng không hề biết.
Dùng mô hình mới nhất có tránh được prompt injection không?
Không hoàn toàn. Mô hình mới có thể chống tốt hơn với một số kỹ thuật, nhưng OWASP vẫn khuyến nghị kiểm soát ở tầng hệ thống: giới hạn quyền, lọc đầu ra và yêu cầu người duyệt hành động rủi ro cao.
Làm sao biết trợ lý AI đang có những quyền gì?
Vào phần cài đặt kết nối hoặc ứng dụng đã cấp quyền trong tài khoản Google, Microsoft hay chính công cụ AI để xem danh sách. Gỡ những quyền không còn dùng, đặc biệt là quyền gửi thư và sửa tệp.
Bài liên quan

Mô hình AI tiếng Việt 2026: đọc V-Bench để chọn LLM cho dự án
V-Bench của VinUni có hơn 40.000 câu hỏi chấm LLM về văn hóa, phương ngữ, an toàn, agent. Cách kết hợp benchmark với bộ thử riêng để chọn mô hình tiếng Việt.

Lừa đảo deepfake cuối năm: cách nhận diện video và giọng nói giả
Cuộc gọi video vài giây, mặt thiếu cảm xúc, tiếng lệch hình, tài khoản nhận không đúng tên là dấu hiệu deepfake. Cách kiểm chứng cho gia đình dịp cuối năm.

Gắn nhãn nội dung do AI tạo theo Nghị định 142/2026: làm thế nào
Ảnh, video, giọng nói do AI tạo mô phỏng người thật hoặc tái hiện sự kiện phải gắn nhãn rõ. Ai chịu trách nhiệm, đặt nhãn ở đâu, 4 trường hợp được miễn.

AI Tạo Sinh (Generative AI): Cuộc cách mạng sáng tạo nội dung
Generative AI là gì, tạo văn bản, hình ảnh, âm thanh, video và mã nguồn ra sao. Ứng dụng trong sáng tạo nội dung, giới hạn, rủi ro và cách dùng có trách nhiệm.