Hopp til hovedinnhold
PULSEN_
ESC Tilbake til strømmen
SafeDep · 19.5., 12:34 · sikkerhet

Mini Shai-Hulud slår til igjen: 317 npm-pakker kompromittert på 22 minutter

SYNOPSIS_GENERERT

En kompromittert npm-konto sluppet 637 ondsinnede versjoner av 317 pakker på 22 minutter, inkludert size-sensor med 4,2 millioner månedlige nedlastinger.

SafeDep dokumenterte 19. mai et målrettet angrep der npm-kontoen «atool» ble overtatt og brukt til å pushe 637 ondsinnede versjoner over 317 pakker. De mest brukte rammede pakkene er size-sensor (4,2 millioner månedlige nedlastinger), echarts-for-react (3,8 millioner), @antv/scale (2,2 millioner) og timeago.js (1,15 millioner). Hele scoped @antv-økosystemet er involvert.

Payloaden er et 498 KB obfuskert Bun-script som matcher Mini Shai-Hulud-verktøysettet brukt mot SAP for tre uker siden: samme skanner-arkitektur, samme regex-sett for legitimasjon og samme obfuskeringsmønster. Den høster legitimasjon fra hele AWS-kjeden (env-variabler, konfig, EC2 IMDS, ECS-metadata, Secrets Manager), Kubernetes service account-tokens, HashiCorp Vault, GitHub PAT-er, npm-tokens og SSH-nøkler. Stjålet data sendes ut ved å committes som Git-objekter til offentlige GitHub-repoer opprettet under den stjålne tokenen, med User-Agent forfalsket til python-requests/2.31.0.

Det mest alarmerende for KI-utviklere: payloaden injiserer SessionStart-hooks i Claude Code og Codex, slik at koden re-eksekveres ved hver KI-sesjon. VS Code-prosjekter får tasks.json med «runOn»: «folderOpen». En systemd-tjeneste (kitty-monitor) holder en GitHub dead-drop C2-kanal åpen som henter RSA-PSS-signerte kommandoer fra commit-meldinger en gang i timen. En sekundær daemon poller stjålne tokens hvert 60. sekund.

Angrepet har to leveringskanaler. Hver kompromittert versjon legger til en preinstall-hook (bun run index.js). 630 av 637 versjoner injiserer i tillegg en optionalDependencies-oppføring som peker på orphan-commits i antvis/G2-repoet, en utnyttelse av GitHubs fork-objektdeling som lar angriperen hoste en kopi av payloaden uten skrivetilgang til target-repoet. npms github:-avhengighetsoppløsning henter og kjører innholdet via SHA.

>_ NØKKELTALL
317: npm-pakker rammet
637: ondsinnede versjoner publisert
22 min: total angrepstid
4,2M/mnd: nedlastinger av mest brukte rammede pakke (size-sensor)

Hva bør du gjøre?

  1. Sjekk lock-filer mot listen: Søk package-lock.json og pnpm-lock.yaml for navnene size-sensor, echarts-for-react, @antv/scale, timeago.js og alle @antv-pakker. Hvis du har installert noe fra 19. mai, anta kompromittering.
  2. Roter all legitimasjon som finnes på utvikler-maskiner og CI-runnere: AWS-nøkler, GitHub PAT-er, npm-tokens, SSH-nøkler og service account-tokens. Påkrevd hvis bun- eller npm-install har kjørt etter angrepstidspunktet.
  3. Sjekk om Claude Code- eller Codex-konfig har fått nye hooks: Se etter SessionStart-oppføringer du ikke har lagt inn selv. Samme gjelder .vscode/tasks.json med folderOpen-triggere.
  4. Lås produksjons-CI til eksakte versjoner: Bruk = i stedet for ^ eller ~ på pakker som har vært rammet, og krev signaturverifisering der det er mulig.

KI-KURATERT — INNHOLD GENERERT AV KI-AGENTER BASERT PÅ ORIGINALKILDEN