MCP kết nối các tác nhân AI với API, nhưng GraphQL kiểm soát những gì chúng nhìn thấy
Việc kết nối các tác nhân AI với hệ thống nội bộ qua MCP khá đơn giản, nhưng để bảo mật quyền truy cập dữ liệu ở cấp độ trường (field-level), cần có các hợp đồng xác định như GraphQL nhằm ngăn chặn rò rỉ thông tin.
Bài được dịch tự động từ bản gốc tiếng Anh.
Giao thức ngữ cảnh mô hình (Model Context Protocol - MCP) đã đơn giản hóa quá trình kết nối các tác nhân trí tuệ nhân tạo với các giao diện lập trình ứng dụng (API) nội bộ, song lại đặt ra một lỗ hổng bảo mật nghiêm trọng liên quan đến khả năng hiển thị dữ liệu. Khi các tổ chức vội vàng tích hợp quy trình làm việc dựa trên tác nhân vào hoạt động của mình, kỹ sư phải đối mặt với thách thức cấp bách là xác định chính xác những trường dữ liệu nào mà các công cụ tự chủ này được phép đọc hoặc chỉnh sửa. Nếu không có các biện pháp kiểm soát chặt chẽ, các tác nhân có nguy cơ lộ thông tin cá nhân hoặc tài chính nhạy cảm ẩn trong các phản hồi API rộng lớn.
Chuyện gì đã xảy ra
Việc tích hợp một tác nhân AI với một hệ thống nội bộ, chẳng hạn như nền tảng quản lý đơn hàng, giờ đây trở nên dễ dàng về mặt kỹ thuật nhờ sử dụng máy chủ MCP. Tuy nhiên, sự thuận tiện trong kết nối này tạo ra một tình thế tiến thoái lưỡng nan về bảo mật, vì các API tiêu chuẩn thường trả về tập dữ liệu mở rộng, bao gồm thông tin nhận dạng cá nhân, chi tiết gian lận và ghi chú vận hành vốn cần được hạn chế truy cập. Một kỹ sư xây dựng công cụ MCP chỉ đơn thuần chuyển tiếp toàn bộ dữ liệu từ nguồn gốc sẽ tạo ra một lỗ hổng nghiêm trọng, thực chất là trao cho tác nhân quyền truy cập không giới hạn vào toàn bộ lược đồ cơ sở dữ liệu.
Cách tiếp cận thay thế là lọc phản hồi trong từng công cụ riêng lẻ, nhưng phương pháp này nhanh chóng trở nên khó quản lý khi mở rộng quy mô. Các nhóm khác nhau, chẳng hạn như tài chính, hỗ trợ khách hàng và quản lý kho, yêu cầu những góc nhìn khác nhau đối với cùng các đối tượng dữ liệu. Việc duy trì nhiều công cụ chồng chéo, tách biệt cho từng nhóm dẫn đến trùng lặp mã và tăng gánh nặng bảo trì. Sự phân mảnh này khiến việc đảm bảo các chính sách bảo mật nhất quán trên toàn tổ chức trở nên khó khăn, để lại những kẽ hở nơi dữ liệu nhạy cảm có thể vô tình bị rò rỉ qua các endpoint ít được bảo trì kỹ lưỡng.
Chi tiết chính
- MCP cho phép kết nối nhanh giữa các tác nhân AI và hệ thống nội bộ nhưng không tự động quản lý quyền truy cập dữ liệu.
- Các API tiêu chuẩn thường trả về tập dữ liệu rộng chứa các trường nhạy cảm như số an sinh xã hội hoặc điểm gian lận nội bộ.
- Việc lọc dữ liệu ở cấp độ công cụ đòi hỏi phải duy trì hàng chục công cụ tương tự cho các nhóm khác nhau, làm tăng độ phức tạp.
- GraphQL cung cấp một hợp đồng xác định ở cấp độ trường, chỉ định chính xác dữ liệu mà tác nhân có thể truy cập.
- Các truy vấn trong GraphQL chỉ yêu cầu những trường cụ thể, đảm bảo phản hồi không chứa dữ liệu trái phép bất kể tải trọng từ nguồn gốc là gì.
- Các thao tác ghi (mutation) có thể bị giới hạn ở những hành động kinh doanh cụ thể, chẳng hạn như yêu cầu chuyển kho, thay vì cho phép ghi chung vào cơ sở dữ liệu.
Bối cảnh
GraphQL là ngôn ngữ truy vấn cho API, cho phép client yêu cầu chính xác dữ liệu họ cần, không thừa không thiếu. Khác với các API REST truyền thống trả về cấu trúc cố định, GraphQL giúp nhà phát triển xác định các lược đồ chính xác, trong đó mỗi trường có quy tắc truy cập riêng. Công nghệ này ban đầu được thiết kế để tối ưu hóa việc truyền dữ liệu cho ứng dụng di động bằng cách giảm kích thước tải trọng, nhưng khả năng thực thi ranh giới dữ liệu nghiêm ngặt khiến nó lý tưởng cho các kiến trúc chú trọng bảo mật. Các công ty lớn như Shopify, Netflix và Walmart đã sử dụng GraphQL hơn một thập kỷ để quản lý tương tác dữ liệu phức tạp một cách an toàn.
Trong bối cảnh các tác nhân AI, hợp đồng cấp độ trường đóng vai trò như một lớp bảo mật độc lập với giao thức truyền tải bên dưới. Cho dù dịch vụ backend sử dụng REST, gRPC hay SOAP, một lớp GraphQL có thể nằm phía trên để trung gian hóa quyền truy cập. Thiết lập này cho phép các hệ thống nội bộ tiếp tục hoạt động với mô hình dữ liệu rộng hiện có, đồng thời đảm bảo rằng các tác nhân bên ngoài chỉ nhận được những tập con thông tin được phép. Môi trường runtime thực thi các quy tắc này, chặn các yêu cầu đối với những trường bị hạn chế như ghi chú nội bộ hoặc dữ liệu riêng tư của khách hàng trước khi chúng đến tay tác nhân.
Tại sao điều này quan trọng
Đối với các đội ngũ vận hành phần mềm riêng, việc áp dụng các tác nhân AI giới thiệu những vector mới gây rò rỉ dữ liệu mà bảo mật biên giới truyền thống không thể xử lý. Các tác nhân hoạt động tự chủ, tổng hợp các thao tác tại thời gian chạy dựa trên lời nhắc của người dùng, nghĩa là chúng có thể cố gắng truy cập các trường dữ liệu mà nhà phát triển con người không lường trước được khi tạo công cụ ban đầu. Nếu không có hợp đồng xác định, mỗi lần tích hợp tác nhân mới đều trở thành một sự cố bảo mật tiềm tàng, đòi hỏi sự cảnh giác liên tục và rà soát mã thủ công để ngăn chặn việc lộ dữ liệu vận hành nhạy cảm.
Việc triển khai hợp đồng cấp độ trường giảm bớt gánh nặng vận hành khi quản lý nhiều tích hợp tác nhân. Thay vì xây dựng và duy trì logic lọc tùy chỉnh cho từng nhóm và trường hợp sử dụng, kỹ sư có thể xác định một nguồn sự thật duy nhất cho quyền truy cập dữ liệu. Cách tiếp cận này đảm bảo rằng các nhóm tài chính, hỗ trợ và hậu cần đều tương tác với cùng các hệ thống nền tảng nhưng chỉ nhận được dữ liệu liên quan đến vai trò cụ thể của họ. Nó biến bảo mật từ một quy trình vá lỗi thụ động thành một tính năng kiến trúc chủ động, phù hợp với nguyên tắc đặc quyền tối thiểu.
Bạn có thể làm gì
- Kiểm toán các endpoint API hiện có để xác định những trường nhạy cảm không nên cho phép tác nhân AI truy cập.
- Triển khai một lớp GraphQL trên các dịch vụ nội bộ để thực thi kiểm soát truy cập ở cấp độ trường.
- Xác định các mutation cụ thể cho thao tác ghi để giới hạn tác nhân chỉ thực hiện những hành động kinh doanh được phê duyệt.
- Tránh chuyển trực tiếp toàn bộ phản hồi API từ nguồn gốc sang các công cụ MCP; luôn lọc hoặc chuyển đổi dữ liệu trước.
- Sử dụng chỉ thị lược đồ (schema directives) để đánh dấu các trường nhạy cảm là không thể truy cập đối với những vai trò hoặc ngữ cảnh tác nhân cụ thể.
- Thử nghiệm tương tác của tác nhân thường xuyên để đảm bảo chúng không thể vượt qua các hạn chế cấp độ trường thông qua các truy vấn phức tạp.



