Cuộc tấn công mạng ngày 10/05/2026 cho thấy cách một LLM agent có thể điều phối chuỗi post-exploitation từ một notebook server lộ diện ra Internet đến việc trích xuất cơ sở dữ liệu nội bộ chỉ trong chưa đầy hai phút. Trường hợp này liên quan đến lỗ hổng CVE-2026-39987 trên marimo và được xem là một dấu hiệu rõ ràng của remote code execution trong môi trường chưa vá lỗi.
Chuỗi khai thác từ lỗ hổng CVE-2026-39987
Điểm khởi đầu là một marimo notebook bị expose trực tiếp ra Internet. Kẻ tấn công khai thác CVE-2026-39987, một lỗi cho phép tạo shell thông qua one-WebSocket-request trên các hệ thống marimo chưa được cập nhật bản vá.
Theo khuyến nghị từ Sysdig, cần cập nhật marimo lên 0.23.0 hoặc mới hơn. Nếu chưa thể nâng cấp, phải hạn chế truy cập tới endpoint /terminal/ws hoặc tắt hẳn tính năng terminal.
Tham khảo thêm thông tin công khai về cảnh báo CVE tại NVD.
Chi tiết hành vi sau khi xâm nhập
Ngay sau khi có quyền thực thi lệnh, tác nhân đe dọa đã thu thập cloud credentials từ các file môi trường và từ AWS credentials store. Sau đó, các thông tin này được dùng để truy xuất một SSH private key từ AWS Secrets Manager.
Khóa SSH đó mở ra 8 phiên SSH song song tới một bastion server phía sau. Từ đây, một cơ sở dữ liệu PostgreSQL nội bộ đã bị exfiltrate toàn bộ. Toàn bộ chuỗi diễn ra trong chưa đầy 1 giờ, còn giai đoạn điều hướng truy vấn và thu thập dữ liệu chỉ mất rất ít thời gian.
Vai trò của LLM agent trong cuộc tấn công mạng
Đây không phải một chuỗi lệnh được viết sẵn. Các câu lệnh được tạo theo thời gian thực, điều chỉnh theo từng phản hồi của hệ thống mục tiêu. Điều này làm thay đổi cách nhìn về phát hiện tấn công, vì hành vi của kẻ tấn công không còn cố định như các script truyền thống.
Sysdig mô tả đây là lần đầu họ ghi nhận một AI-agent-driven intrusion. Đặc điểm nổi bật là tác nhân LLM không cần biết trước toàn bộ sơ đồ hệ thống mà vẫn có thể tiếp tục khai thác dựa trên dữ liệu mới thu thập được.
Bốn dấu hiệu cho thấy LLM agent điều khiển chuỗi khai thác
- Tự suy luận cấu trúc dữ liệu: Agent tạo lệnh dump cơ sở dữ liệu mà không có tri thức schema sẵn, rồi liệt kê bảng và nhắm vào bảng chứa thông tin nhạy cảm.
- Chèn chú thích lập kế hoạch: Một câu ghi chú bằng tiếng Trung, dịch là “See what else we can do”, xuất hiện trực tiếp trong dòng lệnh.
- Lệnh được tối ưu cho máy đọc: Các command có cấu trúc phân tách rõ ràng, giới hạn đầu ra và loại bỏ luồng lỗi để agent đọc kết quả sạch hơn.
- Dùng đầu ra của bước trước cho bước sau: Mật khẩu cơ sở dữ liệu lấy từ .pgpass, còn đường dẫn SSH key được xác nhận từ kết quả liệt kê file trước đó. Secret ID trên AWS cũng được chọn từ phản hồi ListSecrets chỉ khoảng 20 giây trước khi lấy secret.
Cơ chế né phát hiện trong cuộc tấn công mạng
Điểm đáng chú ý của lỗ hổng CVE này là kênh hoạt động được phân tán để tránh tương quan theo IP nguồn. Trong vòng 22 giây, có 12 AWS API calls được rải qua 11 Cloudflare Workers IP khác nhau. Cách làm này phá vỡ mô hình correlation theo IP mà nhiều hệ thống phòng thủ cloud đang dựa vào.
Ở giai đoạn bastion, 8 phiên SSH lại đến từ 6 IP khác nhau cùng lúc. Việc phân tán như vậy khiến cảnh báo dựa trên một nguồn phát đơn lẻ trở nên kém hiệu quả.
Ảnh hưởng đến phát hiện xâm nhập
Chuỗi này cho thấy signature-based detection không còn đủ để theo dõi các mối đe dọa mạng kiểu mới. Một attacker dùng script thường để lại dấu vết lặp lại, nhưng LLM agent có thể thay đổi thứ tự lệnh, cú pháp và luồng truy vấn theo từng mục tiêu.
Do đó, trọng tâm của IDS và runtime detection cần chuyển sang theo dõi mục tiêu hành vi, chẳng hạn credential access và database exfiltration, thay vì chỉ bám vào chuỗi lệnh cụ thể.
Cập nhật bản vá cho marimo và biện pháp giảm thiểu
Khuyến nghị kỹ thuật chính là nâng cấp marimo lên 0.23.0 hoặc cao hơn. Nếu chưa thể triển khai bản vá bảo mật, cần hạn chế hoặc vô hiệu hóa truy cập tới /terminal/ws. Với các hệ thống public-facing, đây là điểm kiểm soát quan trọng vì lỗ hổng zero-day kiểu này thường bị khai thác rất nhanh sau khi thông tin được công bố.
Sysdig cũng nhấn mạnh rằng mọi instance marimo có thể truy cập công khai nên được xem là đã bị xâm nhập cho đến khi xác minh lại. Điều này áp dụng cả cho cloud credentials, API keys, SSH keys và database passwords đã tồn tại trên hệ thống.
Hành động ứng phó kỹ thuật
- Rotate toàn bộ cloud credentials và secret liên quan.
- Thay SSH key đã bị lộ và rà soát toàn bộ session đăng nhập.
- Kiểm tra log AWS để xác định truy vấn tới AWS Secrets Manager.
- Rà soát dấu hiệu truy cập bất thường vào PostgreSQL nội bộ.
- Áp dụng giám sát hành vi thay vì chỉ dựa trên IOC tĩnh.
IOC liên quan đến cuộc tấn công mạng
IOC được mô tả trong tài liệu gốc chủ yếu ở cấp hành vi và không công bố đầy đủ địa chỉ/IP ở dạng rõ ràng. Dữ liệu được cố ý defang để tránh truy cập nhầm khi sử dụng trong môi trường threat intelligence.
- CVE: CVE-2026-39987
- Ứng dụng bị khai thác: marimo notebook server
- Endpoint liên quan: /terminal/ws
- Tài nguyên đích: AWS Secrets Manager
- Hệ thống hậu khai thác: bastion server, PostgreSQL nội bộ
- Hành vi bất thường: 12 AWS API calls qua 11 IP, 8 SSH sessions qua 6 IP
Ý nghĩa đối với an toàn thông tin
Trường hợp này cho thấy cảnh báo CVE không chỉ là vấn đề vá lỗi ứng dụng. Khi điểm vào là một service lộ diện ra Internet, attacker có thể chuyển rất nhanh từ remote code execution sang thu thập secret, leo thang truy cập và rò rỉ dữ liệu nhạy cảm.
Với các môi trường có notebook server, việc giới hạn bề mặt tấn công, quản lý secret chặt chẽ và triển khai phát hiện xâm nhập theo hành vi là yêu cầu bắt buộc để giảm rủi ro bảo mật từ những chuỗi tấn công thích ứng theo thời gian thực.










