- Socket và Docker vừa xác nhận malicious images trong chính official checkmarx/kics Docker Hub repo, cùng nhiều bản VS Code extension gần đây.
- Vụ TeamPCP không chỉ dừng ở GitHub Actions như Checkmarx công bố — nó đang lan rộng qua toàn bộ chuỗi phân phối.
TL;DR
- Socket và Docker công bố phát hiện malicious images trong official
checkmarx/kicsDocker Hub repo, mở rộng phạm vi vụ TeamPCP so với disclosure gốc của Checkmarx. - Các bản Checkmarx VS Code extension gần đây (phát hành qua OpenVSX) cũng bị trojanize, không chỉ GitHub Actions.
- Payload là infostealer
setup.shexfil credentials quacheckmarx[.]zone, có fallback push dữ liệu encrypt lên GitHub repodocs-tpcpngay trong tài khoản nạn nhân. - Ước tính ~20,000 repo và 1,000+ enterprise SaaS environment trong vùng ảnh hưởng; attacker claim đã lấy hundreds of GB data và 500K+ accounts.
- Nếu bạn dùng
checkmarx/kics-github-actionkhông pin SHA, hoặc càiast-results/cx-dev-assisttừ OpenVSX trong ngày 23/03, hãy rotate credential ngay.
Những gì vừa được công bố
Trong công bố gốc ngày 23/03/2026, Checkmarx chỉ xác nhận hai nhóm artifact bị ảnh hưởng: OpenVSX extensions (ast-results v2.53.0, cx-dev-assist v1.7.0) và GitHub Actions workflow (ast-github-action, kics-github-action). Docker Hub không nằm trong danh sách.
Nhưng rà soát của Socket và Docker (công bố trên X bởi researcher @h4x0r_dz) phát hiện malicious images vẫn đang hiện diện trong chính official checkmarx/kics Docker Hub repository. Đây là dấu hiệu TeamPCP đã đẩy payload xuống layer distribution thấp nhất — nơi hàng ngàn CI pipeline docker pull trực tiếp mà không verify signature.
Vì sao điều này quan trọng
Supply chain attack lên security scanner là "weapon-grade" vì logic của scanner là đọc được toàn bộ codebase, credential, và build output. Trong vòng 4 giờ ngày 23/03, attacker đã hijack 35 tag của KICS GitHub Action (v1 tới v2.1.20) và chèn setup.sh vào event Prepare Environment — nghĩa là script chạy trước mọi build step, với full quyền truy cập secret.
Khi security scanner trở thành vector tấn công, bạn không còn gì để scan chính attacker.
Việc Docker Hub images cũng bị nhiễm có nghĩa: kể cả khi bạn đã pin GitHub Action theo commit SHA (best practice), pipeline của bạn vẫn có thể bị compromise nếu step tiếp theo docker pull checkmarx/kics:latest.
Technical facts
Dưới đây là các chi tiết kỹ thuật chính được xác nhận bởi Wiz, Arctic Wolf, và Checkmarx:
| Item | Giá trị |
|---|---|
| C2 domain | checkmarx[.]zone (83.142.209.11) |
| Fallback exfil | GitHub repo docs-tpcp trong victim account |
| Encryption | AES-256-CBC + RSA-encrypted session key |
| K8s persistence | Privileged pod trong kube-system + sysmon.py poll 50 phút |
| OpenVSX window | 02:53–15:41 UTC, 23/03/2026 |
| GitHub Action window | 12:58–16:50 UTC, 23/03/2026 |
| KICS Action tags bị hijack | 35 tag (v1 → v2.1.20) |
Phần payload đặc biệt hung hăng: nó dump memory của Runner.Worker process qua Python, query AWS IMDSv1/v2, và probe Kubernetes API tìm service account token tại /var/run/secrets/kubernetes.io/serviceaccount/token để escalate sang cluster-level.
So với các vụ supply chain gần đây
| Vụ | Vector | Scale | Đặc trưng |
|---|---|---|---|
| SolarWinds (2020) | Build system compromise | ~18,000 khách hàng | Nation-state, stealth |
| 3CX (2023) | Installer trojanize | 12M users | Double supply chain |
| TeamPCP (2026) | CI/CD credentials pivot chain | ~20,000 repo | Self-propagating, tấn công security scanner |
Chuỗi pivot của TeamPCP đi từ Trivy (19/03) → Checkmarx (23/03) → LiteLLM (24/03) và CanisterWorm tự lan qua 141 npm package. Trivy compromise nhận CVE-2026-33634 với CVSS 9.4 — gần maximum.
Ai cần hành động ngay
- Team DevSecOps đang dùng KICS trong pipeline: kiểm tra workflow có pin commit SHA không; nếu reference theo tag (
@v1,@v2), coi như đã bị ảnh hưởng trong exposure window. - Developers đã cài Checkmarx extension từ OpenVSX (không phải VS Code Marketplace) ngày 23/03: uninstall ngay, rotate toàn bộ token lưu trong VS Code settings.
- CI/CD platforms có pull
checkmarx/kicstừ Docker Hub: re-pull image với digest mới, rebuild mọi container dẫn xuất. - Platform engineers quản Kubernetes: rà soát
kube-systemcho privileged pod lạ, tìm filesysmon.pyvà outbound traffic tới83.142.209.11.
Limitations & remediation
Checkmarx cho biết "chưa có bằng chứng khách hàng bị exfil thành công" — nhưng attacker claim đã thu hundreds of GB. Chênh lệch này cho thấy investigation còn lâu mới kết thúc.
Danh sách hành động tối thiểu:
- Rotate mọi credential đi qua CI/CD có dùng Checkmarx: GitHub PAT, cloud access keys, K8s SA tokens, SSH keys, Docker creds.
- Block egress tới
checkmarx[.]zonevà IP 83.142.209.11. - Search GitHub org cho repo tên
docs-tpcphoặc artifacttpcp.tar.gz— dấu hiệu đã bị exfil. - Pin mọi GitHub Action theo commit SHA, không dùng floating tag.
- Enable Docker Hub content trust và verify image digest trước khi pull.
- Upgrade:
ast-github-action≥ v2.3.33; reinstall VS Code extension từ Marketplace chính chủ.
What's next
CanisterWorm tiếp tục self-propagate qua npm — follow-up breach trong Q2/2026 là kịch bản phải chuẩn bị. Cộng đồng đang kêu gọi GitHub Actions và Docker Hub bắt buộc provenance attestation + signed releases làm default cho mọi publisher, không phải opt-in.
Nếu team bạn vẫn còn uses: checkmarx/kics-github-action@v1 trong workflow, đó chính là bug cần fix đầu tiên sáng nay.
Nguồn: Checkmarx Security Update, Wiz, Arctic Wolf, The Hacker News, @h4x0r_dz on X.


