Một chiến dịch mới được Socket ghi nhận cho thấy kẻ tấn công không cần cài mã độc trực tiếp vào máy của người dùng thư viện PHP. Thay vào đó, chúng chiếm quyền các kho mã nguồn, nhúng hàng trăm workflow độc hại và biến GitHub Actions thành hạ tầng quét, khai thác máy chủ cPanel và WHM trên Internet.
Vụ việc đáng chú ý vì nó mở rộng khái niệm tấn công chuỗi cung ứng phần mềm. Rủi ro không chỉ nằm ở mã nguồn mà nhà phát triển tải về, mà còn ở hệ thống tự động hóa CI/CD có thể chạy lệnh thay mặt kho mã nguồn bị xâm nhập. Với các nền tảng lưu trữ web, một máy chủ bị chiếm có thể kéo theo nhiều website, cơ sở dữ liệu, tài khoản email, khóa API và thông tin thanh toán.
Chiến dịch bắt đầu từ các gói Packagist nhưng không thực thi qua thư viện PHP
Theo Socket, hoạt động này liên quan đến 10 gói Packagist gắn với tài khoản nhà phát triển hợp pháp dinushchathurya. Trong hai ngày 12 và 13/07/2026, Packagist đã tự động đồng bộ các phiên bản phát triển chứa thay đổi độc hại từ GitHub sang hệ sinh thái PHP.
Điểm bất thường là phần mã độc không nằm trong luồng thực thi thông thường của thư viện PHP. Các gói bị ảnh hưởng chứa tổng cộng 583 tệp workflow GitHub Actions, mỗi gói có khoảng 55 đến 62 workflow. Nếu người dùng chỉ cài gói qua Composer, các workflow này thường nằm trong thư mục vendor và không tự chạy. Cơ chế tấn công thực sự nằm ở các kho GitHub bị chiếm quyền, nơi thư mục .github/workflows ở đúng vị trí để GitHub Actions kích hoạt runner.
Cách runner trở thành máy quét và khai thác tạm thời
Khi kho bị xâm nhập có lượt push hoặc khi workflow được chạy thủ công, GitHub sẽ cấp một runner tạm thời. Workflow độc hại kiểm tra kiến trúc bộ xử lý của runner, tải payload Linux tương ứng từ máy chủ điều khiển của kẻ tấn công và bắt đầu quét các hệ thống cPanel/WHM có thể bị khai thác.
Mục tiêu chính là CVE-2026-41940, một lỗ hổng vượt qua xác thực trong cPanel và WHM từng được cảnh báo là đang bị khai thác. Nếu thành công, payload sẽ tìm kiếm thông tin nhạy cảm như tệp cấu hình, biến môi trường, thông tin cơ sở dữ liệu, khóa SSH, token GitHub/GitLab, khóa AWS, thông tin dịch vụ gửi email, khóa thanh toán và dữ liệu phục vụ khai thác tiếp theo.

Quy mô được hé lộ qua dấu hiệu DNSHook
Socket cho biết các workflow độc hại liên tục gửi trạng thái thực thi và dữ liệu thu thập được về hạ tầng của kẻ tấn công. Một dấu hiệu DNSHook đặc thù xuất hiện trong khoảng 6.100 tệp workflow trên GitHub, còn các truy vấn theo địa chỉ C2, lệnh scanner, tên tệp chứa credential và logic trích xuất dữ liệu cho thấy khoảng 15.000 đến 16.000 tệp phù hợp.
Các con số này không đồng nghĩa với từng ấy tài khoản bị xâm nhập, vì một kho có thể chứa nhiều workflow và một số kho có thể là hạ tầng do kẻ tấn công tự dựng. Tuy nhiên, việc cùng một mẫu mã rất đặc thù xuất hiện ở nhiều kho không liên quan cho thấy đây là một chiến dịch rộng hơn, không phải sự cố đơn lẻ của một bộ gói PHP.
Vì sao cPanel và WHM là mục tiêu hấp dẫn
cPanel và WHM thường quản trị nhiều thành phần quan trọng của máy chủ web: tệp website, tài khoản email, cơ sở dữ liệu, chứng chỉ, cấu hình ứng dụng và trong nhiều mô hình hosting là nhiều khách hàng trên cùng một máy chủ. Khi lớp quản trị này bị vượt qua, tác động có thể lan từ một website sang toàn bộ môi trường lưu trữ.
Khía cạnh nguy hiểm hơn là dữ liệu thu được từ một máy chủ có thể dùng để mở rộng chiến dịch. Token Git, khóa cloud, thông tin SMTP, khóa thanh toán hoặc khóa API có thể dẫn tới các kho mã khác, hệ thống triển khai khác và tài khoản dịch vụ khác. Đây là lý do các cuộc tấn công vào CI/CD và control panel ngày càng được xem là rủi ro vận hành, không chỉ là rủi ro mã nguồn.
Bài học phòng thủ cho nhóm vận hành và phát triển
Các tổ chức dùng cPanel/WHM cần ưu tiên kiểm tra bản vá liên quan đến CVE-2026-41940, rà soát log xác thực, log truy cập quản trị, tệp cấu hình bị đọc bất thường và dấu hiệu trích xuất credential. Những hệ thống lưu trữ nhiều website hoặc nhiều khách hàng nên được kiểm kê riêng vì tác động dây chuyền thường lớn hơn một máy chủ đơn lẻ.
Với đội phát triển, cần bật bảo vệ tài khoản GitHub bằng xác thực đa yếu tố, kiểm soát quyền ghi vào workflow, rà soát thay đổi trong thư mục .github/workflows, hạn chế secret sẵn có trong runner và giám sát workflow bất thường. Trong các kho quan trọng, thay đổi workflow nên được review như thay đổi hạ tầng, vì một tệp YAML ngắn có thể cấp quyền chạy lệnh trên môi trường tự động hóa.
Kết luận
Chiến dịch này cho thấy ranh giới giữa kho mã, hệ thống tự động hóa và máy chủ sản xuất đang ngày càng mờ. Một tài khoản GitHub bị chiếm quyền có thể không chỉ phát tán gói độc hại, mà còn kích hoạt một mạng runner tạm thời để quét và khai thác hạ tầng của bên thứ ba.
Đối với cộng đồng an ninh mạng, bài học cốt lõi là không xem CI/CD như một tiện ích phụ trợ vô hại. GitHub Actions, nếu bị lạm dụng, có thể trở thành hạ tầng tấn công phân tán với chi phí thấp, khả năng mở rộng cao và dấu vết khó quy về một máy chủ cố định.
VNCyberS tổng hợp từ Socket và The Hacker News















