123% flere rapporterede CVE'er pr. dag i 2026 end sidste år.

Forsyningskæde

Hvad er typosquatting?

Typosquatting er et angreb, hvor nogen registrerer et navn tæt på et populært navn og venter på, at en anden staver det forkert. Det startede med websitedomæner. I software offentliggør angribere ondsindede pakker med navne som crossenv i stedet for cross-env, og en enkelt tastefejl i en installationskommando kører deres kode på en udviklers maskine eller i en CI-pipeline.

Opdateret

Sådan virker typosquatting i pakker

  1. Vælg et mål. Angriberen vælger en populær pakke, hvor selv en lille andel tastefejl løber op.
  2. Registrér et navn tæt på. Det afviger med et bogstav, en manglende bindestreg, et byttet tegn eller en plausibel endelse.
  3. Skjul nyttelasten. Pakken pakker ofte den rigtige ind, så alt stadig virker, og intet ser forkert ud.
  4. Kør ved installation. Pakkehåndteringer kan køre scripts under installationen, så koden kører, før nogen kalder den, med adgang til miljøvariabler og tokens.
  5. Stjæl og spred. Stjålne legitimationsoplysninger lader angriberen offentliggøre flere pakker eller nå flere systemer.

Almindelige typosquatting-teknikker

Teknik Rigtig pakke Efterligning
Manglende separator cross-env crossenv
Tilføjet endelse jquery jquery.js
Byttede bogstaver ffmpeg ffmepg
Udeladt bogstav mongoose mongose
Tilføjet præfiks sqlite node-sqlite

Alle efterligningerne ovenfor stammer fra én rigtig kampagne, som er beskrevet herunder.

Et rigtigt eksempel: crossenv

I 2017 offentliggjorde en npm-bruger ved navn hacktask pakken crossenv, der efterlignede den populære cross-env. Den bevarede den rigtige pakkes adfærd og sendte også miljøvariablerne hos dem, der installerede den, til angriberens server. I et build er det i miljøvariablerne, tokens ligger. Snyks analyse viste, at den var en af over 30 ondsindede pakker fra den samme konto, og at den gik ubemærket hen i omkring to uger, indtil en ingeniør opdagede den.

Derfor gør AI-kodeassistenter det værre

En AI-assistent kan foreslå en pakke, der ikke findes. Hvis en angriber registrerer det navn, installerer den næste, der accepterer forslaget, malwaren. Det kaldes nogle gange slopsquatting. Automatiserede agenter, der installerer afhængigheder, uden at et menneske læser navnet, gør indsatsen endnu højere.

Typosquatting vs. dependency confusion

Begge udnytter, hvordan pakkenavne resolves, men fejlen er en anden.

Typosquatting Dependency confusion
Hvis fejl En person staver et navn forkert Et build-system vælger det forkerte registry
Navnet Tæt på en offentlig pakke Identisk med en privat, intern pakke
Hvordan det lykkes Nogen installerer den ved et uheld En offentlig version med et højere nummer får forrang
Vigtigste forsvar Lockfiles og gennemgang af nye afhængigheder Pakker med scope og en registry-konfiguration, der holder interne navne private

Dependency confusion blev kendt i 2021, da forskeren Alex Birsan brugte det til at få kode til at køre hos over 35 organisationer, herunder Apple, Microsoft og PayPal, under bug bounty-programmer eller med tilladelse.

Sådan forebygger du typosquatting

  • Installér fra en lockfile i CI. Brug npm ci og tilsvarende kommandoer. En tastefejl kan så kun komme ind gennem en gennemgået ændring. Se hvad en lockfile gør og ikke gør.
  • Gennemgå nye afhængigheder i pull requests. Se på selve navnet, og læs en diff af lockfilen i stedet for at springe den over.
  • Tjek før installation. Sammenlign navnet med projektets egen dokumentation, og vær på vagt over for en pakke med få downloads, en nylig første udgivelse eller intet link til et repository.
  • Begræns install-scripts. Slå dem fra, hvor dit build tillader det.
  • Vent, før du tager nye pakker i brug. Ondsindede pakker bliver ofte fundet og fjernet kort efter, de dukker op.
  • Begræns, hvad et build kan nå. Et build, der kun kan tale med kendte hosts, kan ikke sende dine secrets til en angriber, selv hvis en dårlig pakke kører. Se egress-politik for GitHub Actions.
  • Tjek hvert AI-forslag. Bekræft, at en pakke findes og er den, du mente, før du installerer den.

Husk, at en typosquat ikke har nogen CVE den dag, den dukker op, så en SCA-scanning baseret på advisories vil ikke markere den. For mere, se bedste praksis for forsyningskædesikkerhed for software.

Typosquatting af domæner

Den oprindelige form af angrebet, også kaldet URL hijacking, registrerer et domæne, for eksempel en fejlstavet bank- eller loginside. Besøgende, der staver adressen forkert, lander på en kopi af sitet, bygget til at stjæle legitimationsoplysninger eller levere malware. Forsvaret er et andet: Registrér almindelige fejlstavninger af dine egne domæner, overvåg registreringer af lignende domæner, og brug en adgangskodemanager, som ikke udfylder automatisk på det forkerte domæne.

Sådan begrænser CRACI skaden

CRACI opdager ikke nye ondsindede pakker ud fra adfærd eller omdømme, så brug en pakke-firewall eller et værktøj til adfærdsanalyse til det. Det, CRACI gør, er at inddæmme dem. Som din GitHub Actions-runner håndhæver det en egress-politik, der blokerer forbindelser, dit build ikke har brug for, så en pakke, der stjæler secrets, ingen steder har at sende dem hen, selv når ingen har set angrebet før. Hver pakke, et job hentede, er registreret, så når et angreb er kendt, kan du se, hvilke builds der trak pakken ind, og releases med en offentliggjort CVE markeres og kan blokeres af policy gates. Se hvad er et forsyningskædeangreb.

Typosquatting: ofte stillede spørgsmål

Hvad er typosquatting på almindeligt dansk?

Det er at registrere et navn, der ser næsten ud som et populært navn, for eksempel en pakke eller et website, og vente på, at nogen staver det forkert. Efterligningen leverer så malware eller stjæler legitimationsoplysninger.

Hvad er et eksempel på typosquatting?

I 2017 efterlignede npm-pakken crossenv den populære cross-env. Den virkede som den rigtige pakke og sendte også brugernes miljøvariabler til angriberens server.

Hvad er forskellen på typosquatting og dependency confusion?

Typosquatting bygger på, at en person staver et offentligt pakkenavn forkert. Dependency confusion bruger det præcise navn på en privat pakke og bygger på, at et build-system henter en offentlig version i stedet.

Er typosquatting ulovligt?

At offentliggøre malware eller stjæle legitimationsoplysninger er ulovligt de fleste steder. Typosquatting af domæner kan også være i strid med varemærkeretten, for eksempel den amerikanske Anticybersquatting Consumer Protection Act.

Hvad er slopsquatting?

En variant, hvor en angriber registrerer et pakkenavn, som AI-assistenter har tendens til at opfinde. Alle, der installerer den foreslåede pakke, får angriberens kode.

Hvordan opdager du typosquatting?

Gennemgå nye afhængigheder ud fra navn og metadata, og brug et værktøj, der sammenligner pakkenavne med populære navne eller analyserer adfærd. Advisory-baserede scannere hjælper først, når pakken er blevet rapporteret.

Inddæm den pakke, du ikke fangede

Blokér de udgående forbindelser, dine builds ikke har brug for, og behold en registrering af hver pakke, de hentede.

Book en demo