OWASP Top 10 cho ứng dụng LLM (2025): checklist bảo mật bắt buộc
Tóm tắt
OWASP Top 10 for LLM Applications 2025 là checklist bảo mật chuẩn cho ứng dụng dùng LLM. Ưu tiên giảm quyền cho agent, coi output là dữ liệu không tin cậy, không giấu bí mật trong system prompt và giới hạn tiêu thụ tài nguyên.
Đội bảo mật hỏi: "Tính năng chatbot mới đã đánh giá rủi ro chưa?". Nếu team bạn chưa có khung tham chiếu, OWASP Top 10 for LLM Applications là điểm khởi đầu chuẩn nhất. Đây là danh sách mười rủi ro phổ biến nhất của ứng dụng dùng LLM do cộng đồng OWASP (tổ chức đứng sau OWASP Top 10 cho web nổi tiếng) duy trì. Phiên bản hiện hành là 2025.
Mười rủi ro và biện pháp chính
| Mã | Rủi ro | Biện pháp cốt lõi |
|---|---|---|
| LLM01 | Prompt Injection: input (trực tiếp hoặc qua tài liệu, web) thay đổi hành vi model | Tách dữ liệu khỏi chỉ dẫn, giới hạn quyền, duyệt hành động nhạy cảm |
| LLM02 | Sensitive Information Disclosure: lộ dữ liệu cá nhân, bí mật | Lọc dữ liệu đầu vào/ra, phân quyền truy xuất theo người dùng |
| LLM03 | Supply Chain: model, thư viện, plugin bên thứ ba bị nhiễm | Kiểm tra nguồn gốc, ghim phiên bản, SBOM |
| LLM04 | Data and Model Poisoning: dữ liệu huấn luyện/fine-tune/embedding bị cài cắm | Kiểm soát nguồn dữ liệu, kiểm thử hành vi sau huấn luyện |
| LLM05 | Improper Output Handling: dùng output không kiểm tra (XSS, SQL injection, chạy lệnh) | Coi output là input không tin cậy: escape, validate, tham số hoá |
| LLM06 | Excessive Agency: agent có quá nhiều quyền, tool, tự chủ | Tối thiểu tool và quyền, người duyệt hành động không đảo ngược |
| LLM07 | System Prompt Leakage: lộ system prompt chứa logic, thông tin nhạy cảm | Không đặt bí mật trong prompt; kiểm soát quyền ở tầng hệ thống |
| LLM08 | Vector and Embedding Weaknesses: lỗ hổng trong RAG, vector DB | Phân quyền theo tài liệu, kiểm tra dữ liệu đưa vào kho |
| LLM09 | Misinformation: output sai nhưng thuyết phục | Trích dẫn nguồn, kiểm chứng, UX thể hiện độ không chắc chắn |
| LLM10 | Unbounded Consumption: tiêu tốn tài nguyên không giới hạn (chi phí, DoS) | Rate limit, giới hạn token, ngân sách và cảnh báo chi phí |
Ba rủi ro đáng ưu tiên với agent
- LLM01 + LLM06 là cặp nguy hiểm nhất: injection chỉ gây hại lớn khi agent có quyền làm điều có hại. Giảm quyền là cách phòng thủ chắc nhất, vì chưa có cách chặn injection tuyệt đối.
- LLM05: lỗi web cổ điển quay lại, như render output LLM thẳng ra HTML hay ghép vào câu SQL.
- LLM10: agent lặp vô hạn hoặc người dùng lạm dụng có thể đẩy hoá đơn API lên rất nhanh.
Rủi ro và lưu ý
- Top 10 không phải toàn bộ: đây là danh sách phổ biến nhất, không thay thế threat modeling cho hệ thống cụ thể.
- System prompt không phải nơi giữ bí mật: hãy giả định nó sẽ bị lộ.
- Bảo mật web truyền thống vẫn áp dụng: xác thực, phân quyền, log, quản lý secret không thay đổi chỉ vì có LLM.
Áp dụng thế nào?
- Dev: Escape và validate mọi output LLM trước khi render hay thực thi; không bao giờ ghép output vào SQL hay lệnh shell.
- Tech Lead: Dùng 10 mục làm checklist trong design review cho mọi tính năng có LLM; ghi rõ biện pháp cho từng mục hoặc lý do không áp dụng.
- PM/Security: Đặt ngân sách chi phí và rate limit theo người dùng ngay từ bản đầu, đừng đợi hoá đơn bất thường.
Nguồn & tham khảo
- OWASP Top 10 for LLM Applications 2025 — OWASP GenAI Security Project