LLM01:2025 — Prompt injection
Nguồn: https://genai.owasp.org/llmrisk/llm01-prompt-injection/ Tiêu đề gốc: LLM01:2025 Prompt Injection - OWASP Gen AI Security Project Ngôn ngữ gốc: tiếng Anh · Ngày tải: 2026-09-05 Phạm vi dịch: toàn văn trang kèm 11 hình của bản gốc, gồm cả khối thẻ "LLM Top 10" ở cuối trang; bỏ menu điều hướng và cụm nút chia sẻ
Tóm tắt 30 giây
- Prompt injection (nội dung ra lệnh cho AI) xảy ra khi đầu vào làm đổi hành vi hoặc kết quả LLM ngoài ý muốn.
- Đầu vào không cần mắt người đọc được, chỉ cần model hiểu. Vì vậy, chữ ẩn trong trang web, file hoặc ảnh cũng có thể tấn công.
- Có hai dạng: trực tiếp (người dùng tự nhập) và gián tiếp (model đọc phải nội dung từ web, file, kho tài liệu RAG).
- Vì AI tạo sinh có tính ngẫu nhiên, chưa rõ có cách chặn tuyệt đối hay không. Bảy nhóm biện pháp có thể giảm tác động, gồm quyền tối thiểu và bắt buộc người duyệt việc rủi ro cao.
- Trang liệt kê chín kịch bản tấn công mẫu. Các kịch bản trải từ chatbot chăm sóc khách hàng tới CV bị chẻ nhỏ prompt và ảnh giấu lệnh.
[Hình trong bản gốc: Banner xanh với dòng chữ "LLM01: 2025 Prompt Injection" và hình con ong của OWASP — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: banner nền xanh, chữ trắng "LLM01: 2025 — Prompt Injection", góc phải là hình con ong trong vòng tròn, biểu tượng của OWASP.
LLM01:2025 Prompt injection
Lỗ hổng prompt injection xảy ra khi prompt người dùng làm đổi hành vi hoặc kết quả LLM ngoài ý muốn. Những đầu vào này có thể tác động tới model ngay cả khi mắt người không nhận ra chúng. Vì vậy, prompt injection không cần hiển thị hoặc dễ đọc với con người. Chỉ cần model đọc và hiểu nội dung là đủ.
Lỗ hổng prompt injection nằm ở cách model xử lý prompt. Đầu vào có thể ép model chuyển dữ liệu prompt sai cách sang những phần khác của model. Model có thể vi phạm hướng dẫn của nó hoặc tạo nội dung gây hại. Hậu quả cũng có thể gồm truy cập trái phép hoặc tác động tới quyết định quan trọng. RAG (Retrieval Augmented Generation) và tinh chỉnh (fine-tuning) nhằm giúp kết quả LLM đúng trọng tâm, chính xác hơn.
Nhưng nghiên cứu cho thấy chúng không xử lý được trọn vẹn lỗ hổng prompt injection.
Prompt injection và jailbreak (bẻ khóa giới hạn) có liên quan trong an toàn LLM. Hai thuật ngữ thường bị dùng lẫn nhau. Prompt injection dùng đầu vào cụ thể để lái phản hồi và thay đổi hành vi model. Nó bao gồm cả việc vượt biện pháp an toàn.
Jailbreak là dạng prompt injection khiến model bỏ qua hoàn toàn quy tắc an toàn qua đầu vào của kẻ tấn công. Người phát triển có thể dựng phòng vệ trong hướng dẫn nền (system prompt) và bước xử lý đầu vào. Mục đích là giảm tấn công prompt injection. Nhưng muốn chặn jailbreak cho hiệu quả thì phải liên tục cập nhật khâu huấn luyện và các cơ chế an toàn của chính model.
Các dạng lỗ hổng prompt injection
Prompt injection trực tiếp
Prompt injection trực tiếp xảy ra khi prompt người dùng trực tiếp làm đổi hành vi model ngoài ý muốn hoặc theo cách bất ngờ. Đầu vào có thể được kẻ xấu cố ý soạn để khai thác model. Nó cũng có thể vô tình kích hoạt hành vi bất ngờ mà người nhập không biết.
Prompt injection gián tiếp
Prompt injection gián tiếp xảy ra khi LLM nhận đầu vào từ nguồn bên ngoài, ví dụ trang web hoặc file. Nội dung bên ngoài có thể chứa dữ liệu làm model đổi hành vi khi diễn giải. Thay đổi có thể ngoài ý muốn hoặc bất ngờ. Giống dạng trực tiếp, dạng gián tiếp cũng có thể là cố ý hoặc vô tình.
Mức độ nghiêm trọng và bản chất tác động của một đợt tấn công prompt injection thành công thay đổi rất nhiều. Nó chủ yếu phụ thuộc bối cảnh nghiệp vụ và mức quyền tự quyết mà kiến trúc hệ thống trao cho model. Nhìn chung, prompt injection có thể dẫn tới những kết cục ngoài ý muốn, gồm nhưng không giới hạn ở:
- Lộ thông tin nhạy cảm
- Lộ thông tin nhạy cảm về hạ tầng hệ thống AI hoặc về hướng dẫn nền
- Nội dung bị lái đi, dẫn tới kết quả sai hoặc thiên lệch (bias)
- Mở quyền truy cập trái phép vào các chức năng mà LLM có trong tay
- Chạy lệnh tùy ý trên những hệ thống được nối vào
- Lái các quy trình ra quyết định quan trọng
AI đa phương thức (multimodal) xử lý nhiều loại dữ liệu cùng lúc. Sự phát triển của nó mang tới rủi ro prompt injection riêng. Kẻ xấu có thể khai thác tương tác giữa các phương thức. Ví dụ: giấu lệnh trong ảnh đi kèm văn bản trông vô hại. Độ phức tạp của các hệ thống này làm bề mặt tấn công rộng ra.
Model đa phương thức cũng có thể gặp tấn công xuyên phương thức mới. Kỹ thuật hiện có khó phát hiện và xử lý chúng. Xây dựng lớp phòng vệ vững chắc riêng cho đa phương thức là một hướng quan trọng cần nghiên cứu và phát triển thêm.
Các cách phòng ngừa và giảm thiểu
Lỗ hổng prompt injection tồn tại được là do chính bản chất của AI tạo sinh. Tính ngẫu nhiên nằm ngay trong cách model hoạt động. Vì vậy, chưa rõ có phương pháp phòng ngừa prompt injection an toàn tuyệt đối hay không. Tuy vậy, những biện pháp sau giảm được tác động của prompt injection.
1. Bó hẹp hành vi của model
Ghi rõ trong hướng dẫn nền vai trò, năng lực và giới hạn của model. Yêu cầu model bám ngữ cảnh và chỉ trả lời trong nhiệm vụ hoặc chủ đề đã định. Dặn model bỏ qua mọi ý định sửa chỉ dẫn cốt lõi.
2. Định nghĩa và kiểm tra định dạng kết quả mong đợi
Nêu rõ định dạng đầu ra, yêu cầu model giải thích lập luận chi tiết và dẫn nguồn. Sau đó, dùng code tất định để kiểm tra kết quả đúng định dạng hay không.
3. Lọc đầu vào và đầu ra
Xác định các nhóm nội dung nhạy cảm và đặt quy tắc nhận diện, xử lý những nội dung đó. Áp bộ lọc theo ngữ nghĩa và dùng phép so chuỗi để quét nội dung không được phép. Đánh giá phản hồi bằng RAG Triad: mức liên quan của ngữ cảnh, mức bám nguồn và mức khớp câu hỏi–câu trả lời. Mục đích là phát hiện kết quả có thể độc hại.
4. Siết quyền và cấp quyền tối thiểu
Cấp bộ API token riêng cho ứng dụng để mở rộng chức năng. Xử lý các chức năng bằng code thay vì trao trực tiếp cho model. Giới hạn quyền truy cập của model ở mức tối thiểu vừa đủ cho phần việc nó cần làm.
5. Bắt buộc người duyệt với hành động rủi ro cao
Cài cơ chế có người duyệt (human-in-the-loop) cho các thao tác cần quyền cao, để chặn hành động trái phép.
6. Tách riêng và đánh dấu nội dung bên ngoài
Tách và ghi rõ nội dung không đáng tin. Cách này hạn chế ảnh hưởng của nội dung đó lên prompt người dùng.
7. Kiểm thử đối kháng và diễn tập tấn công
Định kỳ kiểm thử xâm nhập và diễn tập tình huống bị xâm phạm, coi model như người dùng không đáng tin. Qua đó, kiểm tra hiệu quả thực tế của ranh giới tin cậy và kiểm soát truy cập.
Các kịch bản tấn công mẫu
Kịch bản 1: Injection trực tiếp
Kẻ tấn công chèn prompt vào chatbot chăm sóc khách hàng, yêu cầu bỏ qua hướng dẫn trước. Nó ra lệnh truy vấn kho dữ liệu riêng tư và gửi email. Kết quả là truy cập trái phép và leo thang quyền.
Kịch bản 2: Injection gián tiếp
Người dùng nhờ LLM tóm tắt một trang web có chứa lệnh ẩn. Lệnh ẩn khiến LLM chèn ảnh trỏ tới URL vào câu trả lời. Cuộc trò chuyện riêng tư bị đưa ra ngoài theo đường này.
Kịch bản 3: Injection vô tình
Một công ty đưa vào bản mô tả công việc một chỉ dẫn dùng để phát hiện hồ sơ do AI viết. Ứng viên không biết chỉ dẫn này và dùng LLM để tối ưu CV. Họ vô tình kích hoạt cơ chế phát hiện AI đó.
Kịch bản 4: Cố ý tác động vào model
Kẻ tấn công sửa một tài liệu trong kho mà ứng dụng RAG đang dùng. Khi truy vấn người dùng trả về nội dung đã bị sửa, chỉ dẫn độc hại làm lệch kết quả LLM. Model sinh câu trả lời sai lạc.
Kịch bản 5: Injection qua code
Kẻ tấn công khai thác CVE-2024-5184 trong trợ lý email dùng LLM để chèn prompt độc hại. Qua đó, chúng truy cập thông tin nhạy cảm và can thiệp nội dung email.
Kịch bản 6: Chẻ nhỏ payload
Kẻ tấn công nộp một CV có các prompt độc hại đã bị chẻ thành nhiều mảnh. Khi LLM đánh giá ứng viên, các mảnh prompt ghép lại và lái phản hồi. Model đưa lời đề xuất tích cực dù CV thực tế không như vậy.
Kịch bản 7: Injection đa phương thức
Kẻ tấn công nhúng một prompt độc hại vào trong ảnh đi kèm một đoạn văn bản vô hại. Khi AI đa phương thức xử lý ảnh và văn bản cùng lúc, prompt ẩn làm đổi hành vi model. Điều này có thể gây hành động trái phép hoặc lộ thông tin nhạy cảm.
Kịch bản 8: Hậu tố đối kháng
Kẻ tấn công gắn thêm vào prompt một chuỗi ký tự trông như vô nghĩa. Chuỗi đó lái kết quả của LLM theo hướng độc hại và vượt qua các biện pháp an toàn.
Kịch bản 9: Tấn công đa ngôn ngữ hoặc mã hóa che giấu
Kẻ tấn công dùng nhiều ngôn ngữ hoặc mã hóa chỉ dẫn độc hại, như Base64 hay emoji. Chúng nhằm né bộ lọc và lái hành vi LLM.
Link tham khảo
- ChatGPT Plugin Vulnerabilities – Chat with Code — Embrace the Red
- ChatGPT Cross Plugin Request Forgery and Prompt Injection — Embrace the Red
- Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection — Arxiv
- Defending ChatGPT against Jailbreak Attack via Self-Reminder — Research Square
- Prompt Injection attack against LLM-integrated Applications — Cornell University
- Inject My PDF: Prompt Injection for your Resume — Kai Greshake
- Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection — Cornell University
- Threat Modeling LLM Applications — AI Village
- Reducing The Impact of Prompt Injection Attacks Through Design — Kudelski Security
- Adversarial Machine Learning: A Taxonomy and Terminology of Attacks and Mitigations (nist.gov)
- 2407.07403 A Survey of Attacks on Large Vision-Language Models: Resources, Advances, and Future Trends (arxiv.org)
- Exploiting Programmatic Behavior of LLMs: Dual-Use Through Standard Security Attacks
- Universal and Transferable Adversarial Attacks on Aligned Language Models (arxiv.org)
- From ChatGPT to ThreatGPT: Impact of Generative AI in Cybersecurity and Privacy (arxiv.org)
Khung tham chiếu và bảng phân loại liên quan
Xem mục này để biết cách triển khai hạ tầng, kiểm soát môi trường vận hành và áp dụng thực hành tốt. Mục này cũng có các kịch bản liên quan.
- AML.T0051.000 – LLM Prompt Injection: Direct — MITRE ATLAS
- AML.T0051.001 – LLM Prompt Injection: Indirect — MITRE ATLAS
- AML.T0054 – LLM Jailbreak Injection: Direct — MITRE ATLAS
LLM Top 10
Cuối trang gốc là dải thẻ dẫn sang đủ mười mục rủi ro trong danh sách OWASP Top 10 cho ứng dụng LLM. Mỗi thẻ có một ảnh slide và một đoạn giới thiệu ngắn bị cắt giữa chừng.
[Hình trong bản gốc: Slide tiêu đề mục LLM01:2025 Prompt Injection — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục prompt injection, thẻ dẫn sang chính trang này.
LLM01:2025 Prompt Injection — Lỗ hổng prompt injection xảy ra khi prompt người dùng làm đổi hành vi hoặc kết quả LLM ngoài ý muốn. Những đầu vào này…
[Hình trong bản gốc: Slide tiêu đề mục LLM02:2025 Sensitive Information Disclosure — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục lộ thông tin nhạy cảm.
LLM02:2025 Sensitive Information Disclosure — Thông tin nhạy cảm có thể ảnh hưởng tới LLM và bối cảnh ứng dụng. Loại thông tin này gồm thông tin định danh cá nhân (PII), chi tiết tài chính,…
[Hình trong bản gốc: Slide tiêu đề mục LLM03:2025 Supply Chain — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục chuỗi cung ứng.
LLM03:2025 Supply Chain — Chuỗi cung ứng của LLM dễ dính nhiều loại lỗ hổng. Các lỗ hổng này có thể ảnh hưởng tới tính toàn vẹn của dữ liệu huấn luyện, model và khâu triển khai…
[Hình trong bản gốc: Slide tiêu đề mục LLM04:2025 Data and Model Poisoning — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục đầu độc dữ liệu và model.
LLM04:2025 Data and Model Poisoning — Đầu độc dữ liệu xảy ra khi dữ liệu huấn luyện nền (pre-training), dữ liệu tinh chỉnh hoặc dữ liệu embedding bị can thiệp. Mục đích là cài vào lỗ hổng, cửa hậu hoặc thiên lệch. Việc can thiệp này…
[Hình trong bản gốc: Slide tiêu đề mục LLM05:2025 Improper Output Handling — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục xử lý đầu ra không đúng cách.
LLM05:2025 Improper Output Handling — Xử lý đầu ra không đúng cách nói về việc kiểm tra, làm sạch và xử lý chưa đủ. Đối tượng là kết quả do mô hình ngôn ngữ lớn sinh ra…
[Hình trong bản gốc: Slide tiêu đề mục LLM06:2025 Excessive Agency — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục trao quá nhiều quyền tự quyết.
LLM06:2025 Excessive Agency — Hệ thống dựa trên LLM thường được người phát triển trao cho một mức quyền tự quyết nhất định — khả năng gọi hàm…
[Hình trong bản gốc: Slide tiêu đề mục LLM07:2025 System Prompt Leakage — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục rò rỉ hướng dẫn nền.
LLM07:2025 System Prompt Leakage — Lỗ hổng rò rỉ hướng dẫn nền trong LLM là rủi ro hướng dẫn nền hoặc các chỉ dẫn dùng để…
[Hình trong bản gốc: Slide tiêu đề mục LLM08:2025 Vector and Embedding Weaknesses — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục điểm yếu của vector và embedding.
LLM08:2025 Vector and Embedding Weaknesses — Lỗ hổng của vector và embedding gây rủi ro an ninh đáng kể. Rủi ro này xuất hiện trong hệ thống dùng RAG cùng với mô hình ngôn ngữ lớn…
[Hình trong bản gốc: Slide tiêu đề mục LLM09:2025 Misinformation — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục thông tin sai lệch.
LLM09:2025 Misinformation — Thông tin sai lệch do LLM tạo ra là lỗ hổng cốt lõi với những ứng dụng dựa vào các model này. Thông tin sai lệch xuất hiện khi LLM sinh ra nội dung sai…
[Hình trong bản gốc: Slide tiêu đề mục LLM10:2025 Unbounded Consumption — xem tại https://genai.owasp.org/llmrisk/llm01-prompt-injection/]
Hình: slide tiêu đề của mục tiêu thụ tài nguyên không giới hạn.
LLM10:2025 Unbounded Consumption — Tiêu thụ tài nguyên không giới hạn là một quá trình. Mô hình ngôn ngữ lớn sinh kết quả dựa trên truy vấn đầu vào hoặc…