Forsyningskæde
Hvad er slopsquatting?
Slopsquatting er et angreb, der registrerer pakkenavne opfundet af AI-kodeassistenter. Når en model foreslår en pakke, der ikke findes, kan en angriber offentliggøre malware under det navn, og den næste udvikler eller agent, der følger forslaget, installerer den. Det er typosquatting uden tastefejlen.
Opdateret
Hvor navnet kommer fra
Udtrykket er et ordspil på typosquatting, hvor "slop" betyder AI-output af lav kvalitet. Det tilskrives Seth Larson, security developer-in-residence hos Python Software Foundation, i 2025.
Sådan opstår pakkehallucination
En sprogmodel skriver det, der ser sandsynligt ud. Et plausibelt navn, for eksempel på et bibliotek til en almindelig opgave, kan se lige så sandsynligt ud som et rigtigt, så modellen skriver nogle gange en import eller installationskommando for en pakke, ingen nogensinde har offentliggjort.
Et studie præsenteret på USENIX Security 2025 testede 16 populære modeller på 576.000 kodeeksempler. Andelen af hallucinerede pakker var mindst 5,2 % for kommercielle modeller og 21,7 % for open source-modeller, med 205.474 unikke opfundne navne. Forskerne beskrev problemet som vedvarende og systemisk.
Sådan virker et slopsquatting-angreb
- Indsaml navnene. Angriberen stiller modeller almindelige kodespørgsmål og noterer, hvilke pakker der ikke findes.
- Offentliggør dem. Angriberen registrerer navnene på npm eller PyPI med en fungerende pakke, der skjuler en payload.
- Vent. En udvikler indsætter forslaget, eller en kodeagent kører installationen på egen hånd.
- Kør. Et install-script kører på udviklerens maskine eller i CI med adgang til tokens og secrets.
Slopsquatting vs. typosquatting
| Typosquatting | Slopsquatting | |
|---|---|---|
| Kilden til fejlen | En person staver et navn forkert | En model opfinder et navn |
| Navnet | Tæt på en rigtig pakke | Plausibelt, uden en rigtig pakke bag |
| Hvem installerer den | En udvikler | En udvikler eller en agent, uden at et menneske læser navnet |
| Hvorfor det er sværere at opdage | Tjek for efterligninger kan sammenligne det med populære navne | Der er måske ikke noget populært navn at sammenligne det med |
Derfor står der mere på spil med kodeagenter
Med en chatassistent læser en person forslaget, før det køres. En kodeagent kan skrive koden, tilføje afhængigheden og køre installationen i ét trin. Det menneskelige tjek, der fanger mange dårlige navne, er væk, og installationen sker, hvor agenten kører, ofte med udviklerens legitimationsoplysninger eller inde i CI. Se det større billede i sikkerhed til AI-assisteret udvikling.
Sådan beskytter du dig mod slopsquatting
- Verificér før installation. Tjek, at en foreslået pakke findes, har et rigtigt repository og har en historik. En pakke oprettet i sidste uge bør vække mistanke.
- Gennemgå ændringer i lockfilen. Nye afhængigheder skal være synlige i pull requests, uanset hvem eller hvad der skrev koden. Se hvad en lockfile registrerer.
- Begræns, hvad agenter kan. Kræv godkendelse, før en agent installerer pakker, og kør agenter i en sandbox uden legitimationsoplysninger til produktion.
- Vent med nye pakker. En regel mod pakker offentliggjort inden for de sidste par dage hjælper.
- Slå install-scripts fra, hvor dit build tillader det.
- Begræns udgående trafik fra builds. En pakke, der ikke kan nå angriberen, kan ikke sende dine secrets nogen steder hen. Se egress-politik til GitHub Actions.
En ny slopsquatting-pakke har ingen advisory, så en SCA-scanning eller npm audit rapporterer den ikke. Se den fulde liste over kontroller i bedste praksis for forsyningskædesikkerhed for software.
Sådan begrænser CRACI skaden
CRACI opdager ikke nye ondsindede pakker, så vurdér dem med andre værktøjer. Det, CRACI gør, er at begrænse skaden, når en af dem når dit build. Som din GitHub Actions-runner håndhæver det en egress-politik, der blokerer forbindelser, buildet ikke har brug for, hvilket beskytter dig, selv når ingen har set angrebet før. Det registrerer også hver pakke, hvert job hentede, så når en dårlig pakke er kendt, kan du se, hvilke builds der hentede den.
Slopsquatting: ofte stillede spørgsmål
Hvad er slopsquatting?
Et angreb, hvor nogen registrerer pakkenavne, som AI-kodeassistenter opfinder, så alle, der følger forslaget, installerer angriberens kode.
Hvem fandt på udtrykket slopsquatting?
Det tilskrives Seth Larson, security developer-in-residence hos Python Software Foundation, i 2025.
Hvad er en hallucineret pakke?
Et pakkenavn, som en AI-model foreslår, selvom der ikke findes en sådan pakke. Forskning har fundet dette i en betydelig andel af genererede kodeeksempler.
Hvordan adskiller slopsquatting sig fra typosquatting?
Typosquatting bygger på, at en person staver et rigtigt pakkenavn forkert. Slopsquatting bygger på, at en model opfinder et navn, der aldrig har eksisteret, så der ikke er nogen rigtig pakke at sammenligne det med.
Hvordan forebygger du slopsquatting?
Verificér, at foreslåede pakker er rigtige, gennemgå nye afhængigheder i pull requests, kræv godkendelse, før agenter installerer noget, og begræns udgående trafik fra builds.
Inddæm den pakke, ingen ville installere
Blokér de udgående forbindelser, dine builds ikke har brug for, og behold en registrering af hver pakke, de hentede.
Book en demo