Đêm 17/7/2026, tôi nhận được một thông báo theo dõi từ QiAnXin XLab. Không phải một lỗ hổng phần mềm thông thường, mà là bản mô tả chi tiết về NadMesh – botnet đầu tiên tôi thấy được thiết kế để "thu hoạch" toàn bộ hệ sinh thái hạ tầng AI, thay vì chỉ tấn công mô hình. Trong 11 năm quan sát thị trường, tôi chưa bao giờ thấy một kẻ săn mồi nào thể hiện sự kiên nhẫn và tinh vi như vậy.
Hãy để tôi đặt bối cảnh. Model Context Protocol (MCP) đang trở thành một trong những giao thức quan trọng nhất của năm 2026. Dữ liệu từ Censys cho thấy số dịch vụ MCP có thể truy cập công khai tăng từ 12.520 trong cuối tháng 4 lên hơn 21.000 chỉ trong vài tuần đầu tháng 5. Sự bùng nổ này đến từ nhu cầu kết nối các tác nhân AI với công cụ bên ngoài – từ đọc file, gọi API, đến thực thi lệnh. Nhưng có một điểm mù chí tử: đặc tả MCP cho phép xác thực tùy chọn. Nhiều nhà phát triển, trong vội vàng đưa sản phẩm ra thị trường, đã để lộ các máy chủ MCP mà không có bất kỳ lớp bảo vệ nào.
NadMesh không tình cờ phát hiện ra mảnh ghép này. Nó được xây dựng có chủ đích. Botnet viết bằng Go, sử dụng công cụ quét tự động bao phủ hơn 90 dải địa chỉ cloud provider. Nhưng điều khiến tôi dừng lại đọc đi đọc lại là bảng ưu tiên nhiệm vụ của bộ điều khiển: khai thác MCP nằm ở vị trí đầu tiên, nhắm chính xác vào công cụ JSON-RPC tools/call – đặc biệt là execute_command. Trong một thế giới mà các botnet thường ưu tiên khai thác Docker API (30,31% lưu lượng) hay Jenkins (22,28%), việc NadMesh đặt MCP lên hàng đầu dù chỉ chiếm 0,78% lưu lượng khai thác là một tín hiệu rất rõ ràng về chiến lược dài hạn.
Kinh nghiệm từ các cuộc kiểm toán của tôi cho thấy một điều: cái giá của việc phớt lờ bảo mật hạ tầng AI sẽ không lộ ra ngay lập tức.
Chiến lược của NadMesh không nhắm vào mô hình – mô hình chỉ là mục tiêu kém thú vị nhất trên máy chủ. Nó nhắm vào các biến môi trường chứa khóa AWS, vào token Kubernetes với quyền cluster-admin, và vào bất kỳ công cụ MCP nào có thể thực thi lệnh tùy ý. Bảng điều khiển của kẻ tấn công đã hiển thị 3.811 khóa AWS duy nhất bị thu thập trước ngày 10/7. Đây là điểm khác biệt cốt lõi. Chúng ta đã quen với các cuộc tấn công dữ liệu hoặc đầu độc mô hình. NadMesh đang chơi một trò chơi hoàn toàn khác: chiếm lấy môi trường đặc quyền cao xung quanh trí tuệ nhân tạo.
Sự trưởng thành về mặt kỹ thuật của NadMesh thể hiện qua cách nó né tránh phát hiện. Mỗi agent có một mã hash duy nhất nhờ kỹ thuật đa hình: mã nguồn được làm rối bằng Garble, nén bằng UPX-9 và được chèn thêm padding ngẫu nhiên. Khi tôi nói chuyện với các nhà nghiên cứu, họ cho biết việc tạo ra một chữ ký tĩnh cho NadMesh gần như bất khả thi. Botnet sử dụng ba con đường tồn tại độc lập: backdoor qua SSH authorized_keys, các tệp tiến trình trong /dev/shm, /var/tmp, và /tmp, cùng với cron watchdog để tự phục hồi. Nó còn có một cơ chế tự động đưa máy chủ vào danh sách đen nếu máy đó "nuốt" hơn 10 lần triển khai mà không mang lại kết quả – một chiến lược tránh honeypot mà tôi hiếm khi thấy ở các botnet khác.
Nhưng có một điều khiến tôi trăn trở hơn cả. Khi tôi đọc báo cáo của NadMesh, tôi nhận ra sự tương đồng với cách những kẻ tấn công đang nghĩ về hệ sinh thái AI. Chuỗi các lỗ hổng gần đây không phải là ngẫu nhiên. ChatMate RPE cho thấy việc tiêm prompt có thể xâm chiếm các tích hợp công cụ trên Copilot. IBM Langflow CVE-2026-9198 tiết lộ một lỗ hổng thực thi mã từ xa nghiêm trọng trong các khung điều phối mà tác nhân phụ thuộc vào. Sự leo thang đặc quyền trong Azure SRE Agent mở ra một lớp bùng nổ mới cho quyền truy cập hạ tầng tự động. PleaseFix phơi bày khả năng đánh cắp danh tính chỉ bằng một cú nhấp chuột trong các trình duyệt tác nhân. Và Kimi K3 cho thấy một mô hình có thể hành xử theo các mục tiêu định hướng mà không gặp phải sự kháng cự nội bộ khi đánh giá.
Mỗi lỗ hổng này là một lớp khác nhau của cùng một ngăn xếp. Và NadMesh đang nhắm vào lớp bên dưới tất cả chúng.
Điểm mù của chúng ta là gì? Tôi cho rằng chúng ta đang bị ám ảnh bởi khái niệm "mô hình có an toàn hay không" mà quên rằng môi trường xung quanh mô hình – nơi các tác nhân thực thi, nơi các khóa API được lưu trữ, nơi các công cụ MCP được gọi – chưa được bảo vệ đúng mức. NadMesh không cần đánh cắp mô hình. Nó chỉ cần khóa AWS trong biến môi trường, token Kubernetes cấp quyền cluster-admin, và một công cụ MCP sẵn sàng thực thi câu lệnh. Trong một thị trường tăng giá, khi ai cũng vội vã xây dựng hạ tầng AI để bắt kịp xu hướng, việc bỏ qua các cổng dịch vụ như 8188 (ComfyUI), 11434 (Ollama), 7860 (Gradio), và 5678 (n8n) là một cơn ác mộng đang chờ xảy ra. Tôi đã kiểm tra một số dự án ở giai đoạn đầu và phát hiện các quản trị viên để lộ credentials trong repository với lý do "chúng tôi chỉ dùng cục bộ".
Có một sự mỉa mai ở đây. Trong các buổi hội thảo, tôi thường nghe mọi người nói về "khả năng của các tác nhân AI" như thể đó là một kỳ quan công nghệ. Nhưng khả năng đó tỷ lệ thuận với mức độ tiếp xúc của hạ tầng. Mỗi dịch vụ MCP được thêm vào, mỗi token Kubernetes được cấp, mỗi biến môi trường được lưu trữ là một cánh cửa mở vào thế giới mà những kẻ tấn công đang đợi sẵn. NadMesh chỉ là khởi đầu – một minh chứng cho thấy các botnet đang thích nghi với nền kinh tế AI.
Khi tôi nhìn vào tương lai, tôi không biết liệu các mô hình có trở nên thông minh hơn đến mức nào. Nhưng có một câu hỏi ám ảnh tôi nhiều hơn: Liệu môi trường mà chúng ta đặt những mô hình đó vào có kịp trưởng thành để bảo vệ chúng không, hay chúng ta sẽ đánh đổi sự thông minh lấy sự mong manh?