Tấn công Chuỗi Cung Ứng GitHub Action: Nguy hiểm Infostealer

Một tấn công chuỗi cung ứng tinh vi nhắm vào GitHub Action chính thức của Trivy (aquasecurity/trivy-action) đã xâm nhập vào các quy trình tích hợp liên tục và triển khai liên tục (CI/CD) trên toàn cầu. Sự cố này, được tiết lộ vào cuối tháng 3 năm 2026, đánh dấu sự cố thỏa hiệp thứ hai liên tiếp ảnh hưởng đến hệ sinh thái Trivy chỉ trong vòng một tháng.
Các đối tượng đe dọa đã thành công force-push 75 trên 76 thẻ phiên bản hiện có để phân phối một infostealer độc hại. Với hơn 10.000 tệp quy trình làm việc của GitHub dựa vào action này, phạm vi ảnh hưởng của việc đánh cắp thông tin xác thực là rất lớn.
Kỹ thuật Xâm Nhập và Che Giấu
Thay vì đẩy mã lên một nhánh hoặc tạo một bản phát hành mới, kẻ tấn công đã lợi dụng quyền ghi còn sót lại từ một vụ rò rỉ thông tin xác thực trước đó để âm thầm thay đổi các thẻ phiên bản hiện có.
Kẻ tấn công đã force-push 75 thẻ, bao gồm các phiên bản được sử dụng rộng rãi như @0.33.0 và @0.18.0, để trỏ đến các commit mới được giả mạo.
Điều này biến các tham chiếu phiên bản đáng tin cậy và được cho là bất biến thành một cơ chế phân phối trực tiếp cho phần mềm infostealer tùy chỉnh của chúng.
Bằng cách hoàn toàn bỏ qua nhu cầu tạo các bản phát hành mới, kẻ tấn công đã giảm thiểu khả năng kích hoạt các cảnh báo bảo mật tự động hoặc thông báo cho những người bảo trì dự án về các cập nhật nhánh trái phép.
Giả Mạo Metadata Git
Để tránh bị phát hiện, kẻ tấn công đã giả mạo metadata commit của Git. Chúng đã sao chép tên tác giả, ngày tháng và thông điệp commit gốc để làm cho các commit độc hại trông hợp pháp trong nhật ký kho lưu trữ.
Mã đã sửa đổi sử dụng cây tệp master hiện tại nhưng đã hoán đổi tệp entrypoint.sh hợp pháp bằng một phiên bản bị nhiễm độc.
Việc kiểm tra kỹ lưỡng sẽ tiết lộ sự giả mạo do ngày commit độc hại mâu thuẫn với commit gốc tháng 3 năm 2026 và các commit này thiếu chữ ký GPG của GitHub web-flow.
Đáng chú ý, phiên bản @0.35.0 vẫn không bị động chạm và là thẻ an toàn duy nhất. Thông tin chi tiết có thể được tìm thấy tại Socket.dev.
Hoạt Động của Infostealer Độc Hại
Tệp script entrypoint.sh độc hại, dài 204 dòng, thực hiện các hoạt động độc hại của nó trước khi chạy quét Trivy hợp pháp, cho phép nó ẩn mình.
Theo Socket, infostealer này hoạt động theo ba giai đoạn riêng biệt: thu thập có mục tiêu, mã hóa mạnh mẽ và đánh cắp dữ liệu tinh vi.
Giai Đoạn 1: Thu Thập Dữ Liệu
Trong giai đoạn thu thập, phần mềm độc hại nhắm mục tiêu vào cả các runner do GitHub lưu trữ và các runner tự lưu trữ.
- Trên môi trường Linux do GitHub lưu trữ: Nó sử dụng đặc quyền
sudokhông cần mật khẩu để kết xuất bộ nhớ tiến trìnhRunner.Workervà trích xuất bí mật trực tiếp từ heap. - Trên các runner tự lưu trữ: Một script Python toàn diện quét hệ thống tệp để tìm dữ liệu nhạy cảm trên nhiều thư mục.
Script này săn lùng một cách có hệ thống các khóa SSH, thông tin xác thực cơ sở dữ liệu, tệp cấu hình CI/CD và thậm chí cả dữ liệu ví tiền điện tử, đảm bảo thu thập một lượng lớn thông tin có giá trị.
Giai Đoạn 2: Mã Hóa Dữ Liệu
Ở giai đoạn thứ hai, dữ liệu bị đánh cắp được nén và mã hóa bằng AES-256-CBC. Khóa mã hóa được bao bọc bằng khóa công khai RSA-4096.
Giai Đoạn 3: Đánh Cắp và Ngoại Lấy Dữ Liệu (Exfiltration)
Cuối cùng, phần mềm độc hại cố gắng ngoại lấy gói dữ liệu đã mã hóa thông qua yêu cầu HTTPS POST đến một miền typosquatting: scan[.]aquasecurtiy[.]org.
Nếu kênh chính này thất bại, script sẽ sử dụng GitHub Personal Access Token của nạn nhân để tạo một kho lưu trữ công khai có tên tpcp-docs và tải dữ liệu bị đánh cắp lên dưới dạng tài sản phát hành (release asset).
Phần mềm độc hại tự nhận dạng là “TeamPCP Cloud stealer”. Các nhà nghiên cứu bảo mật theo dõi TeamPCP như một mối đe dọa mạng bản địa đám mây, được biết đến với việc khai thác cơ sở hạ tầng được cấu hình sai cho các hoạt động ransomware và khai thác tiền điện tử.
Chỉ Số Thỏa Hiệp (IOCs)
Các chỉ số thỏa hiệp liên quan đến tấn công chuỗi cung ứng này bao gồm:
- Tên miền Typosquatting:
scan[.]aquasecurtiy[.]org - Tên kho lưu trữ GitHub độc hại:
tpcp-docs
Biện Pháp Giảm Thiểu và Khắc Phục
Các tổ chức phải ngừng ngay lập tức việc tham chiếu trivy-action bằng các thẻ phiên bản, ngoại trừ @0.35.0. Để đảm bảo an toàn hoàn toàn, các pipeline nên ghim hành động vào SHA commit an toàn cụ thể sau:
57a97c7e7821a5776cebc9bb87c984fa69cba8f1Bất kỳ môi trường nào đã thực thi một thẻ bị nhiễm độc đều phải được coi là đã bị xâm phạm hoàn toàn. Các nhóm bảo mật nên khẩn cấp xoay vòng tất cả các bí mật bị lộ, bao gồm thông tin xác thực đám mây và mã thông báo API. Đây là một rủi ro bảo mật nghiêm trọng cần được xử lý ngay lập tức.
Ngoài ra, các quản trị viên nên kiểm tra các tổ chức GitHub của họ để tìm các kho lưu trữ tpcp-docs trái phép.







