🔍 Contexte
Rapport de threat intelligence publié par ThreatMon Research Team en juillet 2026, analysant en profondeur le groupe TeamPCP, acteur cybercriminel apparu fin 2025 et devenu rapidement un acteur majeur des attaques sur la chaîne d’approvisionnement logicielle open-source.
🧩 Origine et évolution
TeamPCP a débuté par l’exploitation opportuniste d’infrastructures cloud exposées (APIs Docker non protégées, plans de contrôle Kubernetes, instances Redis mal configurées), déployant XMRig pour le minage de Monero et utilisant Sliver, FRP et GO Simple Tunnel pour la persistance et le C2. En l’espace de trois mois, le groupe a pivoté vers une stratégie plus scalable centrée sur le vol de credentials via la compromission de la supply chain logicielle.
Le groupe est associé aux alias suivants : PCPcat, ShellForce, DeadCatx3 (compte GitHub), CipherForce (ransomware maison), Persy_PCP (Telegram), @pcpcats (X). TrendAI Research le suit sous le cluster SHADOW-WATER-058.
⚙️ Campagne principale (mars–avril 2026)
La campagne repose sur un modèle de compromission en cascade : les credentials volés lors d’une intrusion servent à accéder aux systèmes suivants.
Chronologie des incidents :
- 19 mars 2026 : Compromission de Trivy (scanner de vulnérabilités Aqua Security) via un tag malveillant
v0.69.4(CVE-2026-33634, CVSS v4 : 9.4). Propagation via GitHub Releases, Docker Hub, AWS ECR et GitHub Container Registry en ~4 heures. - ~20 mars 2026 : Déploiement du ver CanisterWorm via des tokens npm volés, utilisant un canister ICP (Internet Computer Protocol) comme infrastructure C2 décentralisée — première utilisation documentée de l’ICP blockchain pour du C2.
- 23 mars 2026 : Compromission de Checkmarx KICS (GitHub Actions, Docker Hub, OpenVSX) via le stealer JavaScript mcpAdEdonx.js, exécuté via le runtime Bun. Exfiltration chiffrée AES-256-GCM + RSA vers un endpoint imitant Checkmarx, avec dead-drop sur des dépôts GitHub aux noms thématiques Dune.
- 23 mars 2026 : Compromission de LiteLLM (PyPI, versions 1.82.7 et 1.82.8, ~95 millions de téléchargements/mois).
- 27 mars 2026 : Compromission du SDK Python Telnyx (~742 000 téléchargements/mois), livraison stéganographique.
- 2–3 avril 2026 : Breach AWS de la Commission européenne.
- 15 avril 2026 : Le groupe ransomware Vect commence à publier des victimes avec les données volées par TeamPCP.
- 22 avril 2026 : Vague multicanal ciblant Xinference et KICS simultanément (Docker Hub, OpenVSX, GitHub Actions).
- 23 avril 2026 : Hijack du Bitwarden CLI (
@bitwarden/cli) via tokens npm volés lors du KICS compromise. - 24 avril 2026 : Injection de script dans elementary-data via un commentaire de pull request exploitant une interpolation non sanitisée dans GitHub Actions.
💰 Écosystème criminel et monétisation
TeamPCP opère comme un moteur de génération d’accès fournissant des credentials volés à plusieurs écosystèmes ransomware :
- Partenariat avec Vect (RaaS russophone, 80–88% de commission pour les affiliés), annoncé sur BreachForums.
- CipherForce : marque ransomware interne du groupe.
- Liens rapportés avec Lapsus$ et ShinyHunters (publication de données de la Commission européenne).
En avril 2026, une transition de leadership a eu lieu : l’opérateur original DMT a cédé le contrôle à T00001B.
📊 Impact documenté
- Plus de 1 000 environnements SaaS affectés
- Environ 500 000 credentials compromis
- Plus de 300 Go de données exfiltrées
📄 Nature du document
Rapport de threat intelligence structuré produit par ThreatMon, incluant timeline, mapping MITRE ATT&CK, IOCs détaillés, hashes de fichiers malveillants, et analyse des relations criminelles. But principal : documenter exhaustivement l’acteur TeamPCP pour permettre la détection et la réponse à incident.
🧠 TTPs et IOCs détectés
Acteurs de menace
- TeamPCP (cybercriminal) — orkl.eu · Malpedia
- Vect (cybercriminal) —
- Lapsus$ (cybercriminal) — orkl.eu · Malpedia · MITRE ATT&CK
- ShinyHunters (cybercriminal) — orkl.eu · Malpedia
TTP
- T1195.002 — Compromise Software Supply Chain (Initial Access)
- T1078 — Valid Accounts (Initial Access)
- T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
- T1059.006 — Command and Scripting Interpreter: Python (Execution)
- T1543.002 — Create or Modify System Process: Systemd Service (Persistence)
- T1546.018 — Boot or Logon Autostart Execution: .pth Files (Persistence)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1070.004 — Indicator Removal: File Deletion (Defense Evasion)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
- T1552.005 — Unsecured Credentials: Cloud Instance Metadata API (Credential Access)
- T1526 — Cloud Service Discovery (Discovery)
- T1560 — Archive Collected Data (Collection)
- T1021.004 — Remote Services: SSH (Lateral Movement)
- T1102.001 — Web Service: Dead Drop Resolver (Command and Control)
- T1567.001 — Exfiltration to Code Repository (Exfiltration)
- T1485 — Data Destruction (Impact)
- T1657 — Financial Theft (Impact)
IOC
- IPv4 :
45.148.10.212— AbuseIPDB · VT · ThreatFox - IPv4 :
83.142.209.203— AbuseIPDB · VT · ThreatFox - Domaines :
scan.aquasecurtiy.org— VT · URLhaus · ThreatFox - Domaines :
models.litellm.cloud— VT · URLhaus · ThreatFox - Domaines :
checkmarx.zone— VT · URLhaus · ThreatFox - Domaines :
modesl.litellm.cloud— VT · URLhaus · ThreatFox - URLs :
http://83.142.209.203:8080/hangup.wav— URLhaus - URLs :
http://83.142.209.203:8080/ringtone.wav— URLhaus - URLs :
http://83.142.209.203:8080/— URLhaus - URLs :
https://checkmarx.zone/raw— URLhaus - URLs :
https://tdtqy-oyaaa-aaaae-af2dq-cai.raw.icp0.io— URLhaus - URLs :
https://plug-tab-protective-relay.trycloudflare.com— URLhaus - SHA256 :
887e1f5b5b50162a60bd03b66269e0ae545d0aef0583c1c5b00972152ad7e073— VT · MalwareBazaar - SHA256 :
f7084b0229dce605ccc5506b14acd4d954a496da4b6134a294844ca8d601970d— VT · MalwareBazaar - SHA256 :
bef7e2c5a92c4fa4af17791efc1e46311c0f304796f1172fce192f5efc40f5d7— VT · MalwareBazaar - SHA256 :
e64e152afe2c722d750f10259626f357cdea40420c5eedae37969fbf13abbecf— VT · MalwareBazaar - SHA256 :
ecce7ae5ffc9f57bb70efd3ea136a2923f701334a8cd47d4fbf01a97fd22859c— VT · MalwareBazaar - SHA256 :
d5edd791021b966fb6af0ace09319ace7b97d6642363ef27b3d5056ca654a94c— VT · MalwareBazaar - SHA256 :
e6310d8a003d7ac101a6b1cd39ff6c6a88ee454b767c1bdce143e04bc1113243— VT · MalwareBazaar - SHA256 :
6328a34b26a63423b555a61f89a6a0525a534e9c88584c815d937910f1ddd538— VT · MalwareBazaar - SHA256 :
0880819ef821cff918960a39c1c1aada55a5593c61c608ea9215da858a86e349— VT · MalwareBazaar - SHA256 :
e9b1e069efc778c1e77fb3f5fcc3bd3580bbc810604cbf4347897ddb4b8c163b— VT · MalwareBazaar - SHA256 :
61ff00a81b19624adaad425b9129ba2f312f4ab76fb5ddc2c628a5037d31a4ba— VT · MalwareBazaar - SHA256 :
0c0d206d5e68c0cf64d57ffa8bc5b1dad54f2dda52f24e96e02e237498cb9c3a— VT · MalwareBazaar - SHA256 :
c37c0ae9641d2e5329fcdee847a756bf1140fdb7f0b7c78a40fdc39055e7d926— VT · MalwareBazaar - SHA256 :
f398f06eefcd3558c38820a397e3193856e4e6e7c67f81ecc8e533275284b152— VT · MalwareBazaar - SHA256 :
7df6cef7ab9aae2ea08f2f872f6456b5d51d896ddda907a238cd6668ccdc4bb7— VT · MalwareBazaar - SHA256 :
5e2ba7c4c53fa6e0cef58011acdd50682cf83fb7b989712d2fcf1b5173bad956— VT · MalwareBazaar - SHA256 :
8395c3268d5c5dbae1c7c6d4bb3c318c752ba4608cfcd90eb97ffb94a910eac2— VT · MalwareBazaar - SHA256 :
d2a0d5f564628773b6af7b9c11f6b86531a875bd2d186d7081ab62748a800ebb— VT · MalwareBazaar - SHA256 :
a0d229be8efcb2f9135e2ad55ba275b76ddcfeb55fa4370e0a522a5bdee0120b— VT · MalwareBazaar - SHA256 :
71e35aef03099cd1f2d6446734273025a163597de93912df321ef118bf135238— VT · MalwareBazaar - SHA256 :
65bd72fcddaf938cefdf55b3323ad29f649a65d4ddd6aea09afa974dfc7f105d— VT · MalwareBazaar - SHA256 :
744c9d61b66bcd2bb5474d9afeee6c00bb7e0cd32535781da188b80eb59383e0— VT · MalwareBazaar - SHA256 :
7290353a3bc2b18e9ea574d3294b09e28edaa6b038285bb101cf09760f187dcd— VT · MalwareBazaar - SHA256 :
7e270255567866d37ad56e3f06977b695e39530eede74a10a0848ba71560cb45— VT · MalwareBazaar - SHA256 :
dafc1cc5d39bc303562d8587b698b6351e843b77c01764efa8b423a36b88fa6d— VT · MalwareBazaar - CVEs :
CVE-2026-33634— NVD · CIRCL - Fichiers :
mcpAdEdonx.js - Fichiers :
msbuild.exe - Fichiers :
hangup.wav - Fichiers :
ringtone.wav - Fichiers :
tpcp.tar.gz - Fichiers :
litellm_init.pth - Fichiers :
setup.sh - Fichiers :
checkmarx.ast-results-2.53.0.vsix - Fichiers :
checkmarx.cx-dev-assist-1.7.0.vsix - Chemins :
~/.config/sysmon/sysmon.py - Chemins :
~/.config/systemd/user/sysmon.service - Chemins :
/tmp/pglog - Chemins :
/tmp/.pg_state - Chemins :
~/.local/share/pgmon/service.py - Chemins :
~/.config/systemd/user/pgmon.service - Chemins :
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe - Chemins :
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe.lock - Chemins :
~/.config/audiomon/audiomon.py - Chemins :
~/.config/systemd/user/audiomon.service
Malware / Outils
- XMRig (tool)
- Sliver (framework)
- FRP (tool)
- GO Simple Tunnel (tool)
- CanisterWorm (other)
- mcpAdEdonx.js (stealer)
- CipherForce (ransomware)
- Telnyx Windows loader (loader)
- Telnyx inner DLL (backdoor)
🟢 Indice de vérification factuelle : 75/100 (haute)
- ⬜ threatmon.io — source non référencée (0pts)
- ✅ 34896 chars — texte complet (fulltext extrait) (15pts)
- ✅ 57 IOCs dont des hashes (15pts)
- ✅ 6/11 IOCs confirmés (AbuseIPDB, MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (15pts)
- ✅ 17 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ✅ acteur(s) identifié(s) : TeamPCP, Vect, Lapsus$ (5pts)
- ⬜ 0/1 CVE(s) confirmée(s) (0pts)
IOCs confirmés externellement :
45.148.10.212(ip) → VT (20/91 détections) + ThreatFox (Havoc)83.142.209.203(ip) → VT (18/91 détections) + ThreatFox (Unknown malware)f7084b0229dce605…(sha256) → VT (26/76 détections)scan.aquasecurtiy.org(domain) → VT (21/91 détections) + ThreatFox (Unknown malware)models.litellm.cloud(domain) → VT (22/91 détections) + ThreatFox (Unknown malware)
🔗 Source originale : https://threatmon.io/teampcp-threat-actor-report/