Hook
Ba tuần trước, tôi ngồi trong phòng họp tại Mumbai, màn hình hiển thị log của một giao thức cross-chain agent bridge. Một dòng lệnh đơn giản – { "action": "execute", "target": "0x...", "data": "..." } – đã kích hoạt một cuộc gọi hàm từ xa, chuyển 500 ETH sang một địa chỉ lạ. Không có xác thực nguồn, không có kiểm tra phiên. Chỉ có niềm tin vào định dạng dữ liệu. Tôi đã thấy điều này trước đây. Năm 2016, DAO hack bắt đầu từ một lỗi tương tự: tin tưởng cấu trúc gọi hàm mà không kiểm tra ai đã gửi nó. Và bây giờ, vào năm 2026, lỗi đó lại xuất hiện – lần này trong các agent harness của blockchain. CVE-2026-18830 không chỉ là một CVE khác. Nó là một lời nhắc nhở rằng ngành của chúng ta vẫn chưa học được bài học về ranh giới tin cậy.
Context
Hãy tưởng tượng một agent blockchain – một hợp đồng thông minh được ủy quyền để thực hiện các giao dịch thay mặt người dùng, gọi các oracle, tương tác với các giao thức DeFi, hoặc thậm chí quản lý danh tính phi tập trung. Để làm điều đó, agent cần một “harness” – lớp điều phối giữa mô hình (nếu agent sử dụng AI) hoặc logic nghiệp vụ và các công cụ bên ngoài (ví dụ: gọi hợp đồng khác, lấy dữ liệu từ oracle). Harness này nhận các yêu cầu, phân tích dữ liệu, và kích hoạt thực thi. Trong thế giới blockchain, harness thường là một phần của kiến trúc trên chuỗi hoặc off-chain, ví dụ như các relayer, keeper, hoặc bot tự động. Vấn đề là: harness thường tin tưởng định dạng dữ liệu đầu vào mà không xác thực nguồn gốc thực sự của nó. CVE-2026-18830 – được phát hiện bởi Phantom Labs – cho thấy trong một số framework agent (bao gồm cả các dịch vụ trên nền tảng đám mây như AWS, Google ADK, và Vercel AI SDK), kẻ tấn công có thể inject một “tool-call” trực tiếp vào luồng sự kiện, khiến harness thực thi lệnh mà không có sự cho phép từ mô hình hoặc người dùng. Đây không phải là một lỗi đơn lẻ. Nó là một lỗi kiến trúc: tin tưởng cú pháp thay vì tin tưởng nguồn gốc. Trong blockchain, nó tương tự như một cuộc tấn công reentrancy, nơi hợp đồng tin tưởng vào cuộc gọi bên ngoài mà không kiểm tra trạng thái. Nhưng ở đây, mối đe dọa còn nghiêm trọng hơn: agent có thể có quyền truy cập vào các khóa riêng tư, quyền quản trị, hoặc các tài sản nhạy cảm.
Core
Phân tích kỹ thuật của CVE-2026-18830 cho thấy một mô hình quen thuộc: lệch lạc ranh giới tin cậy. Trong harness, có một vòng lặp sự kiện: nhận yêu cầu -> phân tích nội dung -> thực thi công cụ. Lỗ hổng nằm ở bước thứ hai: harness chấp nhận bất kỳ dữ liệu nào có cấu trúc tool-call mà không xác minh liệu dữ liệu đó có đến từ một lượt mô hình hợp pháp hay không. Điều này giống như một hợp đồng thông minh chấp nhận một cuộc gọi delegatecall từ bất kỳ địa chỉ nào, miễn là nó đúng định dạng ABI. Kết quả: kẻ tấn công có thể gửi một yêu cầu xác thực giả mạo có chứa tool-call và harness sẽ thực thi nó, bỏ qua hoàn toàn logic kiểm soát. Trong bối cảnh blockchain, hãy tưởng tượng một agent bridge cross-chain: nó nhận một thông báo từ chuỗi A, tin rằng nó đến từ một hợp đồng đã được xác minh, nhưng thực tế nó được tạo ra bởi kẻ tấn công chỉ bằng cách định dạng đúng cấu trúc message. CVE-2026-18953, một lỗ hổng path traversal trong MCP (Model Context Protocol) càng làm trầm trọng thêm vấn đề: nó cho phép ghi file tùy ý, mở ra cánh cửa cho tấn công vào hệ thống tệp của máy chủ. Hai CVE này bổ sung cho nhau: một cái cho phép thực thi lệnh trái phép, cái kia cho phép leo thang đặc quyền. AWS đã vá lỗi phía máy chủ trong vòng 1-2 tuần, nhưng Google ADK và Vercel AI SDK – vốn là mã nguồn mở – yêu cầu người dùng tự cập nhật, tạo ra một bề mặt tấn công kéo dài. Trong một hệ sinh thái blockchain, nơi các hợp đồng thông minh không thể vá sau khi triển khai, vấn đề này còn nghiêm trọng hơn: một lỗ hổng trong harness on-chain có thể dẫn đến mất mát tài sản vĩnh viễn. Tin vào code hơn tin vào lời nói – nhưng code cũng cần phải được kiểm tra ranh giới.
Contrarian
Trái với suy nghĩ thông thường, việc chỉ kiểm tra đầu vào ở máy chủ là không đủ. Nhiều người cho rằng thêm một lớp xác thực “nguồn gốc” sẽ giải quyết vấn đề. Nhưng thực tế, điều này chỉ chặn được tấn công trực tiếp – nơi kẻ tấn công inject tool-call từ bên ngoài. Nó không ngăn được tấn công gián tiếp: thông qua prompt injection, kẻ tấn công có thể lừa mô hình (hoặc logic hợp đồng) tạo ra một tool-call hợp pháp nhưng độc hại trong một phiên hợp lệ. Vì vậy, giải pháp thực sự không nằm ở việc kiểm tra nguồn gốc đơn thuần, mà là ràng buộc không thể thay đổi giữa đầu ra của mô hình và việc thực thi công cụ. Điều này có nghĩa là mỗi tool-call cần được ký số bởi mô hình hoặc logic nghiệp vụ sản sinh ra nó, và harness chỉ thực thi các lệnh có chữ ký hợp lệ. Trong blockchain, điều này tương đương với việc yêu cầu mỗi giao dịch phải có chữ ký của người dùng. Nhưng hiện tại, hầu hết các agent harness không làm điều này. Họ tin tưởng vào luồng sự kiện, không phải danh tính của từng bước. Điểm mù ở đây là: chúng ta tập trung quá nhiều vào việc bảo vệ mô hình (AI alignment) mà quên rằng hệ thống thực thi – harness – là điểm yếu nhất. Một harness không an toàn có thể vô hiệu hóa mọi nỗ lực alignment. Trong blockchain, điều này còn nguy hiểm hơn vì sự bất biến của hợp đồng thông minh. Một lỗi trong harness on-chain có thể không thể sửa chữa được, dẫn đến các cuộc tấn công giống như DAO hack 2016.

Takeaway
CVE-2026-18830 và CVE-2026-18953 không chỉ là lỗi của AI. Chúng là hồi chuông cảnh tỉnh cho toàn bộ ngành công nghệ, đặc biệt là blockchain. Khi chúng ta xây dựng các agent phi tập trung, các cross-chain bridge, và các hệ thống tự động, chúng ta phải học từ những sai lầm này: ranh giới tin cậy phải được xác định rõ ràng, không chỉ dựa trên định dạng dữ liệu. Tương lai của bảo mật blockchain không nằm ở việc thêm nhiều lớp kiểm tra, mà là thiết kế các hệ thống mà mỗi hành động đều mang theo bằng chứng về nguồn gốc của nó. Tin vào code hơn tin vào lời nói – nhưng code phải được xây dựng trên nền tảng của sự không tin cậy. Và nếu chúng ta không làm điều đó, lịch sử sẽ lặp lại, nhưng lần này với các agent thay vì hợp đồng đơn giản.