Tóm tắt nhanh
- PoeLLM nhắm vào các dịch vụ AI/LLM và công cụ phát triển bị phơi ra Internet: LiteLLM, Ollama, Gotenberg, Gitea; Ivanti Sentry có thể cũng nằm trong tầm ngắm.
- Mã độc lấy bốn từ trong một bài thơ trên GitHub, tra qua từ điển nhúng sẵn để ra địa chỉ IPv4 của máy chủ điều khiển (C2). Đổi vài từ là đổi được C2, không cần cập nhật payload.
- Hơn 3.400 máy chủ nạn nhân tích lũy từ tháng 4/2026, chủ yếu ở Mỹ và Tây Âu. Đỉnh giữa tháng 6: gần 2.200 máy bị ảnh hưởng, gần 800 máy hoạt động mỗi ngày.
- Máy nhiễm bị dùng để đào tiền (XMRig, Iron), quét và khai thác thêm mục tiêu. Việc đánh cắp dữ liệu hay lạm dụng mô hình AI mới chỉ là rủi ro được cảnh báo, chưa được xác nhận là hậu quả phổ biến.
Một bài thơ trên GitHub thường chỉ là văn bản. Trong chiến dịch Canto Incognito, bốn từ của nó lại đóng vai trò như bản ghi định tuyến: mã độc biến chúng thành địa chỉ máy chủ điều khiển rồi gọi về đó. Khi tác nhân cần đổi đích, họ sửa bài thơ thay vì phát hành lại payload cho từng máy đã nhiễm.
Bài thơ làm nhiệm vụ cấu hình, không phải mật mã

Bài thơ hai khổ tên “On the Nature of Connection” nằm trong một tệp tên dash.css của một bản fork mã nguồn trang nodejs.org trên GitHub. Mã độc tìm bốn cụm neo trong bài, chẳng hạn đoạn nằm giữa “In the silent hum of ” và dấu phẩy, lấy từ đứng ở vị trí đó rồi tra trong từ điển cứng. Ví dụ Lumen công bố: driver, diode, decryption, string tương ứng 92, 119, 165, 74, ghép thành 92.119.165.74.
Điểm hay của thiết kế này là phần đổi được và phần không đổi tách hẳn nhau. Quy tắc giải mã nằm trong mã độc và không thay đổi; chỉ bốn từ khóa được sửa qua 11 lần cập nhật kể từ commit đầu ngày 13/4/2026. Máy nạn nhân tự tính lại địa chỉ mới mà không cần ai gửi lệnh. Về mặt kỹ thuật, đây là kiểu cấu hình động tương tự việc dùng bản ghi DNS hay tệp cấu hình từ xa, chỉ khác ở chỗ nguồn cấu hình là văn bản trông vô hại.
Vì sao khó phát hiện? Ryan English của Black Lotus Labs cho biết bài thơ không chứa liên kết, tệp tải hay đoạn mã hóa, nên nếu không biết mã độc tham chiếu tới nó thì rất khó nhận ra có gì độc hại. Địa chỉ IP dùng cho liên lạc C2 cũng không hiện ra ngoài dữ liệu netflow của nạn nhân. Ngược lại, bài thơ vẫn là một điểm hạ tầng tập trung: kho GitHub chứa nó sau đó không còn truy cập được.
Con số 3.400 cần đọc cùng nhịp hoạt động
Hai con số được nhắc nhiều nhất đo hai đại lượng khác nhau, và dễ bị gộp thành một.
| Chỉ số | Giá trị | Đo cái gì |
|---|---|---|
| Máy chủ nạn nhân xác định được | Hơn 3.400 | Tích lũy từ tháng 4/2026 |
| Máy bị ảnh hưởng vào đỉnh giữa tháng 6 | Gần 2.200 | Số máy trong một thời điểm đỉnh |
| Máy hoạt động mỗi ngày vào đỉnh | Gần 800 | Số máy liên lạc C2 trong ngày |
| Số lần đổi bài thơ | 11 | Mỗi lần trỏ tới một C2 mới |
Số liệu: Lumen Black Lotus Labs.
Đọc bảng này, kết luận hợp lý là botnet có quy mô vài nghìn máy tích lũy nhưng nhịp hoạt động thực tế thấp hơn nhiều, cỡ vài trăm máy mỗi ngày ở thời điểm cao nhất. Một botnet 800 máy đào tiền không đủ làm sập hạ tầng ai, nhưng với một tác nhân động cơ tài chính thì đó là lượng tài nguyên đáng kể, nhất là khi máy chủ AI thường có GPU mạnh.
Máy bị chiếm trở thành công cụ mở rộng botnet

PoeLLM không dừng ở việc chạy miner. Payload có shell từ xa, quét HTTP/S và triển khai khai thác; một số máy nhiễm bị biến thành bộ quét và máy chủ khai thác để tìm thêm hệ thống dễ tổn thương. Chuỗi này cho thấy mỗi máy bị chiếm vừa tiêu tốn điện và tài nguyên của chủ máy, vừa trở thành bàn đạp cho lượt xâm nhập kế tiếp.
Chiến dịch được phát hiện khi các nhà nghiên cứu lần theo một lỗ hổng nghiêm trọng của Ivanti Sentry hồi đầu tháng 6: một máy Sentry bị chiếm liên lạc với một máy chủ chuyên dụng rồi bắt đầu quét thiết bị khác. Việc lặp lại các router có giao diện quản trị dễ tổn thương trong hạ tầng C2 cho thấy tác nhân còn tận dụng cả thiết bị mạng bị chiếm để làm điểm điều khiển. Về nhóm đứng sau, Lumen đánh giá với độ tin cậy vừa phải là tác nhân nói tiếng Italy, dựa trên bình luận tiếng Italy trong mã và việc dùng máy chủ ở Italy. Đây là suy luận từ dấu vết, không phải quy kết chắc chắn.
Payload còn cài XMRig và Iron, kết nối tới hạ tầng đào Kryptex. Điểm chung của khoảng 900 nạn nhân đầu tiên là cùng liên lạc với một endpoint của dịch vụ đào này, một chi tiết ủng hộ nhận định chiến dịch có động cơ tài chính.
Rủi ro nằm ở dịch vụ bị phơi ra Internet, không phải nhãn “AI”
Các dịch vụ AI tự host thường được dựng nhanh để thử nghiệm hoặc phục vụ nội bộ, rồi vô tình mở cổng ra mạng công cộng mà thiếu giám sát. Chiến dịch này tận dụng đúng khoảng trống đó. Máy chạy AI hấp dẫn hơn máy thường vì có thể chứa dữ liệu có giá trị và có phần cứng mạnh, nhưng lỗ hổng bắt nguồn từ phiên bản có lỗi và cấu hình phơi dịch vụ ra ngoài. Hướng dẫn cài đặt Gotenberg cũng ghi rõ cảnh báo không để dịch vụ này truy cập trực tiếp từ Internet.
Cần tránh hai cách hiểu sai. Một là coi mọi bản LiteLLM hay Ollama đều đang bị khai thác: LiteLLM đã có bản sửa lỗi từ tháng 4, nên rủi ro tập trung ở phiên bản chưa vá. Hai là coi việc dùng AI tự host là nguy hiểm sẵn. Danh sách nạn nhân chỉ cho thấy dịch vụ lộ ra ngoài và chưa vá là mục tiêu dễ.
Với người tự dựng máy chủ AI tại Việt Nam
Chiến dịch được ghi nhận nhiều nhất ở Mỹ và Tây Âu, và báo cáo không nêu số liệu cho Việt Nam. Dù vậy, kịch bản khai thác không phụ thuộc quốc gia: ai đó thuê VPS có GPU, dựng Ollama hay LiteLLM để thử mô hình, mở cổng cho tiện truy cập từ xa rồi quên cập nhật thì rơi đúng nhóm mục tiêu. Công ty nhỏ, nhóm startup và người dùng đam mê tự host mô hình ở nhà là những đối tượng dễ gặp tình huống này nhất, vì không có đội bảo mật theo dõi.
Một danh sách việc nên làm, theo thứ tự ưu tiên:
- Kiểm tra xem Ollama, LiteLLM, Gitea, Gotenberg đang lắng nghe trên địa chỉ nào; nếu là 0.0.0.0 mà không cần thiết thì chuyển về localhost hoặc mạng nội bộ.
- Đặt dịch vụ sau VPN hoặc proxy có xác thực thay vì mở cổng trực tiếp.
- Cập nhật lên bản đã vá, đặc biệt với LiteLLM.
- Theo dõi tải CPU/GPU bất thường kéo dài và kết nối ra ngoài tới các dịch vụ đào tiền như Kryptex.
- Nếu nghi ngờ đã bị nhiễm, xem lại tiến trình, khóa API và thông tin xác thực trên máy trước khi đưa dịch vụ trở lại hoạt động; chặn C2 ở phía nhà nghiên cứu không dọn được máy đã bị cài miner.
Những điểm vẫn chưa rõ
Mức độ hoạt động ngoài đào tiền và quét khai thác vẫn đang được điều tra. Khả năng lạm dụng mô hình AI trên máy nạn nhân, lấy cắp thông tin đăng nhập hay token qua proxy AI được mô tả như rủi ro, chưa phải hậu quả đã xác nhận. Lưu lượng gần đây tới SSH và cổng đăng nhập gợi ý tác nhân đang thử brute-force phân tán, nhưng chưa rõ năng lực này trưởng thành tới đâu, và chưa có liên hệ với nhóm hay chiến dịch khác. Với một chiến dịch đã đổi đích 11 lần, việc kho GitHub bị gỡ có thể làm chậm tác nhân chứ chưa chắc chấm dứt nó.
Nguồn tham khảo: Lumen Black Lotus Labs; The Hacker News; CyberScoop; Tom’s Hardware







