
SlowMist (慢霧) vào ngày 20 tháng 5 đã đăng tải thông tin tình báo đe doạ trên X, xác nhận rằng nhiều phiên bản của một số gói npm tần suất cao và nhiều phiên bản của Python SDK durabletask đã bị tấn công chuỗi cung ứng bởi “Mini Shai-Hulud (bọ cát tí hon)”. SlowMist cũng cho biết cuộc tấn công mã độc tống tiền của Grafana Labs vào ngày 16 tháng 5 “khả năng cao” có liên quan đến cuộc tấn công chuỗi cung ứng này.
Dòng thời gian tấn công và các thành phần bị ảnh hưởng
(Nguồn: SlowMist)
Dựa trên dòng thời gian tấn công được SlowMist xác nhận qua thông tin tình báo:
Ngày 19 tháng 5 năm 2026: Tài khoản npm atool (i@hust.cc) bị xâm nhập, kẻ tấn công trong vòng 22 phút đã tự động đăng 317 gói với tổng cộng 637 phiên bản độc hại, ảnh hưởng đến các thành phần tần suất cao trong hệ sinh thái npm như AntV và Echarts-for-react.
Từ 00:19 đến 00:54 (giờ Bắc Kinh) ngày 20 tháng 5 năm 2026: Trong vòng 35 phút, kẻ tấn công liên tục tải lên các phiên bản durabletask 1.4.1 (00:19), 1.4.2 (00:49) và 1.4.3 (00:54), vượt qua cơ chế kiểm soát phát hành chính thức của Microsoft và mạo danh phát hành bình thường.
SlowMist xác nhận rằng mục tiêu của kẻ tấn công, ngoài các gói npm và Python bị nhiễm, còn bao gồm thông tin xác thực và khóa của nhà phát triển (GitHub PAT, npm Token, khóa AWS, Kubernetes Secret, Vault Token, khóa SSH và hơn 90 loại tài liệu nhạy cảm cục bộ), cùng với các kho mã nội bộ có thể bị truy cập thông qua rò rỉ token.
Liên hệ xác nhận với rò rỉ token GitHub và sự kiện Grafana
SlowMist trong thông tin tình báo cho biết hai sự kiện liên quan đến cuộc tấn công chuỗi cung ứng này như sau:
Rò rỉ token GitHub quy mô lớn: SlowMist cho biết, “bằng chứng cho thấy một phần token rò rỉ có thể đã được dùng để truy cập và có thể được đem bán các kho mã GitHub chính thức”. GitHub chính thức đã xác nhận nguyên nhân của lần rò rỉ này là do một thiết bị của nhân viên cài đặt tiện ích mở rộng VS Code bị nhiễm mã độc.
Cuộc tấn công của Grafana Labs (ngày 16 tháng 5 năm 2026): SlowMist xác nhận rằng nhóm tội phạm mạng đã truy cập trái phép vào kho mã GitHub của Grafana Labs, tải xuống kho mã, và đưa ra yêu cầu tống tiền với lời đe doạ rò rỉ dữ liệu.
SlowMist cũng nêu rõ mô hình hành động tiềm năng của kẻ tấn công: trộm cắp thông tin xác thực trên đám mây và cục bộ, truy cập trái phép các kho nội bộ và cơ sở hạ tầng đám mây nhạy cảm, di chuyển ngang giữa máy phát triển và các đường ống CI/CD, cũng như bán các token GitHub bị rò rỉ.
Các biện pháp giảm thiểu được SlowMist khuyến nghị để xác nhận
Theo khuyến nghị chính thức từ SlowMist:
Ngay lập tức xoay vòng: tất cả thông tin xác thực GitHub, npm, PyPI và đám mây đã bị lộ
Thay thế các gói bị ảnh hưởng: thay thế các gói npm/PyPI bị ảnh hưởng bằng phiên bản an toàn đã được xác minh, hoặc đóng băng phiên bản phụ thuộc
Cô lập hệ thống: cô lập các hệ thống có thể đã bị xâm nhập và tiến hành kiểm tra, nhằm ngăn chặn việc đánh cắp thông tin xác thực hoặc di chuyển ngang
Rà soát các phụ thuộc: kiểm tra các tệp khoá (package-lock.json, yarn.lock, requirements.txt, v.v.) có chứa các phiên bản bị ảnh hưởng hay không
Giám sát hoạt động bất thường: giám sát hoạt động trên GitHub và đám mây, tìm dấu hiệu sự kiện xác thực bất thường và việc rò rỉ token
Câu hỏi thường gặp
Những gói nào được xác nhận bị Mini Shai-Hulud tấn công?
Theo thông tin tình báo của SlowMist, các gói bị ảnh hưởng bao gồm các thành phần tần suất cao trong hệ sinh thái npm như AntV, Echarts-for-react và các phiên bản 1.4.1, 1.4.2, 1.4.3 của gói Python durabletask. SlowMist cho biết sẽ tiếp tục theo dõi liệu có phiên bản độc hại mới được phát hành hay không.
SlowMist xác định rò rỉ token GitHub có liên quan đến cuộc tấn công chuỗi cung ứng này như thế nào?
Cách đánh giá của SlowMist dựa trên phân tích thông tin tình báo, kết luận là “khả năng cao” (không phải xác nhận tuyệt đối), dựa trên việc một phần token bị rò rỉ có thể đã được dùng để truy cập kho mã GitHub. GitHub chính thức cũng xác nhận độc lập rằng thiết bị của nhân viên đã bị xâm nhập bởi tiện ích mở rộng VS Code độc hại.
Nhà phát triển làm thế nào để nhanh chóng xác nhận dự án của mình có đang dùng các phiên bản bị ảnh hưởng hay không?
Theo khuyến nghị của SlowMist, có thể kiểm tra bằng các lệnh sau: với gói npm dùng npm ls --all; với gói Python dùng pip show durabletask để xác nhận số phiên bản; đồng thời kiểm tra tệp khoá (package-lock.json, yarn.lock, requirements.txt, v.v.) xem có chứa các phiên bản độc hại bị ảnh hưởng hay không.