Duy Linh
Writer
Một chiến dịch tấn công mạng quy mô lớn do nhóm tội phạm tài chính TeamPCP thực hiện đang khiến giới an ninh mạng đặc biệt lo ngại khi các đối tượng không còn tập trung vào người dùng cuối mà chuyển sang khai thác trực tiếp chuỗi cung ứng phần mềm hiện đại. Mục tiêu của nhóm là lợi dụng các quy trình CI/CD đáng tin cậy để đánh cắp thông tin đăng nhập của lập trình viên và hệ thống đám mây trên diện rộng.
Phương thức hoạt động của TeamPCP được đánh giá là đơn giản nhưng cực kỳ hiệu quả. Thay vì tấn công trực tiếp vào hạ tầng của doanh nghiệp, nhóm này tìm cách xâm nhập các pipeline xây dựng và phát hành phần mềm. Khi mã độc được cài vào quy trình CI/CD, hacker có thể lợi dụng sự tin tưởng của doanh nghiệp đối với các bản build tự động, các gói đã ký điện tử và kho lưu trữ chính thức để phát tán mã độc mà không gây nghi ngờ.
Trong vụ việc liên quan đến Checkmarx KICS, tin tặc đã đồng thời phát tán mã độc thông qua ảnh Docker, tiện ích mở rộng VS Code và GitHub Actions. Theo nghiên cứu mới, các sự cố xảy ra ngày 22/4 với Checkmarx KICS và ngày 24/4 với elementary-data thực chất nằm trong một chiến dịch phối hợp kéo dài ít nhất bảy đợt từ tháng 3 đến tháng 4/2026. Chiến dịch này ảnh hưởng đến nhiều nền tảng lớn như GitHub Actions, PyPI, Docker Hub và hệ sinh thái extension của VS Code.
Lịch trình chiến dịch của TeamPCP từ vụ xâm nhập ban đầu vào Trivy GitHub Actions (Nguồn: TrendAI).
Chỉ vài giờ sau khi có được token npm bị đánh cắp, nhóm này đã nhanh chóng chiếm quyền kiểm soát gói @bitwarden/cli. Điều đó cho thấy các thông tin xác thực bị lộ có thể ngay lập tức bị biến thành công cụ phục vụ tấn công chuỗi cung ứng.
Trong khi vụ KICS có mức độ phức tạp cao, cuộc tấn công vào elementary-data lại diễn ra theo cách đơn giản hơn rất nhiều. Chỉ một bình luận pull request chưa được xử lý trên GitHub cũng đủ để hacker chèn mã độc vào workflow CI của dự án. Sau khi quy trình được kích hoạt, hệ thống tự động build và phát hành một gói phần mềm độc hại lên PyPI và GitHub Container Registry nhưng vẫn mang đầy đủ dấu hiệu của một bản phát hành hợp pháp.
Dù cùng chung mục tiêu, TeamPCP liên tục thay đổi kỹ thuật triển khai để phù hợp với từng mục tiêu khác nhau. Payload trong chiến dịch KICS sử dụng JavaScript đánh cắp dữ liệu chạy trên môi trường Bun, kết hợp nhiều phương pháp mã hóa mạnh như AES-256-GCM và RSA.
Chuỗi lây nhiễm đa kênh Checkmarx KICS (Nguồn: TrendAI).
Ngược lại, chiến dịch elementary-data lại dùng tệp .pth Python có kích thước nhỏ, tự động thực thi mỗi khi Python khởi động nhằm tránh bị phát hiện bởi các cơ chế bảo mật truyền thống.
Một điểm đáng chú ý khác là malware của elementary-data sử dụng thuật toán XOR tùy chỉnh để che giấu payload. Khóa giải mã được tạo từ Session Messenger ID, chuỗi định danh xuất hiện trong nhiều vụ tấn công và được xem như “dấu vân tay” của nhóm hacker.
Ngoài ra, TeamPCP còn để lại nhiều dấu hiệu nhận diện xuyên suốt chiến dịch thông qua HTTP header tùy chỉnh, tên file lưu trữ và các kho GitHub mang chủ đề Dune.
Riêng elementary-data có hơn 1,1 triệu lượt tải mỗi tháng và phiên bản chứa mã độc đã tồn tại từ 22:20:47 UTC ngày 24/4 cho đến khoảng ngày 25/4 trước khi bị phát hiện.
Chuỗi lây nhiễm của vụ xâm phạm chuỗi cung ứng dữ liệu cơ bản (Nguồn: TrendAI).
Các hoạt động đã được xác nhận bao gồm những vụ xâm nhập liên quan đến Trivy, KICS, LiteLLM, Xinference, Telnyx và Bitwarden CLI. Một số bằng chứng cũng cho thấy thông tin đăng nhập bị đánh cắp có liên hệ với hoạt động ransomware của các nhóm Vect và CipherForce.
Theo các chuyên gia an ninh mạng, mức độ nguy hiểm của chiến dịch nằm ở khả năng mở rộng cực lớn. Khi hacker kiểm soát được pipeline CI/CD, chúng có thể tự động phát tán mã độc tới hàng nghìn người dùng đang tin tưởng các bản cập nhật và build chính thức.
Những sự cố này cũng phơi bày điểm yếu nghiêm trọng của mô hình phát triển phần mềm hiện đại: sự phụ thuộc quá lớn vào tự động hóa. Ngay cả khi không chiếm được tài khoản của nhà phát triển hoặc maintainer, hacker vẫn có thể thao túng workflow để tạo ra các bản phát hành độc hại nhưng có vẻ ngoài hoàn toàn hợp lệ.
Các tổ chức sử dụng GitHub Actions, PyPI, Docker Hub và các nền tảng tương tự đang đứng trước nguy cơ lớn nếu không triển khai biện pháp bảo vệ phù hợp.
Các chuyên gia khuyến nghị doanh nghiệp cần áp dụng nguyên tắc đặc quyền tối thiểu, kiểm tra chặt dữ liệu đầu vào trong workflow và theo dõi các cuộc gọi API bất thường như truy cập trái phép tới AWS Secrets Manager nhằm giảm thiểu nguy cơ bị tấn công.
Chiến dịch của TeamPCP cho thấy trong các cuộc tấn công chuỗi cung ứng hiện đại, chính hệ thống CI/CD đã trở thành mục tiêu trọng yếu và cũng là mắt xích nguy hiểm nhất trong toàn bộ quy trình phát triển phần mềm.
Phương thức hoạt động của TeamPCP được đánh giá là đơn giản nhưng cực kỳ hiệu quả. Thay vì tấn công trực tiếp vào hạ tầng của doanh nghiệp, nhóm này tìm cách xâm nhập các pipeline xây dựng và phát hành phần mềm. Khi mã độc được cài vào quy trình CI/CD, hacker có thể lợi dụng sự tin tưởng của doanh nghiệp đối với các bản build tự động, các gói đã ký điện tử và kho lưu trữ chính thức để phát tán mã độc mà không gây nghi ngờ.
Trong vụ việc liên quan đến Checkmarx KICS, tin tặc đã đồng thời phát tán mã độc thông qua ảnh Docker, tiện ích mở rộng VS Code và GitHub Actions. Theo nghiên cứu mới, các sự cố xảy ra ngày 22/4 với Checkmarx KICS và ngày 24/4 với elementary-data thực chất nằm trong một chiến dịch phối hợp kéo dài ít nhất bảy đợt từ tháng 3 đến tháng 4/2026. Chiến dịch này ảnh hưởng đến nhiều nền tảng lớn như GitHub Actions, PyPI, Docker Hub và hệ sinh thái extension của VS Code.
Lịch trình chiến dịch của TeamPCP từ vụ xâm nhập ban đầu vào Trivy GitHub Actions (Nguồn: TrendAI).
Chỉ vài giờ sau khi có được token npm bị đánh cắp, nhóm này đã nhanh chóng chiếm quyền kiểm soát gói @bitwarden/cli. Điều đó cho thấy các thông tin xác thực bị lộ có thể ngay lập tức bị biến thành công cụ phục vụ tấn công chuỗi cung ứng.
Trong khi vụ KICS có mức độ phức tạp cao, cuộc tấn công vào elementary-data lại diễn ra theo cách đơn giản hơn rất nhiều. Chỉ một bình luận pull request chưa được xử lý trên GitHub cũng đủ để hacker chèn mã độc vào workflow CI của dự án. Sau khi quy trình được kích hoạt, hệ thống tự động build và phát hành một gói phần mềm độc hại lên PyPI và GitHub Container Registry nhưng vẫn mang đầy đủ dấu hiệu của một bản phát hành hợp pháp.
Mục tiêu chính là đánh cắp dữ liệu và thông tin xác thực
Chiến dịch của TeamPCP tập trung mạnh vào việc thu thập thông tin đăng nhập và dữ liệu nhạy cảm. Các mục tiêu bị nhắm tới bao gồm:- GitHub Personal Access Token (PAT) và token npm
- Thông tin xác thực đám mây AWS, Azure và GCP
- Khóa SSH cùng bí mật Kubernetes
- Tệp Infrastructure as Code và bí mật CI/CD
- Thông tin cấu hình, tài khoản cơ sở dữ liệu của lập trình viên
- Kho khóa ví tiền điện tử
Dù cùng chung mục tiêu, TeamPCP liên tục thay đổi kỹ thuật triển khai để phù hợp với từng mục tiêu khác nhau. Payload trong chiến dịch KICS sử dụng JavaScript đánh cắp dữ liệu chạy trên môi trường Bun, kết hợp nhiều phương pháp mã hóa mạnh như AES-256-GCM và RSA.
Chuỗi lây nhiễm đa kênh Checkmarx KICS (Nguồn: TrendAI).
Ngược lại, chiến dịch elementary-data lại dùng tệp .pth Python có kích thước nhỏ, tự động thực thi mỗi khi Python khởi động nhằm tránh bị phát hiện bởi các cơ chế bảo mật truyền thống.
Một điểm đáng chú ý khác là malware của elementary-data sử dụng thuật toán XOR tùy chỉnh để che giấu payload. Khóa giải mã được tạo từ Session Messenger ID, chuỗi định danh xuất hiện trong nhiều vụ tấn công và được xem như “dấu vân tay” của nhóm hacker.
Ngoài ra, TeamPCP còn để lại nhiều dấu hiệu nhận diện xuyên suốt chiến dịch thông qua HTTP header tùy chỉnh, tên file lưu trữ và các kho GitHub mang chủ đề Dune.
Rủi ro lan rộng trên toàn hệ sinh thái phần mềm
Chiến dịch này đã ảnh hưởng tới ít nhất năm hệ sinh thái lập trình cùng hàng loạt kho lưu trữ phần mềm khác nhau.Riêng elementary-data có hơn 1,1 triệu lượt tải mỗi tháng và phiên bản chứa mã độc đã tồn tại từ 22:20:47 UTC ngày 24/4 cho đến khoảng ngày 25/4 trước khi bị phát hiện.
Chuỗi lây nhiễm của vụ xâm phạm chuỗi cung ứng dữ liệu cơ bản (Nguồn: TrendAI).
Các hoạt động đã được xác nhận bao gồm những vụ xâm nhập liên quan đến Trivy, KICS, LiteLLM, Xinference, Telnyx và Bitwarden CLI. Một số bằng chứng cũng cho thấy thông tin đăng nhập bị đánh cắp có liên hệ với hoạt động ransomware của các nhóm Vect và CipherForce.
Theo các chuyên gia an ninh mạng, mức độ nguy hiểm của chiến dịch nằm ở khả năng mở rộng cực lớn. Khi hacker kiểm soát được pipeline CI/CD, chúng có thể tự động phát tán mã độc tới hàng nghìn người dùng đang tin tưởng các bản cập nhật và build chính thức.
Những sự cố này cũng phơi bày điểm yếu nghiêm trọng của mô hình phát triển phần mềm hiện đại: sự phụ thuộc quá lớn vào tự động hóa. Ngay cả khi không chiếm được tài khoản của nhà phát triển hoặc maintainer, hacker vẫn có thể thao túng workflow để tạo ra các bản phát hành độc hại nhưng có vẻ ngoài hoàn toàn hợp lệ.
Các tổ chức sử dụng GitHub Actions, PyPI, Docker Hub và các nền tảng tương tự đang đứng trước nguy cơ lớn nếu không triển khai biện pháp bảo vệ phù hợp.
Các chuyên gia khuyến nghị doanh nghiệp cần áp dụng nguyên tắc đặc quyền tối thiểu, kiểm tra chặt dữ liệu đầu vào trong workflow và theo dõi các cuộc gọi API bất thường như truy cập trái phép tới AWS Secrets Manager nhằm giảm thiểu nguy cơ bị tấn công.
Chiến dịch của TeamPCP cho thấy trong các cuộc tấn công chuỗi cung ứng hiện đại, chính hệ thống CI/CD đã trở thành mục tiêu trọng yếu và cũng là mắt xích nguy hiểm nhất trong toàn bộ quy trình phát triển phần mềm.
Được phối hợp thực hiện bởi các chuyên gia của Bkav,
cộng đồng An ninh mạng Việt Nam WhiteHat
và cộng đồng Khoa học công nghệ VnReview