Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
tanscript-exploit-check — Controllo IOC per l'attacco alla supply chain npm TanStack/Mini Shai-Hulud (CVE-2026-45321) | Kitploit
Strumenti/GitHubGitHub/nkopylov/tanscript-exploit-check
Gestione degli Indicatori di Compromissione (IOC)Analisi delle VulnerabilitàInformatica ForenseThreat IntelligenceSicurezza della Supply ChainRisposta agli Incidenti
GitHubnkopylov/tanscript-exploit-check

tanscript-exploit-check

Controllo IOC per l'attacco alla supply chain npm TanStack/Mini Shai-Hulud (CVE-2026-45321)

Vedi Repository
1234 mesi faNon ancora revisionato

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

Attacco alla supply chain Mini Shai-Hulud — Controllore IOC

curl -fsSL https://raw.githubusercontent.com/nkopylov/tanscript-exploit-check/main/check-tanstack-exploit.sh | bash

Oppure clona ed esegui localmente:

git clone https://github.com/nkopylov/tanscript-exploit-check.git
cd tanscript-exploit-check
./check-tanstack-exploit.sh [project_dir ...]

Cosa è successo

Questo controllore copre due ondate della campagna di attacco alla supply chain Mini Shai-Hulud di TeamPCP:

Ondata 1: Compromissione CI/CD di TanStack (11 maggio 2026)

L'11 maggio 2026 (19:20-19:26 UTC), un attaccante ha pubblicato 84 versioni dannose su 42 pacchetti npm @tanstack/* in una finestra di 6 minuti. L'attacco ha colpito anche pacchetti di Mistral AI, UiPath, OpenSearch e altri — oltre 170 pacchetti in totale tra npm e PyPI.

Non sono state rubate credenziali dei maintainer. L'attaccante ha sfruttato la stessa catena di fiducia CI/CD tramite un attacco in 3 fasi:

  1. Exploit di pull_request_target — Un fork GitHub usa e getta ha aperto una PR che eseguiva codice dell'attaccante nel contesto di sicurezza del repository di base
  2. Avvelenamento della cache di GitHub Actions — Il codice del fork ha avvelenato la cache pnpm condivisa, che in seguito ha infettato i workflow di release legittimi
  3. Estrazione di token OIDC dalla memoria di processo — Il codice malevolo ha estratto i token di pubblicazione npm direttamente dalla memoria del runner di GitHub Actions, producendo pacchetti con attestazioni di provenienza SLSA Build Level 3 valide

Ondata 2: Compromissione dell'account npm "atool" (19 maggio 2026)

Il 19 maggio 2026 (01:39-02:06 UTC), l'account npm atool compromesso ([email protected]) ha pubblicato 637 versioni dannose su 314 pacchetti in due ondate automatizzate. I target ad alto impatto includono:

  • size-sensor (4.2M download al mese)
  • echarts-for-react (3.8M download al mese)
  • @antv/scale (2.2M download al mese)
  • timeago.js (1.15M download al mese)
  • 310+ pacchetti aggiuntivi @antv/* e altri

Questa ondata ha utilizzato un payload basato su Bun (index.js da 498KB) attivato tramite "preinstall": "bun run index.js", con un payload di seconda fase nascosto in commit impostori pushati nel repository GitHub antvis/G2 tramite lo sfruttamento della condivisione degli oggetti dei fork.

Cosa fa il codice malevolo (entrambe le ondate)

Entrambe le ondate usano la stessa famiglia di toolkit "Mini Shai-Hulud":

  • Raccolta di credenziali: 80+ variabili d'ambiente, catena AWS completa (env → config → IMDSv2 → ECS → Secrets Manager), PAT GitHub, token npm, chiavi SSH, token K8s, token Vault, password manager (1Password, Bitwarden, pass, gopass)
  • Persistenza: demoni gh-token-monitor (Ondata 1) e kitty-monitor (Ondata 2) tramite LaunchAgent/systemd; hook in .claude/settings.json e .vscode/tasks.json
  • Esfiltrazione: reti P2P (Ondata 1), GitHub Git Data API + HTTPS camuffato da trace OpenTelemetry (Ondata 2)
  • Abuso CI/CD: iniezione nei workflow che scarica toJSON(secrets), scambio di token OIDC npm
  • Dead-man's switch: rm -rf ~/ se il token GitHub viene revocato mentre il demone è attivo
  • C2 dead-drop (Ondata 2): interroga l'API di ricerca commit di GitHub per la parola chiave firedalazer, comandi firmati RSA-PSS

Cosa controlla questo script

#ControlloDescrizione
1Dead-man's switchDemoni di persistenza: gh-token-monitor (Ondata 1), kitty-monitor (Ondata 2)
2Processi malevoliNomi di processo noti dell'attaccante (entrambe le ondate)
3File payloadFile malevoli noti per nome e hash SHA-256 (4 hash)
4Hook di Claude CodeHook iniettati in .claude/settings.json + euristica generica SessionStart
5Task di VS CodeTask iniettati in .vscode/tasks.json + euristica generica runOn: folderOpen
6GitHub ActionstoJSON(secrets) in qualsiasi workflow + avviso pull_request_target
7Lockfile npmVersioni di pacchetti compromesse nei lockfile
8optionalDependencies@tanstack/setup e @antv/setup malevoli + 4 SHA di commit impostori
9Connessioni di reteConnessioni attive verso l'infrastruttura C2 (5 domini/IP)
10Cache DNSRisoluzione precedente dei domini dell'attaccante (4 domini)
11Branch GitPattern di denominazione dei branch dell'attaccante a tema Dune
12Script di ciclo di vitaEuristica: bun run in preinstall/postinstall (pacchetti installati)
13C2 dead-dropParola chiave firedalazer e marcatori "Shai-Hulud" nella cronologia git
14Dipendenze GitHubEuristica: dipendenze github: ancorate a uno SHA di commit in optionalDeps

Pacchetti interessati

Ondata 1: TanStack (42 pacchetti)

Solo @tanstack/router* e @tanstack/start* sono stati colpiti. NON colpiti: @tanstack/query*, @tanstack/table*, @tanstack/form*, @tanstack/virtual*, @tanstack/store.

PacchettoVersioni dannosePrima versione sicura
@tanstack/react-router1.169.5, 1.169.81.169.9
@tanstack/router-core1.169.5, 1.169.81.169.9
@tanstack/vue-router1.169.5, 1.169.81.169.9
@tanstack/solid-router1.169.5, 1.169.81.169.9
@tanstack/react-start1.167.68, 1.167.711.167.72
@tanstack/router-plugin1.167.38, 1.167.411.167.42

Vedi la advisory completa per tutti i 42 pacchetti.

Ondata 2: account atool (314 pacchetti)

Tutti i pacchetti pubblicati dall'utente npm atool ([email protected]) hanno ricevuto versioni dannose il 19 maggio 2026. I pacchetti ad alto impatto includono:

PacchettoDownload mensili
size-sensor4.2M
echarts-for-react3.8M
@antv/scale2.2M
timeago.js1.15M

Più altri 310+ pacchetti principalmente nell'ambito @antv/* (@antv/g2, @antv/g6, @antv/l7, @antv/s2, @antv/x6, @antv/f2, ecc.), ai-figure, timeago-react, jest-canvas-mock, jest-date-mock e altri.

Vedi l'analisi SafeDep per l'elenco completo.

Rimedio (se compromessi)

CRITICO: disattiva il dead-man's switch PRIMA di revocare qualsiasi token. Il malware cancella $HOME se i token vengono revocati mentre il demone è attivo.

  1. Termina i demoni di persistenza (gh-token-monitor E kitty-monitor) e rimuovi i servizi LaunchAgent/systemd
  2. Rimuovi i file di persistenza (.claude/router_runtime.js, .vscode/setup.mjs, ~/.local/share/kitty/cat.py, /var/tmp/.gh_update_state, ecc.)
  3. Elimina node_modules e i lockfile, reinstalla con --ignore-scripts
  4. Ruota TUTTE le credenziali (npm, GitHub, AWS, GCP, chiavi SSH, token Vault, token dei password manager, ecc.)
  5. Blocca i domini dell'attaccante a livello DNS/firewall (api.masscan.cloud, filev2.getsession.org, git-tanstack.com, t.m-kosche.com)
  6. Esegui un audit dei log dei provider cloud per l'11-19 maggio 2026

Annunci ufficiali e riferimenti

Ondata 1: TanStack (11 maggio)

  • CVE-2026-45321 (CVSS 9.6 Critico) — Record CVE
  • GHSA-g7cv-rxg3-hmpx — Advisory GitHub
  • Postmortem di TanStack — tanstack.com/blog/npm-supply-chain-compromise-postmortem
  • Follow-up di hardening di TanStack — tanstack.com/blog/incident-followup
  • Issue di monitoraggio GitHub — TanStack/router#7383
Scarica lo strumento