TL;DR

  • Socket và Docker công bố phát hiện malicious images trong official checkmarx/kics Docker 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.sh exfil credentials qua checkmarx[.]zone, có fallback push dữ liệu encrypt lên GitHub repo docs-tpcp ngay trong tài khoản nạn nhân.
  • Ước tính ~20,000 repo1,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-action không pin SHA, hoặc cài ast-results/cx-dev-assist từ 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:

ItemGiá trị
C2 domaincheckmarx[.]zone (83.142.209.11)
Fallback exfilGitHub repo docs-tpcp trong victim account
EncryptionAES-256-CBC + RSA-encrypted session key
K8s persistencePrivileged pod trong kube-system + sysmon.py poll 50 phút
OpenVSX window02:53–15:41 UTC, 23/03/2026
GitHub Action window12:58–16:50 UTC, 23/03/2026
KICS Action tags bị hijack35 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ụVectorScaleĐặc trưng
SolarWinds (2020)Build system compromise~18,000 khách hàngNation-state, stealth
3CX (2023)Installer trojanize12M usersDouble supply chain
TeamPCP (2026)CI/CD credentials pivot chain~20,000 repoSelf-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/kics từ 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-system cho privileged pod lạ, tìm file sysmon.py và outbound traffic tới 83.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:

  1. Rotate mọi credential đi qua CI/CD có dùng Checkmarx: GitHub PAT, cloud access keys, K8s SA tokens, SSH keys, Docker creds.
  2. Block egress tới checkmarx[.]zone và IP 83.142.209.11.
  3. Search GitHub org cho repo tên docs-tpcp hoặc artifact tpcp.tar.gz — dấu hiệu đã bị exfil.
  4. Pin mọi GitHub Action theo commit SHA, không dùng floating tag.
  5. Enable Docker Hub content trust và verify image digest trước khi pull.
  6. 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.