Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/ugurrates/teampcp-supply-chain-attack
Sécurité des ConteneursAnalyse de MalwareSécurité CloudRenseignement sur les MenacesSécurité de la Chaîne LogistiqueApprentissage et ÉducationRéponse aux IncidentsRessources Organisées
GitHubugurrates/teampcp-supply-chain-attack

teampcp-supply-chain-attack

CVE-2026-33634 (CVSS 9.4) — L'attaque de la chaîne d'approvisionnement CI/CD la plus marquante de 2026 à ce jour.

Voir le dépôt
11312il y a 2 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Attaque de la chaîne d'approvisionnement TeamPCP : analyse technique et guide de détection

CVE-2026-33634 (CVSS 9.4) — L'attaque de chaîne d'approvisionnement CI/CD la plus impactante de 2026 à ce jour.

Entre le 19 et le 25 mars 2026, l'acteur de la menace TeamPCP (également suivi sous les noms DeadCatx3, PCPcat, ShellForce, CanisterWorm) a exécuté une compromission en cascade de la chaîne d'approvisionnement à travers cinq écosystèmes : GitHub Actions, Docker Hub, OpenVSX, npm et PyPI. Partant d'un seul PAT GitHub incomplètement révoqué, la campagne s'est propagée à deux grands éditeurs open source de sécurité (Aqua Security et Checkmarx), quatre dépôts GitHub Actions, deux extensions VS Code, des registres de conteneurs et plus de 66 paquets npm.

Ce dépôt fournit une analyse technique complète, des listes d'IOC organisées (testées contre les faux positifs) et des requêtes de détection prêtes à déployer dans Microsoft Defender XDR.


Table des matières

  • Attack Timeline
  • Kill Chain Breakdown
  • Compromised Artifacts
  • Credential Stealer Mechanics
  • CanisterWorm — npm Propagation
  • Iran-Targeted Wiper Component
  • Detection & Hunting
  • IOC List
  • FP Filtering Notes
  • MITRE ATT&CK Mapping
  • References

Chronologie de l'attaque

Date (UTC)Événement
20 févr. 2026Compte hackerbot-claw créé ; commence à scanner les dépôts à la recherche de workflows pull_request_target exploitables
28 févr. 2026Première compromission de Trivy via une PWN request ; identifiants exfiltrés
1 mars 2026Aqua Security tente de contenir — rotation des identifiants incomplète
19 mars, 17:43Frappe principale : TeamPCP effectue un force-push de 75/76 tags dans aquasecurity/trivy-action + les 7 tags dans setup-trivy via le compte de service aqua-bot compromis
19 mars, 18:22Version backdoorée de Trivy v0.69.4 publiée sur GitHub Releases, Docker Hub, GHCR, ECR
20 mars, 05:40La fenêtre de compromission de Trivy-action se referme (~12 heures)
20 mars, 20:45CanisterWorm détecté en train de se propager via npm — 47+ paquets compromis
22 mars, 20:31TeamPCP défigure les 44 dépôts de l'organisation GitHub aquasec-com en une rafale scriptée de 2 minutes
22 marsImages Docker Hub 0.69.5 et 0.69.6 poussées avec la même charge utile de voleur
23 mars, 02:53La vague Checkmarx commence : ast-results v2.53.0 et cx-dev-assist v1.7.0 malveillants publiés sur OpenVSX via le compte ast-phoenix
23 mars, 12:58Les 35 tags de Checkmarx/kics-github-action ont été force-pushés via le compte cx-plugins-releases compromis
23 mars, 15:41Checkmarx signale le problème OpenVSX résolu
23 mars, 16:50L'action GitHub KICS retirée après un signalement d'utilisateur
23 mars, 22:25Sysdig signale que Checkmarx/ast-github-action v2.3.28 est également compromis
24 mars, 08:30Vague LiteLLM : litellm v1.82.7 et v1.82.8 trojanisés publiés sur PyPI à l'aide d'identifiants volés
24 mars, 11:25PyPI met en quarantaine les versions malveillantes de LiteLLM

Détail de la kill chain

Phase 1 — Accès initial

Cause racine : rotation incomplète des identifiants après la brèche du 28 février. Le PAT du compte de service aqua-bot n'a pas été révoqué, ou l'attaquant a observé le nouveau jeton pendant la rotation.

TeamPCP a utilisé cet accès conservé pour effectuer un force-push de tags de version vers des commits imposteurs malveillants. Chaque commit forgé reprenait les métadonnées de l'original (auteur, horodatage, message) tout en remplaçant le script d'entrée par la charge utile du voleur. La page de release de GitHub n'affichait aucun changement visible — même le badge « Immutable » s'affichait normalement.

Phase 2 — Exécution de la charge utile

Le voleur — un entrypoint.sh de 204 lignes s'identifiant comme « TeamPCP Cloud stealer » — exécute une attaque en trois étapes :

Étape 1 : Récupération depuis la mémoire

Reads /proc/<pid>/mem from Runner.Worker processes
Searches for pattern: {"value":"<secret>","isSecret":true}
Extracts GitHub PATs, cloud credentials, API keys from runner memory

Étape 2 : Balayage des identifiants sur le système de fichiers

Scanne plus de 50 chemins sensibles, notamment :

  • Clés SSH (~/.ssh/*)
  • Identifiants AWS/GCP/Azure
  • Jetons et configurations Kubernetes
  • Identifiants de registre Docker
  • Fichiers d'état Terraform
  • Portefeuilles crypto (Solana, Bitcoin, Ethereum, Cardano)
  • Jetons npm (~/.npmrc)
  • Historiques de shell
  • Fichiers .env

Étape 3 : Exfiltration chiffrée

  • Regroupe toutes les données récoltées dans tpcp.tar.gz
  • Chiffre avec AES-256-CBC (clé de session aléatoire) + RSA-4096/RSA-OAEP (clé publique de l'attaquant)
  • Exfiltre via curl POST vers des domaines typosquat spécifiques aux fournisseurs
  • Repli : crée un dépôt tpcp-docs ou docs-tpcp dans le compte GitHub de la victime en utilisant un GITHUB_TOKEN volé

Phase 3 — Persistance

Sur les systèmes Linux non-CI, le malware :

  1. Crée le répertoire caché ~/.config/sysmon/
  2. Dépose une backdoor Python (sysmon.py)
  3. Installe un service utilisateur systemd qui interroge le C2 toutes les 50 minutes
  4. Kill switch : si la réponse du C2 contient « youtube », la backdoor saute l'exécution

Phase 4 — Mouvement latéral (vague Checkmarx)

Les identifiants volés lors de la vague Trivy ont permis de compromettre l'écosystème de Checkmarx. Chaque nouvelle vague utilisait un domaine C2 typosquat différent pour contourner les listes de blocage de la vague précédente :

VagueDomaine C2Typosquat de
Trivyscan.aquasecurtiy[.]orgaquasecurity.org
Checkmarx/KICScheckmarx[.]zonecheckmarx.com
LiteLLMmodels.litellm[.]cloudlitellm.ai

Artefacts compromis

GitHub Actions

DépôtTags compromisFenêtre d'exposition (UTC)Point d'entrée
aquasecurity/trivy-action75 sur 76 (sûr : 0.35.0)19 mars 17:43 – 20 mars 05:40entrypoint.sh
aquasecurity/setup-trivyLes 7 tags19 mars 17:43 – 21:44action.yaml
Checkmarx/kics-github-actionLes 35 tags23 mars 12:58 – 16:50setup.sh
Checkmarx/ast-github-actionv2.3.28 (probablement tous)23 mars ~22:25+setup.sh

Extensions OpenVSX (le marketplace VS Code n'est PAS concerné)

ExtensionVersion malveillanteVersion sûre
checkmarx.ast-results2.53.0>= 2.56.0
checkmarx.cx-dev-assist1.7.0>= 1.10.0

Les deux extensions ont été publiées à 12 secondes d'intervalle à 12:53 UTC le 23 mars via le compte ast-phoenix. À l'activation, environmentAuthChecker.js vérifie la présence d'identifiants de fournisseur cloud, puis récupère un voleur de deuxième étape depuis checkmarx[.]zone/static/checkmarx-util-1.0.4.tgz.

Images de conteneurs

ImageTags malveillants
docker.io/aquasec/trivy0.69.4, 0.69.5, 0.69.6
ghcr.io/aquasecurity/trivy0.69.4, 0.69.5, 0.69.6
public.ecr.aws/aquasecurity/trivy0.69.4, 0.69.5, 0.69.6

PyPI

PaquetVersionsFichier backdooré
litellm1.82.7, 1.82.8litellm/proxy/proxy_server.py

Charge utile base64 à triple imbrication avec un arsenal de mouvement latéral K8s. Persistance via sysmon.service qui interroge checkmarx.zone/raw.


Mécaniques du voleur d'identifiants

Le schéma d'exfiltration est identique dans toutes les vagues :

Télécharger l’outil