Snilld

Sådan beskytter du virksomheden mod Mini Shai-Hulud nu

Ifølge VentureBeat med henvisning til Mend og StepSecurity er mindst 172 npm- og PyPI‑pakker blevet forgiftet siden 11. maj. StepSecurity beskriver misbrug af OIDC‑tokens i GitHub Actions og gyldig SLSA Build Level 3‑proveniens på de ondsindede udgivelser. Her er en konservativ seks‑trins playbook, der kan rulles ud hurtigt, med tydelige forbehold hvor kilderne er enkeltstående.

13. maj 2026 Peter Munkholm

Kort version med kildebinding: Ifølge VentureBeat, der opsummerer bl.a. Mend og StepSecurity, er mindst 172 npm- og PyPI‑pakker blevet kompromitteret siden 11. maj. StepSecurity beskriver, at udgivelserne skete via projekternes egne GitHub Actions‑pipelines ved misbrug af OIDC‑tokens, og at de ondsindede versioner bar gyldig SLSA Build Level 3‑proveniens. Det sæt af omstændigheder gør klassiske kontroller mindre effektive, indtil de er strammet ind specifikt til dette mønster.

Det presser udviklingsorganisationer, fordi angrebet, som StepSecurity betegner som en selvspredende leverandørkæde‑orm, rammer der, hvor automatiseringen er stærkest: i CI/CD og i udviklernes egne miljøer. Tallene svinger lidt mellem trackere, og download‑statistik viser eksponering, ikke bekræftet kompromis. Men billedet på tværs af kilderne er det samme: overfladen er stor, og tempoet er højt.

Hvad vi ved nu

VentureBeat skriver, med Mend som kilde, at Mini Shai‑Hulud mellem 19:20 og 19:26 UTC den 11. maj udgav 84 ondsindede versioner på tværs af 42 @tanstack/*‑pakker, og at kampagnen inden for 48 timer nåede 172 pakker på tværs af 403 ondsindede versioner i både npm og PyPI. StepSecurity beskriver samtidig samme angrebslinje og konkluderer, at udgivelserne skete gennem projekternes egne CI‑pipelines ved misbrug af OIDC‑tokens, og at de bar gyldig SLSA Build Level 3‑proveniens. De to kilder er konsistente på de centrale punkter om CI‑misbrug og provenance.

VentureBeat fremhæver også eksponeringsmål som @tanstack/react-router med cirka 12,7 millioner ugentlige downloads, og henviser til OX Securitys anslåede cirka 518 millioner samlede downloads berørt på tværs af de forgiftede versioner. Disse tal bruges som indikator for eksponering, ikke som dokumentation for faktiske kompromitteringer. Hvor trackere afviger, bør man regne med plus/minus og følge opdateringerne løbende.

Banner
Hænder isolerer en selvhostet runner og trækker cache‑kassetten ud i et køligt byggelab

Teknikken der gør ondt

StepSecuritys analyse peger på, at angriberen kaprer OIDC‑tokens i GitHub Actions og publicerer via den legitime release‑pipeline. Ifølge både VentureBeat og StepSecurity bar de ondsindede versioner gyldig SLSA‑proveniens, hvilket dokumenterer byggevej og udgiver, men ikke at indholdet var sikkert. Det er netop den skævhed, angrebet udnytter.

VentureBeat beskriver desuden, at payloaden på Linux‑baserede runners kan læse proceshukommelse direkte via /proc/<pid>/mem for at udtrække hemmeligheder, også maskerede. Både VentureBeat og StepSecurity rapporterer, at ormen forsøger at høste legitimationsoplysninger fra over 100 filstier på udviklermaskiner, herunder AWS‑nøgler, SSH‑private keys, npm‑tokens, GitHub‑PATs, HashiCorp Vault‑tokens, Kubernetes service accounts, Docker‑konfigurationer, shell‑historik og kryptopunge.

Nogle detaljer er i skrivende stund enkeltkildede: VentureBeat skriver bl.a., at det for første gang i en TeamPCP‑kampagne omfatter målretning af password managers som 1Password og Bitwarden, samt at AI‑agent‑konfigurationer (navngivet som Claude og Kiro) og tilhørende MCP‑tokens kan blive stjålet. VentureBeat beskriver også persistens uden for node_modules, fx i projekttræer via Claude Code‑konfigurationer (.claude/settings.json), VS Code‑tasks (.vscode/tasks.json med runOn: folderOpen) og systemtjenester (macOS LaunchAgent/Linux systemd), som overlever genstart. Disse punkter bør læses som rapporteret af VentureBeat og afvente uafhængige tekniske artefakter før endelig bekræftelse.

Hvorfor virksomheder bliver ramt hårdt

StepSecurity karakteriserer Mini Shai‑Hulud som en selvspredende leverandørkæde‑orm, hvor et kompromitteret udviklingsmiljø eller CI‑job kan føre til nye ondsindede udgivelser gennem legitime pipelines. Når provenance er gyldig, kan politikker, der blot stoler på SLSA‑niveau eller “trusted publisher”, overse, at selve indholdet er forgiftet. Den model kræver hurtige stramninger på rettigheder og scopes i udgiver‑workflows.

For CI‑miljøer betyder det, at både token‑udstedelse og cache‑håndtering skal gennemgås. For udviklere betyder det, at lokale nøgler, tokens og historik ikke må ligge frit tilgængeligt i standardstier. Begge kilder peger på, at angrebsfladen går fra udviklermaskinen til cloud og tilbage igen via automatisering.

Seks konkrete trin du kan rulle ud på 24–72 timer

Playbooken her er konservativ og baseret på de nuværende offentlige beskrivelser hos VentureBeat og StepSecurity. Tilpas efter jeres egen triage og forensics.

Banner
  • 1) Identificér og frys eksponering
    Gennemgå forbrug af kendte kompromitterede versioner i kritiske repos: dem der publicerer til npm/PyPI, repos med release‑workflows og write:packages. Brug registry‑logs og lockfiles til at lokalisere potentielle trækpunkter. Frys udgivelser fra berørte pipelines, og hold builds i så vidt muligt read‑only.
  • 2) Isolér før du roterer
    Isolér udviklermaskiner og CI‑runners med kendt kontakt til berørte versioner. Tag et verificerbart image til forensics før ændringer. VentureBeat rapporterer, at Wiz har advaret om risiko for destruktiv adfærd ved forhastet token‑revokation; behandl derfor rækkefølgen med omtanke, indtil tekniske beviser er fuldt offentliggjort.
  • 3) Roter nøgler i rækkevidde
    Efter isolation: roter cloud‑nøgler, PATs, npm‑tokens, OIDC‑relaterede secrets og eventuelle Vault‑tokens. Log alle skridt, og brug korte TTL’er midlertidigt.
  • 4) Stram OIDC‑scope i udgiver‑pipelines
    Begræns præcist hvilke workflows og branches der må udstede publish‑tokens. Indfør audience/subject‑begrænsninger i trust‑opsætningen hos registry‑udbyderen, og undgå pull_request_target i builds, der rører caches eller secrets.
  • 5) Ryd mulig persistens hos udviklere og runners
    Søg efter rapporterede persistensstier uden for node_modules, og nulstil CI‑caches, så builds starter koldt. Fjern ubekræftede hooks og genstart relevante tjenester.
  • 6) Indfør kontinuerlig secrets‑scanning og anomali‑detektion
    Aktivér scanning i CI for nye hemmeligheder i kode og artefakter, og læg simple regler på uventet netværkstrafik i build‑jobs. Start småt (diff‑scans ved PR), suppler med natlige fuldscans, og håndter fund via styrede PR’er.
Makro af en proceshukommelsesstrimmel, der tappes, omgivet af ikoner for SSH, AWS, npm og Vault‑tokens

Driftsmæssige konsekvenser og afvejninger

Stramninger koster midlertidigt tempo: kold cache giver længere builds, og support vil se flere fejl på publish, når permissions og audiences ændres. Det er forventeligt, når man hæver sikkerhedsgulvet. Dokumentér undtagelser, og giv dem udløbsdato, så midlertidige lempelser ikke bliver permanente.

Et særligt forbehold: VentureBeat skriver, at Wiz har advaret om, at revokation af tokens før isolation kan udløse destruktiv oprydning (sletning af hjemmemappe). Det er et potentielt høj‑impact scenarie, der bør håndteres forsigtigt, indtil uafhængige tekniske artefakter foreligger. Rækkefølgen isolér‑før‑rotation er derfor et forsigtighedsprincip i denne playbook.

Kilder og verifikation

På tværs af VentureBeat og StepSecurity er følgende centrale elementer konsistente: hurtig udgivelse af ondsindede versioner via projekternes egne GitHub Actions‑pipelines, misbrug af OIDC‑tokens og gyldig SLSA Build Level 3‑proveniens på de forfalskede udgivelser. StepSecurity beskriver ydermere ormens selvspredende karakter. VentureBeat, med Mend som kilde, leverer de specifikke optællinger (84/42 i åbningsvinduet; 172/403 inden for 48 timer) og eksponeringsmål (downloads), hvor metode og størrelsesorden er det væsentlige, mens præcise tal kan variere.

Elementer, der p.t. er enkeltkildede i VentureBeat og bør behandles som foreløbige, indtil uafhængige tekniske artefakter foreligger: målretning af password managers (1Password, Bitwarden), tyveri af AI‑agent‑konfigurationer (Claude, Kiro) inkl. MCP‑tokens, samt specifikke persistensstier i redaktører og systemtjenester. Følg løbende opdateringer fra Mend, StepSecurity, Endor Labs og Wiz for forensics, IOC’er og endelige signaturer.

Konfig‑eksempler du kan løfte ind i dag

Skabelonerne her håndhæver konservative grundregler. Test dem i sidebranch før bred udrulning.

# GitHub Actions: undgå pull_request_target til builds med secrets eller caches
on:
  pull_request:
    branches: [ main ]
permissions:
  contents: read
  id-token: write
jobs:
  release:
    if: github.event_name == 'push' && startsWith(github.ref, 'refs/heads/main')
    environment: release
    steps:
      - uses: actions/checkout@v4
      - name: Setup Node
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          registry-url: 'https://registry.npmjs.org'
      - name: Enforce lockfile
        run: npm ci --ignore-scripts
# NPM trusted publishing: begræns til specifik workflow-fil og branch
# Sæt kort TTL på publishing-tokens og definer audience/subject i trust-indstillinger
# Simpel secrets-scanning i CI (diff-scan med gitleaks)
- name: Gitleaks diff scan
  uses: gitleaks/gitleaks-action@v2
  with:
    args: detect --source . --no-git --redact
Før‑efter tavle med åben runner‑til‑registry sti til venstre og forstærkede OIDC‑, lockfile‑ og scanning‑kontroller til højre

Checklist til de næste 48–72 timer

  • Lav en hurtig inventarliste over berørte pakker/versioner i kritiske repos. Kryds med Mend/StepSecurity‑lister.
  • Isolér udviklermaskiner og runners med kontakt til berørte builds. Tag image. Vent med rotation til efter isolation.
  • Roter cloud‑nøgler, PATs, npm‑tokens og OIDC‑relaterede secrets. Log alt, og brug korte TTL’er midlertidigt.
  • Invalider CI‑caches. Genbyg fra kold start. Deaktivér install‑scripts og håndhæv lockfiles midlertidigt.
  • Stram OIDC‑trust til specifikke workflows og branches. Indfør audience/subject‑begrænsninger.
  • Aktivér kontinuerlig secrets‑scanning og simple netværksregler i CI. Håndter fund via styrede PR’er.

Afslutning

Mini Shai‑Hulud udnytter vores automatisering. Modsvaret er praktisk: isolér, roter, stram og scan — med tydelig kildebevidsthed, hvor fakta stadig er under uafhængig bekræftelse.

Kilder

    Gør brugeroplevelsen bedre.
    Hvilket firma arbejder du for?