Hvorfor flytter sikkerhetsangrep mot utvikleres laptop nå, og ikke pipelinen? GitGuardian analyserte tre supply-chain-kampanjer (npm, PyPI, Docker Hub) på 48 timer i april 2026 og fant at alle hadde samme mål: stjele tilgangsmateriale fra utviklermiljøer. Det er en spesifikk endring fra tidligere år da angriperne ofte siktet inn på CI/CD-systemet eller selve repoet.
Den ene npm-pakken brukte en postinstall-hook til å stjele npm publish-tokens, og deretter publisere infiserte versjoner av andre pakker offeret hadde tilgang til. PyPI-kampanjen høstet SSH-nøkler, sky-credentials, miljøvariabler og krypto-wallets. Mønsteret er konsistent: kompromittér maskinen, søk gjennom kontekst, ta tilgangen, hopp videre.
GitGuardians 2026 State of Secrets Sprawl-rapport fant over 28,6 millioner nye secrets eksponert i offentlige GitHub-commits i 2025, en oppgang på 34 prosent fra året før. Interne repoer er omtrent seks ganger mer utsatt enn offentlige. Og 28 prosent av hendelser starter helt utenfor repoet, i Slack, Jira, Confluence og lignende samarbeidsverktøy. Repoet er ikke lenger grensen for hvor secrets befinner seg.
KI-kodeassistenter forsterker problemet. En prompt kan inneholde en credential. En agent kan lese sensitive filer eller kjøre kommandoer som printer miljøvariabler i logger. Output blir så lagret i modell-kontekst eller agent-logger. GitGuardian bemerker at utviklere som lar agenten med-forfatte commits lekker dobbelt så mange secrets per commit. Shai-Hulud-datasettet, fra 6 943 kompromitterte maskiner, fant 33 185 unike credentials, hvorav 3 760 fortsatt var gyldige ved første sjekk.
Hva bør du gjøre?
- Aktiver pre-commit-hook for credential-scanning lokalt. ggshield, trufflehog og git-secrets gjør samme jobben — installer én globalt i stedet for repo-for-repo.
- Slå av script-eksekvering for ukjente pakker i CI:
npm install --ignore-scriptsfor npm, og bruk pakke-allowlist eller hash-pinning for Python og Docker-bilder. - Hvis du bruker Claude Code, Cursor eller liknende verktøy: gå gjennom hva som ligger i miljøvariabler agenten har tilgang til, og roter alt som har lekket inn i en prompt eller agent-logg.