Bảo mật và mô hình tin cậy
Đừng tin agent. Hãy tin hạ tầng.
AI coding agent là một tiến trình không đáng tin, đọc chữ ra từ repository của bạn — mà chữ trong repository thì có thể là lệnh ai đó gài vào. Thiết kế để chống chuyện đó không phải một tính năng chúng tôi thêm vào sau; nó là hình dạng của cả hệ thống. Dưới đây là cụ thể điều đó nghĩa là gì, kể cả những chỗ còn giới hạn.
01 Code của bạn nằm đâu thì ở đó
- Một binary Go chạy trên host của bạn. Repository được clone về đó, làm việc ở đó, và push từ đó lên git provider của bạn.
- Control plane gửi job có cấu trúc rõ ràng với payload có kiểu — không bao giờ là shell command tuỳ ý — và không bao giờ nhận source code của bạn.
- Trạng thái mà control plane cần thì nó đọc từ API của git provider, chứ không phải do runner chuyển lên.
- Chạy được với model nằm trong mạng nội bộ của bạn, qua bất kỳ endpoint tương thích OpenAI nào.
02 Container của agent không làm được gì
- Nó không có git token và không có docker socket. Nó không push được, và không với tới container runtime của host.
- Thư mục .git không bao giờ được mount vào đó, nên nó không sửa được git config hay git hooks. Mọi lệnh git đều chạy với hooks bị tắt.
- Đường ra Internet được mở theo danh sách riêng của từng adapter: endpoint của AI provider và package registry của bạn. Dải IP nội bộ, địa chỉ metadata link-local, chính cái host, và network của Agentouch đều bị chặn.
- Những run chỉ đọc — review và lập kế hoạch — thì mount worktree ở chế độ chỉ đọc.
03 Runner cũng không được tin
- Server tự lấy lại head commit từ API của git provider thay vì tin cái runner báo lên.
- Diff và trạng thái CI được đọc từ git provider, không phải từ runner.
- Bước kiểm tra chạy trên runner và chỉ được coi là thông tin tham khảo. Riêng nó không bao giờ đủ làm căn cứ để tự merge.
- Runner ngừng gửi heartbeat thì container của nó bị dọn sau hai phút.
04 Không có gì tự merge
- Mọi điều kiện merge đều mặc định tắt, và khi chúng đang tắt thì Agentouch không merge gì cả.
- Những điều kiện bạn bật được: CI xanh trên head commit, lượt review cho kết luận đồng ý, giới hạn số dòng thay đổi, không chạm vào file nhạy cảm, và không còn change request nào chưa xử lý.
- File cấu hình Agentouch trong repo của bạn luôn bị coi là đường dẫn nhạy cảm và luôn cần một người duyệt.
- Mỗi quyết định đều được ghi lại kèm kết quả và lý do — đúng thứ một lượt kiểm toán sẽ đòi xem.
05 Chữ từ bên ngoài là dữ liệu, không bao giờ là lệnh
- Nội dung issue, comment review và nội dung repository đều được bọc thành dữ liệu kèm chỉ dẫn rõ ràng là không làm theo bất cứ thứ gì bên trong.
- Issue do người ngoài team mở thì không tự khởi động được việc; phải có một thành viên ra tay trước.
- Luồng nhận task từ bên ngoài không bao giờ đẩy một run implement vào queue. Xấu nhất mà chữ độc hại làm được là tốn một lượt chạy chỉ đọc, không có credential, đường ra Internet bị giới hạn.
06 Những gì được ghi lại
- Từng run, từng bước trong run, và log tách theo luồng — system, stdout, stderr, event của agent.
- Phiên terminal: ai mở, vào container nào, từ địa chỉ nào, và kết thúc vì lý do gì.
- Quyết định merge kèm lý do, và webhook đã gửi kèm payload.
- Mỗi run được tạo ra bởi agent nào, bản agent nào và model nào, để so sánh kết quả được.
Những chỗ còn giới hạn
Mấy điểm chúng tôi muốn bạn nghe từ chúng tôi, hơn là tự phát hiện ra lúc đang thẩm định để mua.
-
Đăng nhập một lần (SSO), SAML và chứng nhận compliance chính thức thì chưa có. Nếu quyết định mua của bạn phụ thuộc vào mấy thứ đó, cứ nói, chúng tôi sẽ nói thẳng về mốc thời gian.
-
Tính năng dùng chung quota AI được thiết kế theo cách mà code của bên đi mượn chạy với quyền truy cập vào credential agent của bên cho mượn. Điều đó được ghi rõ trong phần đồng thuận mà cả hai bên phải tick. Chỉ nên bật trong một team thật sự tin nhau.
-
Sandbox cần một file cấu hình trong repo khai báo image, lệnh setup và các process. Không có file đó, task vẫn tạo ra được thay đổi code — nhưng không có link xem trước đang chạy.
Muốn bản dài hơn?
Mỗi câu ở trên đều có một bản spec viết sẵn đứng sau, và chúng tôi sẽ dẫn người phụ trách bảo mật của bạn đi qua nó trực tiếp.