123% flere rapporterte CVE-er per dag i 2026 enn i fjor.

Avhengigheter

npm audit

npm audit sjekker pakkene i prosjektet ditt mot kjente sikkerhetsadvisories og rapporterer det det finner. Det følger med npm, koster ingenting og tar sekunder, noe som gjør det til den enkleste SCA-skanningen du kan kjøre. Vet du hva det leser, vet du også hva det kan gå glipp av.

Oppdatert

Slik fungerer npm audit

npm audit sender en beskrivelse av avhengighetene i prosjektet ditt til standardregisteret ditt og spør etter kjente sårbarheter. Det trenger en package-lock.json eller en shrinkwrap-fil, fordi det er slik det vet hvilke versjoner du har. Se npm-dokumentasjonen for detaljene.

npm audit                       # report everything
npm audit --omit=dev            # skip dev dependencies
npm audit --audit-level=high    # fail only on high or critical
npm audit --json                # machine-readable output

Slik leser du rapporten

  • Alvorlighetsgrad kommer fra advisoryen. Den sier hvor alvorlig feilen er generelt, ikke hvor alvorlig den er for deg.
  • Avhengighetsstien viser hva som trakk inn pakken. De fleste funn er transitive avhengigheter, og rettingen ligger vanligvis i pakken over.
  • Dev eller produksjon. En feil i et testverktøy leveres ikke til brukerne, men den kjører likevel i bygget ditt, så ikke ignorer den helt.

Får du en lang liste, begynn med det som utnyttes og det som leveres. Se slik prioriterer du sårbarheter.

npm audit fix, og når du ikke bør tvinge det

Kommando Hva den gjør Risiko
npm audit fix Bruker kompatible oppdateringer innenfor versjonsområdene dine Lav. Kjør testene likevel, fordi den kjører en full installasjon
npm audit fix --force Tillater også endringer utenfor områdene dine, inkludert hovedversjoner Høy. Den kan ødelegge applikasjonen din, og npm sier at den ikke skal brukes uten en klar idé om hva du vil

Hvis det ikke finnes noen retting, kan du oppgradere foreldrepakken, eller bruke feltet overrides i package.json for å tvinge frem en patchet transitiv versjon. Test det, fordi foreldrepakken ikke ble bygget mot den versjonen.

Slik kjører du npm audit i CI

Som standard avslutter npm audit med en kode som ikke er null når det finner noe, og det får jobben til å feile på hver advisory med lav alvorlighetsgrad. Team setter vanligvis en terskel. Merk at --audit-level bare endrer terskelen for feil og ikke filtrerer rapporten.

- run: npm ci
- run: npm audit --omit=dev --audit-level=high

En slik sjekk kan også få et bygg til å feile uten noen kodeendring, fordi en ny advisory ble publisert i løpet av natten. Bestem hvem som eier den feilen før du slår den på. Du finner mer i hvor du bør kjøre SCA-skanninger.

Hva npm audit går glipp av

  • Alt utenfor npm. Base-imaget ditt, operativsystempakker, Python-verktøy og GitHub Actions står ikke i package-lock.json.
  • Kode hentet under installasjon. Installasjonsskript kan laste ned filer som ingen lockfile registrerer. Se hva en lockfile ikke registrerer.
  • Nye ondsinnede pakker. Det matcher publiserte advisories, så en pakke som ennå ikke har noen advisory, slipper gjennom uten funn.
  • Det som allerede er levert. Det rapporterer om prosjektet foran seg. En ny advisory for fjorårets utgivelse dukker bare opp hvis noen kjører det på nytt på den versjonen.
  • Om du er berørt. Det vet ikke om koden din bruker den sårbare funksjonen. Reachability-analyse tar for seg det.

npm audit signatures er en egen kommando som verifiserer registersignaturer og provenance-attestasjoner for pakkene du har installert. Den sjekker hvor en pakke kom fra, ikke om den er trygg.

npm audit og CRACI

Fortsett å kjøre npm audit på pull requests. Det er gratis og fanger kjente problemer tidlig. CRACI dekker det npm audit ikke kan se: Som GitHub Actions-runneren din registrerer CRACI hver pakke hver jobb faktisk hentet fra npm og alle andre kilder, inkludert pakker gjenopprettet fra CI-cacher og filer hentet av installasjonshooks. Deretter fortsetter CRACI å sjekke SBOM-en for det som er levert, etter hvert som nye sårbarheter publiseres. Se de beste SCA-verktøyene eller SBOM-generering under bygget.

npm audit: ofte stilte spørsmål

Hva gjør npm audit?

Det sender en beskrivelse av avhengighetene dine til npm-registeret, sjekker dem mot kjente sikkerhetsadvisories og rapporterer sårbare pakker, med alvorlighetsgrad og hvordan de kom inn i prosjektet ditt.

Er npm audit fix trygt?

Vanlig npm audit fix er vanligvis trygt, fordi det holder seg innenfor versjonsområdene dine, men kjør testene etterpå. npm audit fix --force kan installere nye hovedversjoner og ødelegge applikasjonen din.

Hvorfor viser npm audit så mange sårbarheter?

De fleste kommer fra transitive avhengigheter og utviklingsverktøy. Bruk --omit=dev for å konsentrere deg om det som leveres, og prioriter etter utnyttelse og eksponering i stedet for antall.

Hvordan ignorerer du en sårbarhet i npm audit?

npm audit har ingen innebygd ignoreringsliste. Team bruker feltet overrides for å endre versjonen, en terskel med --audit-level eller et wrapper-verktøy som registrerer aksepterte funn.

Trenger npm audit en lockfile?

Ja, som standard trenger det package-lock.json eller en shrinkwrap-fil. Du kan omgå det med --no-package-lock, men da kan resultatene variere mellom kjøringer.

Oppdager npm audit skadevare?

Bare når det er publisert en advisory for pakken. En ny ondsinnet pakke har ingen advisory, så den blir ikke rapportert den dagen den dukker opp.

Se det npm audit ikke kan se

Kjør én GitHub Actions-workflow på CRACI og sammenlign den registrerte SBOM-en med package-lock.json-filen din.

Book en demo