«Cert-rotasjonen er det du gjør når blast-radiusen nådde signeringstilliten, ikke bare kildetilgang», skrev sikkerhetsforskeren @EnTr0pY_88 etter at OpenAI bekreftet at to ansatt-maskiner ble kompromittert 13. mai. Det er den ene setningen som forklarer hvorfor VentureBeat dokumenterer fire forsyningskjedehendelser hos OpenAI, Anthropic og Meta på 50 dager, og hvorfor ingen av dem ble fanget av modellevalueringer.
Alle fire angrep gikk forbi modellen. 11. mai publiserte en selvspredende ormvare kalt Mini Shai-Hulud 84 ondsinnede pakkeversjoner over 42 @tanstack/*-pakker på seks minutter. Pakkene bar gyldig SLSA Build Level 3-attestering fordi de ble publisert fra riktig repo, av riktig workflow, med en lovlig utstedt OIDC-token. To dager senere bekreftet OpenAI at to ansatt-maskiner var rammet og at macOS-sertifikatene roteres innen 12. juni.
Den kanskje mest avslørende hendelsen var ikke et angrep i det hele tatt. 31. mars sendte Anthropic Claude Code 2.1.88 til npm med en 59,8 MB source map som pekte på en zip på selskapets egen Cloudflare R2-bøtte. Inni: 513 000 linjer uobfuskert TypeScript, 1 906 filer, agentlogikk, 44 feature flags og systemprompter. En manglende linje i .npmignore. Anthropic kalte det «release packaging issue caused by human error», og det var den andre lekkasjen på 13 måneder.
«Hvis en angriper kontrollerer CI-runneren din, kontrollerer de også attestasjonene. Policy-basert sikkerhet feiler i stor skala.» — @OpenMatter_, sikkerhetsforsker på X
For en norsk bygger som drar OpenAI-SDK, Anthropic-pakker og Llama-vekter gjennom npm, PyPI og Hugging Face hver uke, er signalet konkret. Modell-red-teams stopper ved modellgrensen, og bygge-pipeline sitter på andre siden. Mini Shai-Hulud leter aktivt etter ~/.claude.json, 1Password- og Bitwarden-tresor, Kubernetes-tokens og MCP-konfigurasjoner. Det er der API-nøklene dine ligger.
Hva bør du gjøre?
- Skann CI-repoene for
pull_request_targetkombinert med fork-SHA-checkout. TanStack-angrepet kjørte fork-kode i base-repo-kontekst og hentet OIDC-tokenen fra runner-minnet. - Slå av lifecycle-skript som standard i CI (
npm ci --ignore-scripts) og settminimumReleaseAgefor npm.prepareogpostinstallkjører før noen skanner. - Sjekk hva
~/.claude.jsonog MCP-konfigene dine inneholder. Datadog Security Labs bekreftet at Mini Shai-Hulud-payloaden eksfiltrerer disse filene spesifikt. Roter API-nøkler hvis du har dratt nylige@tanstack/*-pakker. - Legg dette spørsmålet inn i neste leverandørgjennomgang: «Red-tester dere release-pipeline, inkludert CI-runner-tillit, OIDC-tokenscoping og registry-publish-gater? Når var siste vurdering?» Mangler dato og scope, er det selve funnet.
Bakgrunn
VentureBeats matrise mapper syv release-flate-klasser som mangler i leverandørspørreskjemaer for KI. To som ikke har eget rammeverk i dag: CI-runner-tillit i OIDC-trusted-publisher-oppsett, og leverandørens vedlikeholder-credential-hygiene oppstrøms. NIST SSDF PS.1.1 og PS.2.1 dekker delvis pakke-integritet, men ingen publisert ramme dekker upstream-vedlikeholder-credential-provenance. Det er hullet alle fire angrepene gikk gjennom.