Một cuộc tấn công chuỗi cung ứng lớn được cho là do tác nhân đe dọa ‘TeamPCP’ thực hiện đã làm tổn hại trình quét lỗ hổng Trivy của Aqua Security và ít nhất hai khung công việc khác bắt đầu từ ngày 19 tháng 3 năm 2026, chèn mã độc đánh cắp thông tin xác thực bằng cách lạm dụng tính năng thẻ kho lưu trữ của GitHub để chiếm quyền điều khiển các quy trình CI/CD. Chiến dịch này đã biến các công cụ bảo mật đáng tin cậy thành một phương tiện để đánh cắp thông tin xác thực trên diện rộng, nhắm vào các bí mật của cả ba nhà cung cấp đám mây lớn.
Nhóm Microsoft Defender for Cloud cho biết trong một blog bảo mật: "Hoạt động này sau đó đã mở rộng sang các khung công việc bổ sung, bao gồm Checkmarx KICS và LiteLLM," lưu ý rằng chuỗi tấn công cốt lõi vẫn tương tự trong mỗi đợt. "Mỗi đợt sử dụng một tên miền C2 mới có chủ đề liên quan đến dự án bị xâm phạm."
Những kẻ tấn công đã ép đẩy (force-push) 76 trên 77 thẻ phiên bản trong kho lưu trữ GitHub aquasecurity/trivy-action và tất cả bảy thẻ trong aquasecurity/setup-trivy, chuyển hướng chúng đến mã độc. Một tệp nhị phân Trivy độc hại, phiên bản 0.69.4, cũng đã được xuất bản lên các kênh chính thức. Mã độc đã đánh cắp thông tin xác thực đám mây cho AWS, GCP và Azure, cùng với các bí mật Kubernetes, gửi đến các tên miền giả mạo như scan.aquasecurtiy[.]org.
Cuộc tấn công biến các công cụ bảo mật và phát triển đáng tin cậy thành các mối đe dọa nội bộ, tạo ra rủi ro đáng kể cho bất kỳ tổ chức nào sử dụng quy trình CI/CD tự động với các phiên bản bị xâm phạm. Việc tập trung vào thu thập thông tin xác thực trên diện rộng cho thấy mục tiêu của tác nhân là giành quyền truy cập rộng rãi vào cơ sở hạ tầng đám mây cho các cuộc tấn công tiếp theo, với tổng phạm vi ảnh hưởng vẫn đang được điều tra.
Cách các thẻ có thể thay đổi trở thành vũ khí
Cuộc tấn công đã khai thác một tính năng thiết kế cốt lõi của Git: các thẻ có thể thay đổi (mutable tags). Theo mặc định, một thẻ—một nhãn trỏ đến một phiên bản phần mềm cụ thể—có thể được gán lại bởi bất kỳ ai có quyền đẩy (push) vào kho lưu trữ. Tác nhân đe dọa đã sử dụng các thông tin xác thực bị xâm phạm để gắn thẻ lại 76 phiên bản hiện có của trivy-action và tất cả các phiên bản của setup-trivy, trỏ chúng đến các cam kết (commits) mới chứa mã độc.
Các quy trình CI/CD ở hạ nguồn tham chiếu các hành động này bằng thẻ phiên bản đã tự động tải mã của kẻ tấn công trong lần chạy tiếp theo, mà không có thay đổi hiển thị nào trong giao diện người dùng của GitHub để cảnh báo các nhà phát triển. Tác nhân này cũng giả mạo danh tính cam kết, làm cho các cam kết độc hại có vẻ hợp lệ, một chiến thuật đã từng thấy trong các cuộc tấn công chuỗi cung ứng khác. Phương pháp này bỏ qua việc kiểm tra phiên bản thông thường và cho phép mã độc lan truyền âm thầm.
Vụ đánh cắp thông tin xác thực nhiều giai đoạn
Sau khi được thực thi trong một trình chạy CI/CD, mã độc bắt đầu hoạt động thu thập thông tin xác thực trên diện rộng. Sau khi nhận dạng máy chủ, một trình đánh cắp dựa trên Python đã tìm kiếm thông tin xác thực cho Amazon Web Services, Google Cloud Platform và Microsoft Azure, truy vấn cả biến môi trường và dịch vụ siêu dữ liệu phiên bản.
Mã độc không dừng lại ở các khóa đám mây. Nó cũng liệt kê và đánh cắp các bí mật Kubernetes, tìm kiếm trong hệ thống tệp các khóa API trong các tệp cấu hình và thu thập các URL webhook của Slack và Discord. Dữ liệu bị đánh cắp được mã hóa thành kho lưu trữ tpcp.tar.gz và gửi qua HTTP POST đến một máy chủ do kẻ tấn công kiểm soát. Để che giấu sự xâm nhập, mã độc sau đó sẽ thực thi trình quét Trivy hợp lệ, cho phép quy trình hoàn thành thành công với đầu ra mong đợi.
Giảm thiểu và các phiên bản bị ảnh hưởng
Các tổ chức được khuyến cáo nên kiểm tra ngay lập tức các quy trình CI/CD của họ và đảm bảo rằng họ đang chạy các phiên bản an toàn đã được xác minh của các công cụ bị ảnh hưởng. Việc cố định các hành động vào các mã SHA cam kết không thể thay đổi thay vì các thẻ phiên bản có thể thay đổi là biện pháp phòng ngừa quan trọng nhất.
Microsoft đã cung cấp bảng sau về các sản phẩm bị ảnh hưởng và các phiên bản an toàn tối thiểu nên sử dụng:
| Sản phẩm | Thành phần | Phiên bản an toàn |
|---|
| Trivy | Trivy binary | v0.69.2 – v0.69.3 |
| trivy-action | v0.35.0 |
| setup-trivy | v0.2.6 |
| LiteLLM | litellm | v1.82.6 trở xuống |
| Checkmarx | checkmarx.cx-dev-assist | 1.10.0 trở lên |
| checkmarx.ast-results | 2.56.0 trở lên |
| ast-github-action | 2.3.33 |
| kics-github-action | 2.1.20 |
Các đội bảo mật cũng có thể săn tìm các dấu hiệu xâm nhập. Khách hàng của Microsoft Defender có thể sử dụng các truy vấn săn tìm nâng cao để tìm các lệnh độc hại, các truy vấn DNS đáng ngờ đến các tên miền của kẻ tấn công và việc liệt kê các bí mật Kubernetes. Ví dụ, truy vấn sau có thể giúp xác định các dòng lệnh liên quan đến các cuộc tấn công của TeamPCP:
CloudProcessEvents | where ProcessCommandLine has_any ('scan.aquasecurtiy.org','checkmarx.zone','tpcp.tar.gz')
Sự cố này đóng vai trò như một lời nhắc nhở quan trọng về sự mong manh của chuỗi cung ứng phần mềm. Đối với các nhà đầu tư, nó làm nổi bật các rủi ro vận hành và tài chính đối với các công ty phụ thuộc nhiều vào phần mềm nguồn mở mà không có quy trình xác minh nghiêm ngặt. Các công ty bị phát hiện sử dụng các công cụ bị xâm phạm có thể phải đối mặt với chi phí khắc phục đáng kể, trách nhiệm pháp lý tiềm tàng do vi phạm dữ liệu và mất lòng tin của khách hàng, ảnh hưởng đến hiệu suất cổ phiếu của họ. Ngược lại, sự kiện này có thể đóng vai trò là động lực cho các công ty an ninh mạng như Palo Alto Networks (PANW) hoặc CrowdStrike (CRWD) chuyên về bảo mật chuỗi cung ứng và bảo vệ khối lượng công việc đám mây.
Bài viết này chỉ nhằm mục đích thông tin và không cấu thành lời khuyên đầu tư.