Kẻ tấn công sử dụng LLM Agent để thực hiện hậu khai thác sau khi tận dụng lỗ hổng CVE-2026-39987 của Marimo

Một tác nhân đe dọa chưa xác định đã bị phát hiện sử dụng một tác nhân mô hình ngôn ngữ lớn (LLM agent) để thực hiện các hành động hậu xâm nhập sau khi có được quyền truy cập ban đầu thông qua việc khai thác lỗ hổng CVE-2026-39987 trên Marimo. Kẻ tấn công đã trích xuất thông tin xác thực đám mây và lấy cắp toàn bộ cơ sở dữ liệu PostgreSQL chỉ trong vòng vài phút.
Kẻ tấn công sử dụng LLM agent khai thác Marimo

Một tác nhân đe dọa không xác định đã được quan sát thấy đang sử dụng một tác nhân mô hình ngôn ngữ lớn (LLM agent) để thực hiện các hành động sau khi xâm nhập (post-compromise), sau khi có được quyền truy cập ban đầu bằng cách khai thác một lỗ hổng được tiết lộ gần đây trong mạng lưới Marimo có thể truy cập công khai.

"Kẻ tấn công đã xâm nhập một notebook Marimo có thể truy cập từ internet thông qua CVE-2026-39987, trích xuất hai thông tin xác thực đám mây từ máy chủ bị xâm nhập, gửi chúng qua một pool egress mở rộng để lấy khóa SSH private từ AWS Secrets Manager, và sử dụng khóa đó để thực hiện tám phiên SSH ngắn hạn nhắm vào một máy chủ SSH bastion hạ nguồn," Sysdig cho biết.

"Giai đoạn bastion đã lấy cắp schema và toàn bộ nội dung của một cơ sở dữ liệu PostgreSQL nội bộ trong vòng chưa đầy hai phút."

CVE-2026-39987 đề cập đến một lỗ hổng thực thi mã từ xa (RCE) nghiêm trọng trước khi xác thực, ảnh hưởng đến tất cả các phiên bản Marimo trước và bao gồm cả bản 0.20.4. Nó cho phép kẻ tấn công chưa xác thực thực thi các lệnh hệ thống tùy ý. Vấn đề đã được khắc phục trong phiên bản 0.23.0, phát hành vào tháng trước.

Lỗi bảo mật này kể từ đó đã bị khai thác tích cực, với các tác nhân đe dọa sử dụng nó để khởi đầu quá trình trinh sát thủ công đối với các hệ thống honeypot và cố gắng thu thập dữ liệu nhạy cảm.

Hoạt động mới nhất được Sysdig ghi nhận vẫn tuân theo mô hình tương tự, điểm khác biệt chính là một LLM agent đã được sử dụng để điều khiển hoạt động hậu khai thác (post-exploitation). Sự cố, theo công ty bảo mật đám mây này, được ghi nhận vào ngày 10 tháng 5 năm 2026, với việc kẻ tấn công thu thập thông tin xác thực từ môi trường và sau đó sử dụng AWS access key thu thập được để thực hiện các lệnh gọi API tới AWS Secrets Manager và lấy khóa SSH private.

Vài phút sau, tác nhân đe dọa được cho là đã thực hiện xác thực SSH đầu tiên trên máy chủ SSH bastion bằng khóa vừa lấy được, tiếp theo là khởi chạy tám phiên SSH song song nhắm vào máy chủ hạ nguồn để lấy dữ liệu từ cơ sở dữ liệu PostgreSQL nội bộ. Chuỗi tấn công từ đầu đến cuối kéo dài hơn một giờ.

Sơ đồ LLM Agent thực hiện tấn công
Phân tích chuỗi tấn công của LLM agent (Nguồn: Sysdig)

Bốn dấu hiệu nhận biết sự tham gia của LLM Agent

Sysdig cho biết họ đã phát hiện bốn dấu hiệu cho thấy một LLM agent đứng sau hoạt động này:

  • Ứng biến linh hoạt: Kẻ tấn công đã thực hiện dump cơ sở dữ liệu mà không cần biết trước về schema.
  • Rò rỉ câu lệnh điều khiển: Một nhận xét lập kế hoạch bằng tiếng Trung, "看还能做什么" (dịch là "Xem còn có thể làm gì khác"), đã xuất hiện trực tiếp trong luồng lệnh khi thực hiện tìm kiếm thông tin xác thực.
  • Tối ưu hóa cho máy học: Mọi lệnh đều được thiết kế để máy móc tiêu thụ, với các dấu phân cách "---", giới hạn đầu ra và loại bỏ luồng lỗi (stderr) để giảm thiểu tiếng ồn.
  • Chuỗi phản hồi tự động: Việc bàn giao giá trị được lấy từ đầu ra của công cụ trước đó. AI agent tự động đưa kết quả từ lệnh trước (như đọc tệp ~/.pgpass) vào hành động tiếp theo một cách liền mạch.

"Tên máy chủ cơ sở dữ liệu không rõ ràng, không có định danh ứng dụng trên ổ đĩa và không có bản dump schema được chuẩn bị sẵn, nhưng chuỗi tấn công vẫn tìm thấy bảng thông tin xác thực chỉ trong vài phút," Sysdig nhận định. "Kẻ tấn công không còn cần phải nhìn thấy môi trường của bạn để hoạt động bên trong nó."

Tính thích nghi: Vũ khí mới của kẻ tấn công

Sysdig kết luận: "Khi một người vận hành kịch bản (scripted operator) xây dựng một playbook cho từng mục tiêu và sử dụng lại nó, rào cản để thêm mục tiêu mới là thời gian kỹ thuật. Tuy nhiên, một người vận hành agent (agent operator) mang theo những kiến thức chung về một loại ứng dụng và soạn thảo chuỗi hành động trực tiếp để phù hợp nhất với mục tiêu của nó. Ở đây, rào cản trở thành ngân sách suy luận (inference budget), chứ không phải việc soạn thảo playbook."

"Đặc tính quan trọng của một agent trong quy trình tấn công là tính thích nghi. Một kẻ tấn công theo kịch bản khi gặp tệp bị thiếu, schema không mong muốn hoặc lỗi xác thực sẽ thường dừng lại hoặc chạy theo các phương án dự phòng cứng. Ngược lại, một agent sẽ đọc được tình huống bất ngờ, quyết định nên thử gì tiếp theo và tiếp tục hành trình."

Khuyến nghị bảo mật

Để đối phó với mối đe dọa này, người dùng được khuyến nghị thực hiện các bước sau:

  • Cập nhật Marimo lên phiên bản mới nhất (từ 0.23.0 trở lên).
  • Kiểm tra toàn bộ môi trường để phát hiện các phiên bản công khai không được bảo vệ.
  • Thay đổi (rotate) toàn bộ thông tin xác thực, API key và khóa SSH có khả năng đã bị lộ.