BTC $80,041.2 +3.86%
ETH $2,488.5 +1.72%
SOL $100.61 +7.35%
BNB $707.3 +1.78%
XRP $1.49 +2.22%
DOGE $0.0912 +0.55%
ADA $0.2216 +1.51%
AVAX $7.56 +1.65%
DOT $0.9055 +1.11%
LINK $11.63 +1.76%
⛽ ETH Gas 28 Gwei
Sợ&Tham
74

Kẻ Tấn Công Không Nhắm Vào Code Của Bạn, Họ Nhắm Vào Agent Của Bạn: Bài Học Từ 7 CVE Của Langflow

Phân tích | Phạm Phúc |

Ngày hôm qua, tôi đang kiểm tra một giao thức restaking thì thấy một điều đáng sợ: một bot MEV tôi đang theo dõi trở nên im lặng hoàn toàn. Nó không phải bị sandwich, không phải hết gas. Nó bị tấn công từ một vector hoàn toàn khác: API key của nó bị lộ từ một nền tảng AI Agent.

Chúng ta nói rất nhiều về smart contract risk, về impermanent loss, về rug pull. Nhưng tôi cá với bạn, kẻ thù thực sự của DeFi Yield Farmer trong 12 tháng tới sẽ không đến từ Solidity bug. Nó sẽ đến từ một AI Agent đang giữ chìa khóa ví của bạn.

Context: Khi AI Agent Trở Thành "Két Sắt"

Hãy tưởng tượng bạn có một nền tảng low-code để xây dựng các pipeline AI. Nó kết nối với LLM, với database, với cloud server. Và để tiện lợi, nó giữ tất cả API key, mật khẩu, credential trong một chỗ. Đó là Langflow.

Nghe có vẻ giống một "hub" trung tâm, đúng không? Vấn đề là cái hub này, theo thiết kế, cho phép thực thi code động ở một endpoint có thể truy cập từ internet. Và không có cái sandbox nào cả.

Từ tháng 8/2024 đến tháng 8/2026, Langflow đã có ít nhất 7 CVE với điểm CVSS từ 9.3 đến 9.9. Đây không phải là những lỗi vặt vãnh. CVE-2026-9198, bị CISA đưa vào danh sách KEV (Known Exploited Vulnerabilities), cho phép kẻ tấn công lấy SUPERUSER token chỉ bằng một request /api/v1/auto_login, sau đó chạy code Python tùy ý qua /api/v1/validate/code.

Điều này giống như việc bạn xây một cánh cửa vàng cho ngôi nhà của mình, nhưng lại để chìa khóa dưới tấm thảm ở cửa trước và viết "CHÌA KHÓA ĐÂY" lên đó.

Core: Phân Tích Dòng Lệnh & Kiến Trúc "Chết Người"

Tôi đã từng audit một hợp đồng thông minh cho EigenLayer. Tôi biết cảm giác khi nhìn vào một đoạn code và thấy một lỗ hổng chết người. Điều tôi thấy ở Langflow còn tệ hơn nhiều. Đây không chỉ là một lỗi. Đây là một triết lý thiết kế sai lầm ngay từ đầu.

Bạn thấy đấy, vấn đề không phải là exec() trong Python. Vấn đề là exec() được đặt sau một endpoint không cần xác thực, và endpoint đó được thiết kế cho mục đích "demo" hoặc "onboarding".

Cụ thể, attack chain của CVE-2026-9198 trông như thế này: 1. Gọi /api/v1/auto_login → nhận SUPERUSER token. (Không cần tài khoản, không cần mật khẩu). 2. Gọi /api/v1/validate/code với token đó → thực thi bất kỳ đoạn Python code nào trên server.

Điều này có nghĩa là gì? Nghĩa là bất kỳ ai biết địa chỉ IP của Langflow instance của bạn đều có thể chạy bất kỳ lệnh nào trên server đó. Họ có thể đọc database, export tất cả API key, gửi chúng về server của họ, và bạn không hề hay biết.

Và đây mới là phần đáng sợ nhất: trong vụ tấn công JadePuffer, kẻ tấn công đã làm chính xác điều đó. Họ: - Xâm nhập Langflow instance - Export toàn bộ database PostgreSQL - Lấy được API key của LLM, cloud credential, và cả private key ví crypto - Di chuyển ngang (lateral movement) sang server MySQL production và Nacos - Cuối cùng, mã hóa toàn bộ dữ liệu và đòi tiền chuộc

Tôi từng mất 30% danh mục trong vụ Luna sụp đổ. Tôi biết cảm giác khi nhìn vào số dư và thấy nó biến mất. Nhưng vụ này còn tệ hơn: nó không chỉ ảnh hưởng đến một giao thức, mà nó ảnh hưởng đến toàn bộ pipeline của bạn. Nếu bạn có một bot DeFi sử dụng Langflow để gọi API, kẻ tấn công không chỉ lấy được API key của bot, họ còn có thể thay đổi logic của bot để gửi tiền vào ví của chúng.

Contrarian: Góc Nhìn Ngược Chiều

Tin tức hiện tại nói rằng Langflow đã vá lỗi. Phiên bản 1.10.1 đã sửa CVE-2026-9198. Nhưng tôi không tin vào "patch". Tôi tin vào kiến trúc.

Hãy nhìn vào pattern: 7 CVE trong 18 tháng, tất cả đều cùng một gốc rễ — dynamic code execution không có sandbox. Đây là dấu hiệu của một đội ngũ đang "chơi trò đập chuột" (whack-a-mole). Họ sửa lỗi này, lỗi khác lại mọc ra. Tại sao?

Bởi vì bản chất của nền tảng này là cho phép người dùng chạy code tùy ý. Nếu bạn không thể thay đổi kiến trúc — tức là không thể thêm sandbox — thì bạn sẽ mãi mãi chạy đua với kẻ tấn công.

Và tôi có một tin xấu cho bạn: thị trường tăng đang che giấu những lỗi này.

Khi giá token tăng, ai cũng FOMO. Ai cũng muốn xây dựng bot nhanh nhất, deploy pipeline nhanh nhất. Không ai có thời gian để audit nền tảng họ đang sử dụng. Nhưng chính trong những thời điểm này, kẻ tấn công lại đang tích cực nhất.

Takeaway: Hành Động Ngay Bây Giờ

Tôi sẽ không nói "hãy bỏ Langflow ngay lập tức". Tôi sử dụng nhiều công cụ, và tôi biết sự thay đổi không dễ dàng. Nhưng nếu bạn đang chạy một Langflow instance, hãy làm 3 điều ngay bây giờ:

  1. Kiểm tra xem instance của bạn có exposed ra internet không. Dùng Shodan hoặc Censys. Nếu có, hãy đưa nó vào private network ngay lập tức.
  2. Cập nhật lên phiên bản 1.10.1. Nhưng đừng dừng lại ở đó. Hãy kiểm tra xem các endpoint nhạy cảm (/api/v1/auto_login, /api/v1/validate/code) có thực sự bị vô hiệu hóa không.
  3. Giả định rằng credential của bạn đã bị lộ. Nếu bạn đã từng lưu API key, private key, hoặc bất kỳ credential nào trong Langflow, hãy rotate chúng ngay lập tức.

Tôi đã từng đốt tay với EOS RAM. Tôi đã từng mất 30% danh mục với Luna. Và tôi đã học được một bài học: không bao giờ tin tưởng một nền tảng chỉ vì nó tiện lợi.

Kẻ tấn công không nhắm vào smart contract của bạn. Họ nhắm vào con người, vào quy trình, và vào những nền tảng như Langflow — nơi mà một lỗ hổng có thể cho chúng chìa khóa vào toàn bộ vương quốc của bạn.

Hãy tự hỏi: instance Langflow của bạn có đang exposed không?