Welcome to this week’s Tech Radar. In our previous issue, we discussed Cloud-Native AI Architecture. Khi chúng ta đã có hạ tầng mạnh mẽ (Envoy, K8s Inference), vấn đề tiếp theo lập tức xuất hiện: Làm sao để kiểm soát bầy AI (AI Swarm) này? Đừng “thả rông” AI Agents trong production. Hôm nay, chúng ta đào sâu vào Zero-Trust Security cho Multi-Agent Swarms.

1. Tech News Radar: Lỗ hổng Agentic và sự trỗi dậy của Non-Human Identity

Answer-first: Sự bùng nổ của AI Agents kéo theo rủi ro bảo mật nghiêm trọng (OWASP ASI02). Các API keys tĩnh không còn phù hợp; hệ thống đòi hỏi “Định danh cho Máy” (Non-Human Identity - NHI) qua công nghệ như SPIFFE để kiểm soát từng Agent độc lập.

Gần đây, cộng đồng bảo mật đã liên tục cảnh báo về việc các hệ thống Agent bị khai thác thông qua Prompt Injection dẫn đến RCE hoặc gọi nhầm Tool độc hại. Khi một LLM Agent được tự chủ, mTLS truyền thống giữa các microservices là không đủ. mTLS xác nhận Service A được phép gọi Service B, nhưng nó không biết AI Agent bên trong Service A đang định làm gì.

Khái niệm “Identity cho Máy” (Non-Human Identity) đang trở thành từ khóa cốt lõi của Platform Engineering 2026.

2. Vấn đề: OWASP ASI02 (Tool Misuse)

Answer-first: OWASP ASI02 (Tool Misuse) là rủi ro thực thi (execution-layer) lớn nhất của Agentic AI. Khi Agent bị đánh lừa (goal hijack), nó tận dụng quyền hợp lệ để gọi API phá hoại.

Nếu Agent được cấp quyền truy cập vào công cụ delete_user cho mục đích chính đáng, một cuộc tấn công “indirect prompt injection” từ email có thể lừa Agent thực thi công cụ này lên các mục tiêu sai lệch. Đây là hậu quả trực tiếp của Excessive Agency (LLM06 trong OWASP 2025). Việc cấp quyền chung chung cho một “AI Service” là hành động cực kỳ rủi ro.

3. Giải pháp Phần 1: Định danh bằng SPIFFE/SPIRE

Answer-first: SPIFFE/SPIRE cung cấp danh tính ngắn hạn, mã hóa (SVIDs) trực tiếp cho các Agent pod trong Kubernetes. Giải pháp này loại bỏ hoàn toàn API keys tĩnh, tạo nền tảng cho Zero-Trust.

Thay vì dùng token tĩnh, khi một AI agent pod khởi động, SPIRE Agent (chạy dưới dạng DaemonSet) sẽ xác thực pod qua Kubernetes TokenReview API và cấp phát một X.509 certificate (SVID).

  • Tính độc lập: Mỗi agent có một spiffe:// ID riêng biệt. Ví dụ: spiffe://tanhdev.com/ns/ai/sa/database-agent vs spiffe://tanhdev.com/ns/ai/sa/support-agent.
  • Dapr Integration: Dapr v1.18 coi MCPServer là first-class resource. Dapr Sidecar tự động gánh phần mTLS và SPIFFE Identity cho AI Agents. Điều này giúp developer tập trung vào logic Agent thay vì quản lý chứng chỉ.

4. Giải pháp Phần 2: MCP Authorization qua AI Gateway

Answer-first: Model Context Protocol (MCP) không có sẵn RBAC (chỉ hỗ trợ OAuth 2.1). Việc chặn quyền phải thực hiện tại viền (Edge) bằng K8s AI Gateway để loại bỏ Tool ngay từ vòng “tool-discovery”.

Kể cả khi Agent có danh tính hợp lệ, nó được phép chạy những Tools nào?

  • Gateway-Based Enforcement: Envoy AI Gateway hoặc Agentgateway đóng vai trò Policy Enforcement Point (PEP).
  • Tool Filtering: Gateway sử dụng K8s CRDs hoặc MCPRoute API để “cắt bỏ” (strip) các tools trái phép khỏi response discovery. Nếu LLM model không nhìn thấy tool, nó không thể gọi (hallucinate) nhầm.
  • Cuộc chiến Gateways: Envoy tập trung vào hiệu năng native K8s; Kong dùng plugin dịch REST thành MCP; WSO2 đánh mạnh vào Enterprise Catalog (“MCP Hub”).

5. Giải pháp Phần 3: Parameter Validation với CEL và OPA

Answer-first: Chặn tên Tool là chưa đủ, Platform Teams phải chặn nội dung tham số truyền vào Tool bằng Common Expression Language (CEL) hoặc Open Policy Agent (OPA).

Ví dụ, Database Agent được gọi DB Tool nhưng chỉ được truyền chuỗi bắt đầu bằng SELECT. Envoy sử dụng CEL policies inline cực nhanh để chặn các hành vi leo thang đặc quyền này. OPA cung cấp độ linh hoạt cao hơn nhưng đối mặt thách thức khi LLM sinh ra JSON schema biến đổi liên tục.

Kết luận & Tác động

Answer-first: Kiến trúc Zero-Trust kết hợp SPIFFE, MCP Gateway và Dapr cho phép mở rộng AI Swarms lên hàng nghìn Agents mà Platform Team không bị rủi ro bảo mật.

Việc mang MCP lên Kubernetes, quản lý qua Gateway API và bảo mật bằng Non-Human Identity là đẳng cấp của Platform Engineering thực thụ trong năm 2026. Đừng thả rông Agent của bạn!

FAQ

1. Tại sao không dùng API Keys thay vì SPIFFE?

API Keys là bí mật tĩnh, dễ bị rò rỉ, khó thu hồi tự động. Hơn nữa, chúng không chứng minh được danh tính động của các ephemereal Agent pods trong Kubernetes.

2. MCP có tự phân quyền RBAC không?

Không. MCP tập trung vào giao thức kết nối và OAuth 2.1 authentication. Bạn bắt buộc phải dùng thêm lớp Gateway (như Envoy) để làm Authorization/RBAC.


Tiếp nối chuỗi bài Agentic System ArchitectureMCP Engineering. Đăng ký theo dõi để không bỏ lỡ các phân tích chuyên sâu hàng tuần.