💡 Theo đánh giá của RetroLab, đây là một minh chứng rõ ràng cho thấy các cuộc tấn công chuỗi cung ứng ngày càng tinh vi hơn, khi kẻ tấn công không ngần ngại khai thác các điểm mù trong quy trình bảo mật. Đội ngũ RetroLab khuyến nghị các nhà phát triển cần mở rộng phạm vi kiểm tra bảo mật, không chỉ dừng lại ở các tệp cấu hình chính mà còn phải xem xét toàn bộ hệ sinh thái phụ thuộc.
Một chiến dịch tấn công chuỗi cung ứng có chủ đích vừa được phát hiện, nhắm vào kho gói Packagist – nền tảng quản lý gói phổ biến cho ngôn ngữ PHP. Theo báo cáo từ công ty bảo mật Socket, 8 gói khác nhau đã bị xâm nhập và chứa mã độc có khả năng tải xuống và thực thi một tệp nhị phân Linux từ GitHub Releases.

Điểm đặc biệt: Mã độc ẩn trong package.json thay vì composer.json
Điểm đáng chú ý của cuộc tấn công này là cách kẻ tấn công đặt mã độc vào tệp package.json thay vì composer.json – tệp cấu hình chính của các gói Composer. Đây là một chiến thuật "đa hệ sinh thái" (cross-ecosystem placement) rất tinh vi. Các nhà phát triển và đội ngũ bảo mật khi quét các phụ thuộc PHP thường chỉ tập trung vào siêu dữ liệu của Composer, dễ dàng bỏ qua các hook lifecycle trong package.json – vốn là tệp cấu hình của JavaScript/Node.js. Socket nhận xét: "Mặc dù các gói bị ảnh hưởng đều là gói Composer, nhưng mã độc không được thêm vào composer.json. Thay vào đó, nó được chèn vào package.json, nhắm vào các dự án có tích hợp công cụ xây dựng JavaScript đi kèm với mã PHP."
Mã độc thực thi thông qua script postinstall trong package.json, script này sẽ cố gắng tải một tệp nhị phân Linux từ URL GitHub Releases (github[.]com/parikhpreyash4/systemd-network-helper-aa5c751f), lưu vào thư mục /tmp/.sshd, thay đổi quyền bằng chmod để cấp quyền thực thi cho tất cả người dùng, và chạy nó trong nền. Các phiên bản độc hại đã được gỡ bỏ khỏi Packagist.
Danh sách các gói bị ảnh hưởng
Các gói và phiên bản bị ảnh hưởng bao gồm:
- moritz-sauer-13/silverstripe-cms-theme (dev-master)
- crosiersource/crosierlib-base (dev-master)
- devdojo/wave (dev-main)
- devdojo/genesis (dev-main)
- katanaui/katana (dev-main)
- elitedevsquad/sidecar-laravel (3.x-dev)
- r2luna/brain (dev-main)
- baskarcm/tzi-chat-ui (dev-main)
Phát hiện mở rộng: Tải trọng xuất hiện trong 777 tệp trên GitHub
Socket cho biết đã tìm thấy tham chiếu đến cùng một tải trọng trong 777 tệp trên GitHub, cho thấy đây có thể là một phần của chiến dịch rộng lớn hơn. Trong ít nhất hai trường hợp, tải trọng được thêm vào tệp workflow của GitHub Actions, cho phép mã độc chạy trong quá trình CI/CD. "Điều này cho thấy kẻ tấn công không chỉ dựa vào một cơ chế thực thi duy nhất. Trong các gói, tải trọng được kích hoạt qua script postinstall của package.json. Trong tệp workflow, nó được đặt để chạy trong các công việc GitHub Actions," Socket nhấn mạnh.
Bản chất của tải trọng (payload) được tải từ GitHub hiện vẫn chưa rõ ràng, vì tài khoản GitHub lưu trữ kho chứa nó đã không còn tồn tại. Tên mã độc được đặt là "gvfsd-network" – gợi nhắc đến một daemon của GNOME Virtual File System (GVfs) dùng để quản lý và duyệt các chia sẻ mạng. Đây có thể là một nỗ lực ngụy trang để tránh bị phát hiện.
Socket kết luận: "Ngay cả khi không có tệp nhị phân giai đoạn hai, trình cài đặt độc hại này cũng đủ để chặn. Nó cung cấp khả năng thực thi mã từ xa trong quá trình cài đặt hoặc xây dựng, đồng thời cố gắng che giấu hoạt động bằng cách vô hiệu hóa xác thực TLS, dập lỗi và chạy tệp nhị phân tải về trong nền."
Nguồn: The Hacker News - https://thehackernews.com/2026/05/packagist-supply-chain-attack-infects-8.html





