123% fler rapporterade CVE:er per dag 2026 än förra året.

Leveranskedja

Vad är typosquatting?

Typosquatting är en attack där någon registrerar ett namn som liknar ett populärt namn och väntar på att någon ska skriva fel. Den började med webbdomäner. Inom programvara publicerar angripare skadliga paket med namn som crossenv i stället för cross-env, och ett enda skrivfel i ett installationskommando kör deras kod på en utvecklares dator eller i en CI-pipeline.

Uppdaterad

Så fungerar typosquatting av paket

  1. Välj ett mål. Angriparen väljer ett populärt paket, där även en liten andel skrivfel blir många.
  2. Registrera ett liknande namn. Det skiljer sig med en bokstav, ett saknat bindestreck, ett omkastat tecken eller ett trovärdigt suffix.
  3. Dölj nyttolasten. Paketet omsluter ofta det riktiga paketet, så allt fungerar fortfarande och inget ser fel ut.
  4. Kör vid installation. Pakethanterare kan köra skript under installationen, så koden körs innan någon anropar den, med åtkomst till miljövariabler och tokens.
  5. Stjäl och sprid. Stulna inloggningsuppgifter låter angriparen publicera fler paket eller nå fler system.

Vanliga tekniker för typosquatting

Teknik Riktigt paket Efterapning
Saknad avgränsare cross-env crossenv
Tillagt suffix jquery jquery.js
Omkastade bokstäver ffmpeg ffmepg
Utelämnad bokstav mongoose mongose
Tillagt prefix sqlite node-sqlite

Alla efterapningar ovan kommer från en och samma verkliga kampanj, som beskrivs härnäst.

Ett verkligt exempel: crossenv

År 2017 publicerade npm-användaren hacktask paketet crossenv, som efterliknade det populära cross-env. Det behöll det riktiga paketets beteende och skickade dessutom miljövariablerna hos den som installerade det till angriparens server. I ett bygge är det i miljövariablerna som tokens finns. Snyks analys visade att det var ett av fler än 30 skadliga paket från samma konto, och att det förblev oupptäckt i ungefär två veckor tills en ingenjör lade märke till det.

Varför AI-kodassistenter gör det värre

En AI-assistent kan föreslå ett paket som inte finns. Om en angripare registrerar det namnet installerar nästa person som accepterar förslaget den skadliga koden. Det kallas ibland slopsquatting. Automatiserade agenter som installerar beroenden utan att en människa läser namnet höjer insatserna ytterligare.

Typosquatting vs dependency confusion

Båda utnyttjar hur paketnamn löses, men misstaget är olika.

Typosquatting Dependency confusion
Vems misstag En person skriver fel namn Ett byggsystem väljer fel register
Namnet Liknar ett publikt paket Identiskt med ett privat, internt paket
Hur attacken lyckas Någon installerar paketet av misstag En publik version med högre nummer får företräde
Främsta försvar Lockfiler och granskning av nya beroenden Paket med scope och en registerkonfiguration som håller interna namn privata

Dependency confusion blev känt 2021, när forskaren Alex Birsan använde det för att få kod att köras i fler än 35 organisationer, däribland Apple, Microsoft och PayPal, inom bug bounty-program eller med tillstånd.

Så förhindrar du typosquatting

  • Installera från en lockfile i CI. Använd npm ci och dess motsvarigheter. Ett skrivfel kan då bara komma in genom en granskad ändring. Se vad en lockfile gör och inte gör.
  • Granska nya beroenden i pull requests. Titta på själva namnet, och läs lockfilens diff i stället för att hoppa över den.
  • Kontrollera före installation. Jämför namnet med projektets egen dokumentation, och var försiktig med ett paket med få nedladdningar, en nyligen gjord första publicering eller ingen länk till ett repo.
  • Begränsa installationsskript. Stäng av dem där ditt bygge tillåter det.
  • Vänta innan du börjar använda nya paket. Skadliga paket hittas och tas ofta bort kort efter att de dykt upp.
  • Begränsa vad ett bygge kan nå. Ett bygge som bara kan prata med kända värdar kan inte skicka dina hemligheter till en angripare, även om ett skadligt paket körs. Se egress-policy för GitHub Actions.
  • Kontrollera varje AI-förslag. Bekräfta att ett paket finns och är det du menade innan du installerar det.

Tänk på att ett typosquatting-paket inte har någon CVE den dag det dyker upp, så en SCA-skanning som bygger på säkerhetsmeddelanden flaggar det inte. Läs mer i bästa praxis för säkerhet i mjukvarans leveranskedja.

Typosquatting av domäner

I attackens ursprungliga form, som också kallas URL-kapning, registrerar angriparen en domän, till exempel en felstavad bank- eller inloggningssida. Besökare som skriver fel adress hamnar på en kopia av webbplatsen som är byggd för att stjäla inloggningsuppgifter eller sprida skadlig kod. Försvaren ser annorlunda ut: registrera vanliga felstavningar av dina egna domäner, bevaka efterliknande registreringar och använd en lösenordshanterare, som inte fyller i automatiskt på fel domän.

Så begränsar CRACI skadan

CRACI upptäcker inte nya skadliga paket utifrån beteende eller rykte, så använd en paketbrandvägg eller ett verktyg för beteendeanalys för det. Det CRACI gör är att begränsa dem. Som din GitHub Actions-runner upprätthåller CRACI en egress-policy som blockerar anslutningar som ditt bygge inte behöver, så ett paket som stjäl hemligheter har ingenstans att skicka dem, även när ingen har sett attacken tidigare. Varje paket som ett jobb hämtade finns registrerat, så när en attack väl är känd kan du se vilka byggen som drog in det, och releaser med en publicerad CVE flaggas och kan blockeras av policykontroller. Se vad är en attack mot leveranskedjan.

Typosquatting: vanliga frågor

Vad är typosquatting enkelt förklarat?

Det är att registrera ett namn som ser nästan ut som ett populärt namn, till exempel ett paket eller en webbplats, och vänta på att någon ska skriva fel. Efterapningen levererar sedan skadlig kod eller stjäl inloggningsuppgifter.

Vad är ett exempel på typosquatting?

År 2017 efterliknade npm-paketet crossenv det populära cross-env. Det fungerade som det riktiga paketet och skickade dessutom användarnas miljövariabler till angriparens server.

Vad är skillnaden mellan typosquatting och dependency confusion?

Typosquatting bygger på att en person skriver fel namn på ett publikt paket. Dependency confusion använder det exakta namnet på ett privat paket och bygger på att ett byggsystem hämtar en publik version i stället.

Är typosquatting olagligt?

Att publicera skadlig kod eller stjäla inloggningsuppgifter är olagligt på de flesta håll. Typosquatting av domäner kan också strida mot varumärkesrätten, till exempel USA:s Anticybersquatting Consumer Protection Act.

Vad är slopsquatting?

En variant där en angripare registrerar ett paketnamn som AI-assistenter brukar hitta på. Den som installerar det föreslagna paketet får angriparens kod.

Hur upptäcker du typosquatting?

Granska nya beroenden utifrån namn och metadata, och använd ett verktyg som jämför paketnamn med populära namn eller analyserar beteende. Skannrar som bygger på säkerhetsmeddelanden hjälper först när paketet har rapporterats.

Begränsa paketet du inte fångade

Blockera de utgående anslutningar som dina byggen inte behöver, och behåll en registrering av varje paket de hämtade.

Boka en demo