3 điểm bởi yjcho9317 2026-04-09 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp

Khi tác nhân AI đọc tệp hoặc gọi công cụ thông qua máy chủ MCP, phản hồi mà máy chủ trả về sẽ đi vào ngữ cảnh mà không qua bước kiểm chứng riêng. mcp-fence là một proxy bảo mật kiểm tra theo thời gian thực cả hai phía: yêu cầu và phản hồi đó.

Trong quá trình tạo nworks (máy chủ NAVER WORKS MCP), tôi đã trực tiếp trải nghiệm cấu trúc này. Tôi đã xem qua 28 dự án bảo mật MCP trên GitHub, nhưng phần lớn chỉ kiểm tra phía gửi đi mà không nhìn phía phản hồi quay về. Vì vậy tôi đã tự làm ra nó.

Sau khi làm xong, tôi tự chạy kiểm toán bảo mật. Tôi đã xuyên thủng toàn bộ cơ chế phát hiện bằng các ký tự trông giống nhau với mắt người nhưng máy tính nhận là ký tự khác, cho chèn các ký tự trong suốt không nhìn thấy để vượt qua mọi kiểm tra, và còn tìm ra lỗi khiến chính quá trình kiểm tra bảo mật dừng lại bằng một đầu vào đặc biệt. Tôi đã sửa tất cả trước khi phát hành. Trong 1.426 bài kiểm thử, có 630 bài là kiểm thử bảo mật đối kháng, đạt tỷ lệ phát hiện 86% trên 13 lỗ hổng MCP đã biết. Theo OWASP MCP Top 10, dự án này bao phủ 9 trên 10 hạng mục.

Nó phát hiện injection, secret, PII, command injection, và cả rug-pull khi mô tả công cụ bị thay đổi lén lút bằng cơ chế hash pinning. Việc phát hiện hiện dựa trên regex, nên nếu diễn đạt cùng một ý nghĩa theo cách khác thì có thể lọt qua. Phát hiện ngữ nghĩa bằng ML là kế hoạch cho v1.x.

Ví dụ, nếu dùng máy chủ filesystem MCP, chỉ cần đặt nó ở phía trước.

npx mcp-fence start -- npx @modelcontextprotocol/server-filesystem /tmp  

Không cần sửa mã máy chủ hiện có, chỉ với một dòng này là chạy được. Mặc định nó chỉ ghi log và không chặn. Bạn có thể trước tiên kiểm tra xem loại lưu lượng nào đang đi qua, rồi nếu ổn thì chuyển sang chế độ chặn.

Đây là dự án do một kỹ sư bảo mật di động với 9 năm kinh nghiệm làm một mình trong 10 tuần, nên có thể vẫn còn thiếu sót. Tôi rất cảm kích nếu nhận được phản hồi.

Chưa có bình luận nào.

Chưa có bình luận nào.