Hopp til hovedinnhold
PULSEN_
ESC Tilbake til strømmen
Semgrep · 1.5., 00:08 · sikkerhet

Shai-Hulud-malware injisert i lightning 2.6.2 og 2.6.3: angriper Claude Code og VS Code

SYNOPSIS_GENERERT

Semgrep har avdekket en Shai-Hulud-variant i PyPI-pakken lightning versjoner 2.6.2 og 2.6.3 som ble publisert 30. april. Malwaren stjeler GitHub-tokens, AWS-, Azure- og GCP-hemmeligheter, og planter persistens-hooks i .claude/settings.json og .vscode/tasks.json.

Semgrep publiserte 30. april en advisory om at PyPI-pakken lightning, KI-treningsrammeverket som er kjent som PyTorch Lightning, ble kompromittert i versjonene 2.6.2 og 2.6.3 samme dag. Et pip install lightning er nok til å aktivere koden. De infiserte versjonene inneholder en skjult _runtime/-mappe med obfuskert JavaScript som kjøres ved modul-import.

Angrepet er en variant av Shai-Hulud-kampanjen som tidligere rammet npm. Denne gangen er inngangen PyPI, men ormen sprer seg videre via npm hvis maskinen har publish-tokens. Kommit-meldingene bruker prefikset EveryBoiWeBuildIsAWormyBoi i stedet for det opprinnelige EveryBoiWeBuildIsaWormBoi. Stjålet data går ut over fire parallelle kanaler: HTTPS POST til C2, dead-drop via GitHub commit search, attacker-kontrollerte public repos med beskrivelsen «A Mini Shai-Hulud has Appeared», og push til offerets eget repo.

«Any machine that imported the malicious package during the affected window should be treated as fully compromised.» — Semgrep, advisory 30. april

Det nye er persistens-laget. Malwaren skriver en SessionStart-hook med matcher: "*" til .claude/settings.json i alle repos den får tilgang til. Hver gang du åpner Claude Code i et infisert prosjekt, kjøres node .vscode/setup.mjs uten varsel. En parallell hook i .vscode/tasks.json bruker runOn: folderOpen og treffer VS Code-brukere på samme måte. Semgrep mener dette er blant de første dokumenterte tilfellene der malware misbruker Claude Codes hook-system i et reelt angrep.

Dropperen setup.mjs laster ned bun-v1.3.13 fra GitHub releases hvis Bun ikke finnes lokalt, og kjører deretter en 14.8 MB obfuskert payload. Den scanner 80+ credential-filer for ghp_-, gho_- og npm_-tokens, dumper alle env-vars, prøver IMDSv2 mot AWS, bruker DefaultAzureCredential mot Azure og GoogleAuth mot GCP. På GitHub Actions Linux-runnere dumpes Runner.Worker-prosessens minne for å hente ut secrets markert isSecret: true.

Bonusnyttelasten er en GitHub Actions-workflow kalt Formatter som angriperen pusher til repoer der token har skrive-tilgang. Hver push dumper alle repo-secrets via ${{ toJSON(secrets) }} og laster dem opp som artifact-en format-results. Action-stegene er pinnet til spesifikke SHA-er for å se legitime ut.

Hva bør du gjøre?

  1. Sjekk pip list | grep lightning på alle utviklermaskiner og CI-runnere. Hvis du ser 2.6.2 eller 2.6.3, behandle maskinen som fullt kompromittert.
  2. Roter alle GitHub-, AWS-, Azure- og GCP-tokens som har vært tilgjengelige i miljøet siden 30. april. Inkluder ~/.aws/credentials, gh auth-tokens, og org-secrets i GitHub Actions.
  3. Søk repoene dine etter .claude/router_runtime.js, .claude/setup.mjs, .vscode/tasks.json med runOn: folderOpen, og workflow-filer ved navn Formatter. Slett umiddelbart hvis du ikke har lagt dem inn selv.
  4. Søk på GitHub etter commits med prefiks EveryBoiWeBuildIsAWormyBoi og repo-beskrivelsen «A Mini Shai-Hulud has Appeared» for å sjekke om dine egne tokens har lekket.

Bakgrunn

Shai-Hulud-kampanjen dukket først opp på npm tidligere i år og målrettet pakker med høy nedlastningsfrekvens. Lightning er det mest brukte treningsrammeverket etter PyTorch selv, og finnes i dependency-treet til alt fra fine-tuning-skript til diffusion-pipelines. Cross-ecosystem-spredningen (PyPI inn, npm ut) er den nye varianten Semgrep har dokumentert.

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