bảo mật AI Agent là chủ đề trọng tâm của bài viết này. Chatbot trả lời sai có thể gây hiểu nhầm. Agent có quyền gọi API và thay đổi hệ thống có thể tạo hậu quả lớn hơn. Khi autonomy tăng, Security không thể chỉ là một Prompt yêu cầu Model "hãy cẩn thận". Kiểm soát phải được thực thi ở nhiều lớp ngoài Model.
Bài viết trình bày Threat Model thực tế cho AI Agent, từ Prompt Injection đến Excessive Agency, dữ liệu nhạy cảm, quyền Tool và Supply Chain. Mục tiêu là thiết kế hệ thống sao cho một quyết định sai của Model không tự động trở thành sự cố.
Mục lục
- Threat Model của AI Agent
- Prompt Injection trực tiếp
- Indirect Prompt Injection
- Insecure Output Handling
- Excessive Agency
- Least Privilege
- Authentication và Authorization
- Tool Gateway
- Input và Output Guardrails
- Human Approval
- Secrets và Credentials
- Data Privacy
- Sandbox và Network Controls
- Audit Log
- Red Teaming
- Incident Response
- Checklist production
- Kết luận
- Tài liệu tham khảo
Threat Model của AI Agent
Threat Model xác định tài sản, tác nhân, Trust Boundary, Entry Point và tác động. Tài sản có thể là dữ liệu khách hàng, API Key, tiền, hợp đồng hoặc uy tín. Entry Point gồm User Prompt, tài liệu RAG, Tool Result, Website và Message từ Agent khác.
Không phải mọi lỗi đều là tấn công. Model có thể chọn sai Tool do Description mơ hồ. Kiến trúc an toàn phải xử lý cả hành vi độc hại và sai sót bình thường.

Prompt Injection trực tiếp
Direct Prompt Injection xảy ra khi người dùng yêu cầu Model bỏ qua Instructions, tiết lộ dữ liệu hoặc dùng Tool ngoài mục đích. Model có thể từ chối, nhưng Runtime không được phụ thuộc hoàn toàn vào khả năng từ chối.
Tool Catalog phải được lọc theo quyền. Arguments phải được validate. Data Layer phải áp dụng Access Control. Nếu người dùng không có quyền đọc lương, Agent không nên nhìn thấy Tool hoặc dữ liệu lương.
Indirect Prompt Injection
Indirect Prompt Injection nằm trong nội dung Agent đọc, chẳng hạn website, email hoặc tài liệu. Một trang có thể chứa câu lệnh yêu cầu Agent gửi dữ liệu đến URL khác. Nội dung này là Data, không phải Instructions.
Hệ thống cần đánh dấu provenance, tách vùng Instructions và untrusted content, giới hạn Tools khi xử lý nguồn ngoài, kiểm soát URL và yêu cầu Approval trước hành động truyền dữ liệu.
Insecure Output Handling
Output của Model không được thực thi trực tiếp. SQL, Shell Command, HTML, URL và Code đều phải xem là dữ liệu không tin cậy. Parameterized Query, escaping, schema validation và allowlist giúp ngăn Injection ở hệ thống hạ nguồn.
# Không an toàn
sql = "SELECT * FROM orders WHERE id = " + model_output
# Tốt hơn
cursor.execute(
"SELECT * FROM orders WHERE id = %s",
(validated_order_id,)
)
Excessive Agency
Excessive Agency xảy ra khi Agent có quá nhiều chức năng, quyền hoặc autonomy so với nhu cầu. Một Agent chỉ tổng hợp báo cáo không cần quyền xóa bảng, gửi email bên ngoài hoặc chuyển tiền.
Giảm rủi ro bằng cách thu hẹp Tool, giới hạn Scope, tách Read và Write, đặt Max Steps, Budget, Approval và Transaction Limit. Khả năng kỹ thuật không đồng nghĩa với quyền được sử dụng.

Least Privilege
Least Privilege cấp quyền tối thiểu trong thời gian tối thiểu. Mỗi Tool nên dùng Credential riêng với Scope hẹp. Agent không nên dùng một Service Account quản trị cho mọi nhiệm vụ.
Just-in-time Access có thể cấp Token ngắn hạn cho đúng Tool và Resource. Sau Task, Token hết hiệu lực. Delegation cần ghi lại User, Agent, Tool, Scope và thời gian.
Authentication và Authorization
Authentication xác minh danh tính. Authorization quyết định quyền. Identity phải đến từ Session hoặc Access Token đã xác thực, không từ câu "tôi là giám đốc" trong Prompt.
Authorization cần thực thi ở API và Data Layer. Row-level Security, Column Masking và Tenant Isolation ngăn dữ liệu ngoài phạm vi đi vào Context.
Tool Gateway
Tool Gateway là điểm kiểm soát tập trung cho schema validation, permission, rate limit, timeout, network policy và audit. Model gọi tên Tool logic, Gateway ánh xạ tới Service thật sau khi kiểm tra.
request
authenticated identity
tool allowlist
schema validation
business policy
approval check
execution
result redaction
audit event

Input và Output Guardrails
Input Guardrail có thể phát hiện dữ liệu nhạy cảm, nội dung độc hại và yêu cầu ngoài phạm vi. Output Guardrail kiểm tra schema, PII, Citation và Policy trước khi hiển thị hoặc chuyển sang hệ thống khác.
Guardrail dùng Rule, Classifier và Model nhưng không hoàn hảo. Quy tắc quan trọng phải được code hóa. Khi Guardrail không chắc chắn, hệ thống nên giảm quyền hoặc chuyển cho người.
Human Approval
Approval nên đặt ngay trước hành động có tác động, sau khi Agent đã chuẩn bị đủ thông tin. Người duyệt cần thấy Action, Target, Arguments, lý do, bằng chứng và hậu quả.
Approval không phải nút bấm hình thức. Giao diện phải giúp phát hiện sai. Không gộp mười hành động khác nhau vào một xác nhận mơ hồ. Quyền phê duyệt cũng phải được kiểm tra.
Secrets và Credentials
API Key không được đưa vào Prompt, Memory hoặc Log. Dùng Secret Manager, Rotation và Scope. Tool Executor truy xuất Secret tại thời điểm chạy, Model chỉ biết Tool Name.
Nếu Output hoặc Tool Result chứa Secret, hệ thống cần Redaction. Không yêu cầu Model tự xóa vì dữ liệu đã đi vào Context.
Data Privacy
Thu thập dữ liệu tối thiểu theo mục đích. Xác định dữ liệu nào được gửi tới Model Provider, khu vực lưu trữ, thời hạn lưu và ai có thể xem Trace. Memory cần Consent, Retention và Delete Workflow.
Logs nên lưu Metadata cần thiết thay vì toàn bộ Prompt. Với Debug Sample, cần masking và quyền truy cập riêng.
Sandbox và Network Controls
Agent chạy Code cần Sandbox giới hạn File System, Process, CPU, Memory và thời gian. Network Egress nên dùng Allowlist. Không cho Code do Model tạo truy cập Internet hoặc nội bộ tùy ý.
Sandbox không thay thế validation. Nó là lớp giảm tác động khi một bước kiểm soát khác thất bại.
Audit Log
Audit Event cần User Identity, Task ID, Agent Version, Tool, Arguments đã redaction, Policy Decision, Approval, Result và Timestamp. Log nên chống sửa đổi và có Retention phù hợp.
Trace phục vụ Debug, Audit phục vụ trách nhiệm và điều tra. Hai loại có thể liên kết nhưng mục tiêu và quyền truy cập khác nhau.
Red Teaming
Red Teaming kiểm tra cách hệ thống phản ứng với Prompt Injection, dữ liệu độc, Tool Arguments lạ, Unicode, URL nguy hiểm, yêu cầu vượt quyền và chuỗi hành động nhiều bước. Test phải chạy trong môi trường không gây tác động thật.
Mỗi lỗ hổng được chuyển thành Regression Case. Không chỉ sửa Prompt. Cần xác định lớp kiểm soát nào thiếu và thêm kiểm tra deterministic khi có thể.
Incident Response
Runbook cần cách vô hiệu hóa Tool, thu hồi Credential, dừng Agent Version, bảo toàn Log, xác định Task bị ảnh hưởng và thông báo đúng người. Kill Switch phải hoạt động ngoài Model.
Checklist production
- Có Threat Model và Asset Inventory.
- Identity không lấy từ Prompt.
- Tool Catalog lọc theo quyền.
- Read và Write được tách.
- Output Model không được thực thi trực tiếp.
- Write Tool có Approval và Idempotency.
- Secret không vào Context hoặc Log.
- RAG áp dụng Permission trước Retrieval.
- Network và Sandbox có giới hạn.
- Audit Log liên kết Task, User và Tool.
- Có Red Team Set và Incident Runbook.
Kết luận
Không thể làm Model hoàn toàn không sai, nhưng có thể thiết kế để sai lầm bị giới hạn, phát hiện và phục hồi. Security của Agent đến từ nhiều lớp: Identity, Permission, Tool Gateway, Validation, Guardrails, Approval, Sandbox, Audit và Monitoring.
Nguyên tắc thực dụng là Model đề xuất, hệ thống xác minh, con người phê duyệt hành động rủi ro. Khi autonomy tăng, bằng chứng, giới hạn và khả năng ngắt phải tăng tương ứng.
Tài liệu tham khảo
- OWASP Top 10 for LLM Applications.
- OWASP. Agentic AI threats and mitigations.
- NIST AI 600-1.
- MITRE ATLAS. Knowledge base về kỹ thuật tấn công hệ thống AI.
- NCSC. Guidelines for secure AI system development.
- NIST SP 800-207. Zero Trust Architecture.
TechData.AI - Leading The Future.
Hoàng Minh.

Comments are closed!