Một dòng log lạ xuất hiện trên Cloudflare Dashboard: experimental.is_mcp == true. Với tôi, đó không phải là một tính năng – đó là lời tuyên chiến với bóng tối của AI Agent. Khi mọi người đang mải mê với model benchmark, Cloudflare lặng lẽ đặt một con dao mổ vào lớp giao tiếp giữa Agent và công cụ. Đây không phải câu chuyện về AI mạnh hơn – đây là câu chuyện về ai nhìn thấy sợi dây trước khi nó thắt cổ doanh nghiệp.

Context: MCP là gì mà khiến Cloudflare phải động?
Model Context Protocol (MCP) là giao thức kết nối AI Agent với các công cụ bên ngoài – database, API, file system, thậm chí smart contract. Hãy tưởng tượng một Agent có thể tự động gọi lệnh, đọc file, gửi transaction. Năm 2026, MCP đã trở thành chuẩn de facto cho agent-to-tool communication. Nhưng vấn đề: ai kiểm soát kênh này? MCP server chạy khắp nơi – trên máy dev, trên cloud, trong private network. Và theo DEF CON 34, 82% trong số 19.000 MCP server công khai có lỗ hổng path traversal. 34% dễ bị command injection. Chỉ 8.5% dùng OAuth. Đó là một mớ hỗn độn bảo mật.
Core: Cơ chế câu chuyện của Cloudflare Gateway
Cloudflare vừa công bố khả năng phát hiện và kiểm soát MCP traffic trên Gateway của họ. Cơ chế đơn giản nhưng tinh vi: Gateway dùng TLS interception để đọc request, sau đó dùng heuristic fingerprinting trên các header đặc thù của MCP như MCP-Protocol-Version, Mcp-Method, Mcp-Name. Nó cũng phân tích pattern JSON-RPC để nhận dạng call. Kết quả là một selector mới: experimental.is_mcp == true. Khi bật, doanh nghiệp có thể chặn, log, hoặc chuyển hướng mọi traffic MCP không được phê duyệt. Đây là kỹ thuật deep packet inspection ở cấp độ protocol, không phải model.
Nhưng tôi sẽ nói thẳng: đây không phải đột phá kiến trúc. Đây là engineering innovation – ghép một lớp phát hiện mới vào hệ thống bảo mật cũ. Cloudflare không tạo ra MCP, họ chỉ xây hàng rào quanh nó. Và hàng rào đó có một lỗ hổng chết người: nó chỉ hoạt động nếu doanh nghiệp đã deploy MITM (Man-in-the-Middle) trên TLS. Nếu Agent dùng certificate pinning, hoặc kết nối qua WebSocket riêng, Gateway mù tịt. Còn MCP chạy local qua stdio? Không bao giờ lọt vào mắt Gateway.
Dữ liệu từ DEF CON 34 cho thấy bức tranh tối hơn tôi tưởng. 82% MCP server dễ bị path traversal – nghĩa là Agent có thể đọc bất kỳ file nào trên server. 34% bị command injection – Agent có thể chạy lệnh hệ thống. Những con số này không chỉ là lỗi code; chúng là hệ quả của thiết kế 'mở' của MCP: giao thức không yêu cầu authentication, không có rate limit, không có permission model. Cloudflare Gateway giải quyết phần nào đó bằng cách chặn các request không hợp lệ, nhưng nó không thể fix lỗ hổng ở server-side. Nếu một MCP server bị compromise, Gateway chỉ có thể chặn traffic ra ngoài – không thể ngăn Agent gọi vào server đó.
Contrarian: Góc nhìn phản trực giác – Cloudflare đang tạo ra một cái bẫy mới
Tôi thấy irony ở đây. Cloudflare bán giải pháp 'Shadow MCP' – phát hiện các Agent không được phép – nhưng chính họ lại tạo ra một lớp phụ thuộc mới. Doanh nghiệp sẽ cấu hình Gateway chặn mọi MCP trừ những server trong 'Portal' được phê duyệt. Nghe có vẻ an toàn, nhưng điều gì xảy ra khi Portal bị tấn công? Hoặc khi một developer chạy MCP server local để test, bị Gateway chặn, rồi anh ta tắt MITM? Kết quả: doanh nghiệp mất visibility, và Agent chạy ngầm. Đây là bài học từ Shadow IT thời cloud: càng kiểm soát cứng nhắc, càng tạo ra shadow.
Hơn nữa, experimental.is_mcp là một selector beta. Quy tắc detection có thể thay đổi theo phiên bản MCP. Nếu MCP protocol thay đổi header format, Cloudflare phải update – và doanh nghiệp phải cập nhật policy. Đây là vendor lock-in kiểu mới: bạn không chỉ phụ thuộc vào Cloudflare, bạn còn phụ thuộc vào khả năng theo kịp spec của họ.
Và còn một điểm mù lớn hơn: MCP không chỉ là HTTP. MCP hỗ trợ nhiều transport – stdio, WebSocket, HTTP streaming. Cloudflare Gateway chỉ xử lý HTTP-based MCP. Còn traffic MCP qua WebSocket? Họ có thể phát hiện, nhưng phức tạp hơn. Còn traffic MCP nội bộ giữa Agent và server trong cùng VPC? Không qua Gateway. Bài toán bảo mật MCP là bài toán phân tán, không thể giải bằng một điểm chặn duy nhất.

Takeaway: Câu chuyện tiếp theo không phải về Agent, mà về lớp giao tiếp
Tôi từng audit một dự án DeFi nơi Agent tự động gọi swap trên Uniswap thông qua MCP. Server MCP của họ không có authentication – bất kỳ Agent nào cũng có thể gọi. Chúng tôi đã phải viết middleware riêng. Cloudflare Gateway giống như middleware đó, nhưng ở cấp độ hạ tầng. Nó không giải quyết tận gốc vấn đề trust, nhưng nó đặt một câu hỏi quan trọng: ai nên kiểm soát lớp giao tiếp giữa Agent và thế giới?
Mỗi lần crash là một bản đồ kho báu mới. Và crash ở đây không phải giá token, mà là sự sụp đổ của niềm tin vào Agent không được kiểm soát. Cloudflare vừa vẽ bản đồ cho kho báu đó. Nhưng kho báu thực sự không nằm ở Gateway – nó nằm ở việc xây dựng một giao thức MCP an toàn từ đầu, với permission model, identity, và audit trail. Đến lúc đó, Gateway chỉ là công cụ hỗ trợ. Còn bây giờ, nó là một miếng băng cá nhân trên vết thương hở.
Sự thật nằm ở lớp dưới cùng của giao dịch. Và lớp dưới cùng của MCP là lớp không có bảo mật. Cloudflare đã cố gắng vá nó, nhưng vá không thể biến một cái sàng thành cái cốc. Câu hỏi đặt ra cho mọi doanh nghiệp: bạn có dám để Agent chạy mà không có lớp bảo vệ nào ngoài một Gateway chưa hoàn thiện? Hay bạn sẽ chờ đến khi vụ hack đầu tiên xảy ra?
Tôi đã thấy pattern này nhiều lần trong crypto. Một giải pháp ra đời vội vã để đáp ứng nhu cầu cấp bách, rồi bị khai thác ngay khi mọi người lơ là. Cloudflare MCP Gateway có thể là bước đi đúng hướng, nhưng nó cũng có thể là một cái bẫy – nếu doanh nghiệp tin rằng nó đủ. Hãy nhìn vào dữ liệu: 82% MCP server chưa an toàn. Gateway không thể cứu bạn khỏi chính server bạn tự chạy. Hãy nhìn vào chính mình trước khi nhìn vào Dashboard.
