Google Developers Blog
92

Thủ thuật

Xây dựng AI Agent theo mô hình Zero Trust với Google ADK

(giờ Việt Nam)

Tóm tắt AI

Google giới thiệu bộ công cụ ADK giúp phát triển AI Agent an toàn, sử dụng cơ chế bảo mật ba lớp để ngăn chặn tấn công tiêm nhiễm câu lệnh (prompt injection) và đảm bảo tính toàn vẹn của dữ liệu.

Bản dịch AI

Build zero-trust AI agents with Google's Agent Development Kit

17 THÁNG 8, 2026

Eric Dong, Kỹ sư Quan hệ Nhà phát triển

Các framework như Agent Development Kit (ADK) giúp việc xây dựng các quy trình làm việc tự động, đa công cụ trở nên vô cùng đơn giản chỉ với vài dòng cấu hình. Tuy nhiên, ngay khi bạn kết nối các phiên làm việc này với cơ sở dữ liệu thực tế, các API nội bộ và môi trường runtime động, bạn đã vượt ra khỏi phạm vi phát triển ứng dụng tiêu chuẩn. Khi một AI agent có thể thực hiện hoàn tiền, sửa đổi cơ sở dữ liệu và thực thi mã ngay lập tức, nó không còn chỉ là tạo văn bản nữa mà đang thay đổi trạng thái hệ thống thực tế (production state). Vì một LLM tự xác định lộ trình thực thi của riêng mình bằng ngôn ngữ tự nhiên phi cấu trúc, các biện pháp bảo mật vành đai truyền thống sẽ không thể kiểm soát được cách agent vận hành từ bên trong.

Tình huống: Một agent hỗ trợ & hoàn tiền tự động

Để kiểm thử các mô hình phòng thủ trước những cuộc tấn công thực tế, chúng tôi đã xây dựng và mã nguồn mở một Customer Support & Returns Agent (Agent Hỗ trợ Khách hàng & Đổi trả) tự động sử dụng ADK và Gemini. Bạn có thể tìm thấy toàn bộ mã nguồn và bản demo có thể chạy được trong kho lưu trữ mã nguồn mở zero-trust-agents.

zero-trust-agents_app

Hãy xem xét một mô hình phổ biến: một agent hỗ trợ khách hàng tự động xử lý việc trả hàng. Trong vận hành tiêu chuẩn, agent đọc yêu cầu của khách hàng, tạo một tập lệnh Python để tính toán các khoản khấu trừ phí nhập kho theo tỷ lệ, ghi khoản hoàn tiền đã được phê duyệt vào sổ cái cơ sở dữ liệu và trả về biên lai xác nhận.

Bây giờ, hãy xem xét trường hợp một kẻ tấn công gửi câu lệnh (prompt) này.

Nếu agent chia sẻ một kết nối cơ sở dữ liệu chung và thực thi mã trong một môi trường không được cô lập, thì chỉ một câu lệnh đó có thể kích hoạt một khoản thanh toán trái phép, làm rò rỉ khóa API hoặc xâm phạm máy chủ lưu trữ.

Tại sao system prompt không phải là ranh giới bảo mật

Việc thêm "Không bao giờ hoàn tiền vượt quá tổng giá trị đơn hàng" vào system prompt không giải quyết được vấn đề. System prompt chỉ là các ràng buộc mềm. Chúng có thể bị vượt qua bởi kỹ thuật prompt injection, bị thay đổi trong quá trình tinh chỉnh prompt (prompt tuning) hoặc hoạt động không thể đoán trước sau các bản cập nhật mô hình.

Kiến trúc zero-trust giả định rằng bản thân mô hình có thể bị đánh lừa hoặc bị bẻ khóa (jailbreak), đồng thời thực thi các đảm bảo bảo mật cứng bên ngoài ngữ cảnh LLM thông qua ba lớp:

diagram-1

Mỗi lớp bao phủ những gì các lớp khác không làm được. Chữ ký đảm bảo danh tính và tính chống chối bỏ, sandbox cô lập việc thực thi runtime, và các cổng (gateway) thực thi logic nghiệp vụ cùng các quy tắc chống rò rỉ dữ liệu.

1. Ký mọi thao tác ghi: Danh tính mật mã và tính chống chối bỏ

Trong hầu hết các kiến trúc đa agent, mọi tiến trình worker đều kết nối với cơ sở dữ liệu bằng cùng một nhóm kết nối (connection pool) dùng chung. Nếu một agent bị lừa sửa đổi các bản ghi, hoặc nếu kẻ tấn công giành được quyền truy cập cơ sở dữ liệu, sẽ không có bằng chứng mật mã nào liên kết một hàng dữ liệu cụ thể với agent đã tạo ra nó.

Để thiết lập tính chống chối bỏ, mọi thao tác ghi thay đổi trạng thái phải được ký bởi chính agent thực hiện yêu cầu đó, và cơ sở dữ liệu phải xác minh chữ ký đó trước khi thực hiện giao dịch.

Ký dựa trên phần cứng với Cloud KMS

Khi vận hành thực tế trên Google Cloud, hãy tránh lưu trữ các khóa riêng tư (private key) trong môi trường container. Thay vào đó, hãy gán cho mỗi agent một Service Account riêng và cấp quyền ký trên một khóa bất đối xứng trong Cloud Key Management Service (KMS), được hỗ trợ bởi Cloud Hardware Security Module (HSM):

Shell

Đã sao chép

Khóa riêng tư được tạo bên trong HSM chống giả mạo và không bao giờ rời khỏi đó. Tại thời điểm runtime, agent ký payload hoàn tiền bằng thông tin xác thực Google Cloud tiêu chuẩn của nó thông qua Application Default Credentials (ADC):

Python

Đã sao chép

Xác minh đầu vào và kiểm toán ngoài băng tần (out-of-band)

Trong bản demo mã nguồn mở, chúng tôi mô phỏng Cloud KMS bằng khóa HMAC để bạn có thể chạy toàn bộ quy trình cục bộ mà không cần thiết lập cloud. Một bộ bảo vệ đầu vào cơ sở dữ liệu (database ingress guard) sẽ chặn thao tác ghi, tính toán lại mã băm (digest) và xác minh chữ ký trong thời gian hằng định trước khi ghi hàng dữ liệu:

Python

Đã sao chép

Vì mỗi hàng dữ liệu hợp lệ đều chứa một chữ ký bất biến trên payload của nó, một quá trình quét kiểm toán nền độc lập có thể liên tục xác minh tính toàn vẹn của sổ cái:

Python

Đã sao chép

Nếu một container độc hại hoặc một cuộc tấn công SQL injection thay đổi khoản hoàn tiền từ 149,00 USD thành 10.000,00 USD trực tiếp trong cơ sở dữ liệu, chữ ký sẽ không còn khớp với payload và quá trình quét kiểm toán sẽ ngay lập tức đưa ra cảnh báo.

2. Sandbox thực thi mã: Cô lập cấp nhân với gVisor

Khi một agent tạo mã Python ngay lập tức (để tính toán khấu hao, phân tích dữ liệu hoặc xử lý log), việc chạy exec hoặc các container Docker tiêu chuẩn là rất nguy hiểm. Các container tiêu chuẩn chia sẻ nhân Linux của máy chủ; một lỗ hổng nhân duy nhất hoặc một khả năng bị cấu hình sai sẽ cho phép kẻ tấn công giành quyền root trên máy chủ.

Kẻ tấn công cũng có thể chèn mã để kết nối ra bên ngoài nhằm đánh cắp các thông tin bí mật:

Python

Đã sao chép

Cô lập nhân trong không gian người dùng (user-space) với gVisor

diagram-3
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Google Developers Blog. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.