Vụ tấn công Trivy phát tán Infostealer qua Docker, kích hoạt mã độc Worm và Wiper Kubernetes

Các nhà nghiên cứu an ninh mạng đã phát hiện các phần mềm độc hại được phân phối qua Docker Hub sau cuộc tấn công chuỗi cung ứng Trivy, làm nổi bật phạm vi ảnh hưởng rộng lớn trong các môi trường phát triển. Các phiên bản độc hại 0.69.4, 0.69.5 và 0.69.6 của Trivy đã bị xóa khỏi thư viện ảnh container.
Hình ảnh minh họa Docker
Hình ảnh minh họa Docker

Các nhà nghiên cứu an ninh mạng đã phát hiện các phần mềm độc hại được phân phối qua Docker Hub sau cuộc tấn công chuỗi cung ứng Trivy, làm nổi bật phạm vi ảnh hưởng rộng lớn trong các môi trường phát triển.

Phiên bản sạch cuối cùng được biết đến của Trivy trên Docker Hub là 0.69.3. Các phiên bản độc hại 0.69.4, 0.69.5 và 0.69.6 đã bị xóa khỏi thư viện ảnh container.

"Các thẻ ảnh mới 0.69.5 và 0.69.6 đã được đẩy lên vào ngày 22 tháng 3 mà không có các bản phát hành hoặc thẻ GitHub tương ứng. Cả hai ảnh đều chứa các dấu hiệu bị xâm nhập liên quan đến cùng loại infostealer của TeamPCP đã được quan sát trong các giai đoạn trước của chiến dịch này," nhà nghiên cứu bảo mật Philipp Burckhardt của Socket cho biết.

Sự việc này diễn ra sau một vụ thỏa hiệp chuỗi cung ứng của Trivy, một công cụ quét lỗ hổng mã nguồn mở phổ biến do Aqua Security duy trì, cho phép các tác nhân đe dọa tận dụng một thông tin đăng nhập bị đánh cắp để đẩy một công cụ đánh cắp thông tin đăng nhập vào các phiên bản bị trojan hóa của công cụ và hai GitHub Actions liên quan là "aquasecurity/trivy-action" và "aquasecurity/setup-trivy".

Cuộc tấn công đã gây ra những tác động lan rộng, với việc những kẻ tấn công lợi dụng dữ liệu bị đánh cắp để xâm nhập hàng chục gói npm nhằm phân phối một mã độc worm tự lây lan được gọi là CanisterWorm. Vụ việc này được cho là do một tác nhân đe dọa có tên TeamPCP thực hiện.

Theo nhóm OpenSourceMalware, những kẻ tấn công đã làm biến dạng tất cả 44 kho lưu trữ nội bộ liên quan đến tổ chức GitHub "aquasec-com" của Aqua Security bằng cách đổi tên mỗi kho với tiền tố "tpcp-docs-", đặt tất cả các mô tả là "TeamPCP Owns Aqua Security" và công khai chúng.

Tất cả các kho lưu trữ được cho là đã bị sửa đổi trong một đợt tấn công tự động kéo dài 2 phút từ 20:31:07 UTC đến 20:32:26 UTC vào ngày 22 tháng 3 năm 2026. Đã có đánh giá với độ tin cậy cao rằng tác nhân đe dọa đã lợi dụng một tài khoản dịch vụ "Argon-DevOps-Mgt" bị xâm nhập cho mục đích này.

"Phân tích pháp y của chúng tôi về GitHub Events API chỉ ra rằng một mã thông báo tài khoản dịch vụ bị xâm nhập — có khả năng bị đánh cắp trong vụ thỏa hiệp Trivy GitHub Actions trước đó của TeamPCP — là vectơ tấn công," nhà nghiên cứu bảo mật Paul McCarty của OpenSourceMalware cho biết. "Đây là một tài khoản dịch vụ/bot (GitHub ID 139343333, được tạo vào 2023-07-12) với một đặc tính quan trọng: nó kết nối cả hai tổ chức GitHub."

"Một mã thông báo bị xâm nhập cho tài khoản này cung cấp cho kẻ tấn công quyền ghi/quản trị vào cả hai tổ chức," McCarty nói thêm.

Sự việc này là diễn biến leo thang mới nhất từ một tác nhân đe dọa đã xây dựng danh tiếng về việc nhắm mục tiêu vào các cơ sở hạ tầng đám mây, đồng thời dần dần phát triển khả năng để phơi bày một cách có hệ thống các Docker APIs, các Kubernetes clusters, Ray dashboards và Redis servers nhằm đánh cắp dữ liệu, triển khai ransomware, thực hiện tống tiền và khai thác tiền điện tử.

Sự tinh vi ngày càng tăng của chúng được thể hiện rõ nhất qua sự xuất hiện của một mã độc wiper mới lây lan qua SSH thông qua các khóa bị đánh cắp và khai thác các Docker APIs bị lộ trên cổng 2375 trên toàn bộ mạng con cục bộ.

Một payload mới được gán cho TeamPCP đã được phát hiện không chỉ dừng lại ở việc đánh cắp thông tin đăng nhập mà còn xóa sạch toàn bộ các Kubernetes (K8s) clusters nằm ở Iran. Tập lệnh shell sử dụng cùng một ICP canister được liên kết với CanisterWorm và sau đó chạy kiểm tra để xác định các hệ thống Iran.

"Trên Kubernetes: triển khai các DaemonSets có đặc quyền trên mọi node, bao gồm cả control plane," nhà nghiên cứu bảo mật Charlie Eriksen của Aikido cho biết. "Các node của Iran bị xóa sạch và buộc phải khởi động lại thông qua một container tên 'kamikaze.' Các node không phải của Iran được cài đặt backdoor CanisterWorm dưới dạng dịch vụ systemd. Các máy chủ không phải K8s của Iran sẽ bị 'rm -rf / --no-preserve-root'."

Do tính chất đang diễn ra của cuộc tấn công, điều cần thiết là các tổ chức phải xem xét việc sử dụng Trivy trong các CI/CD pipelines, tránh sử dụng các phiên bản bị ảnh hưởng và coi bất kỳ lần thực thi gần đây nào là có khả năng bị xâm nhập.

"Sự thỏa hiệp này cho thấy hệ quả lâu dài của các cuộc tấn công chuỗi cung ứng," OpenSourceMalware cho biết. "Một thông tin đăng nhập thu thập được trong vụ thỏa hiệp Trivy GitHub Actions nhiều tháng trước đã được vũ khí hóa hôm nay để làm biến dạng toàn bộ một tổ chức GitHub nội bộ. Tài khoản dịch vụ Argon-DevOps-Mgt — một tài khoản bot duy nhất kết nối hai tổ chức với một PAT tồn tại lâu dài — là mắt xích yếu."

"Từ khai thác đám mây đến các mã độc worm chuỗi cung ứng và wiper Kubernetes, chúng đang xây dựng khả năng và nhắm mục tiêu vào chính hệ sinh thái nhà cung cấp bảo mật. Sự trớ trêu khi một công ty bảo mật đám mây bị xâm phạm bởi một tác nhân đe dọa gốc đám mây không nên bị bỏ qua trong ngành."