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

Afhængigheder

npm audit

npm audit tjekker pakkerne i dit projekt mod kendte sikkerhedsadvisories og rapporterer, hvad det finder. Det følger med npm, koster intet og tager sekunder, hvilket gør det til den letteste SCA-scanning, du kan køre. Når du ved, hvad det læser, ved du også, hvad det kan overse.

Opdateret

Sådan virker npm audit

npm audit sender en beskrivelse af dit projekts afhængigheder til dit standard-registry og spørger efter kendte sårbarheder. Det kræver en package-lock.json eller shrinkwrap-fil, fordi det er sådan, det ved, hvilke versioner du har. Se npm-dokumentationen for detaljerne.

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

Sådan læser du rapporten

  • Alvorlighed kommer fra advisoryen. Den siger, hvor slem fejlen er generelt, ikke hvor slem den er for dig.
  • Afhængighedsstien viser, hvad der trak pakken ind. De fleste fund er transitive afhængigheder, og rettelsen ligger som regel i pakken ovenover.
  • Dev eller produktion. En fejl i et testværktøj bliver ikke leveret til brugerne, men den kører stadig i dit build, så ignorér den ikke helt.

Får du en lang liste, så start med det, der bliver udnyttet, og det, der bliver leveret. Se sådan prioriterer du sårbarheder.

npm audit fix, og hvornår du ikke skal tvinge det

Kommando Hvad den gør Risiko
npm audit fix Anvender kompatible opdateringer inden for dine versionsintervaller Lav. Kør alligevel dine tests, fordi den kører en fuld installation
npm audit fix --force Tillader også ændringer uden for dine intervaller, inklusive major-versioner Høj. Den kan ødelægge din applikation, og npm siger, at den ikke skal bruges uden en klar idé om, hvad du vil

Hvis der ikke findes en rettelse, kan du opgradere den overordnede pakke eller bruge feltet overrides i package.json til at gennemtvinge en rettet transitiv version. Test det, fordi den overordnede pakke ikke er bygget op imod den version.

Kør npm audit i CI

Som standard afslutter npm audit med en exitkode, der ikke er nul, når det finder noget, og det får jobbet til at fejle på hver advisory med lav alvorlighed. Teams sætter som regel en tærskel. Bemærk, at --audit-level kun ændrer fejltærsklen og ikke filtrerer rapporten.

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

Et tjek som dette kan også få et build til at fejle uden nogen kodeændring, fordi en ny advisory blev offentliggjort i løbet af natten. Beslut, hvem der ejer den fejl, før du slår tjekket til. Læs mere om, hvor du skal køre SCA-scanninger.

Hvad npm audit overser

  • Alt uden for npm. Dit base-image, operativsystempakker, Python-værktøjer og GitHub Actions er ikke i package-lock.json.
  • Kode hentet under installation. Install-scripts kan downloade filer, som ingen lockfile registrerer. Se hvad en lockfile ikke registrerer.
  • Nye ondsindede pakker. Det matcher offentliggjorte advisories, så en pakke, der endnu ikke har en advisory, slipper igennem uden anmærkninger.
  • Det, der allerede er leveret. Det rapporterer på det projekt, det har foran sig. En ny advisory for sidste års release dukker kun op, hvis nogen kører det igen på den version.
  • Om du er ramt. Det ved ikke, om din kode bruger den sårbare funktion. Reachability-analyse tager sig af det.

npm audit signatures er en separat kommando, der verificerer registry-signaturer og provenance-attestationer for de pakker, du har installeret. Den tjekker, hvor en pakke kom fra, ikke om den er sikker.

npm audit og CRACI

Bliv ved med at køre npm audit på pull requests. Det er gratis og fanger kendte problemer tidligt. CRACI dækker det, det ikke kan se: Som din GitHub Actions-runner registrerer CRACI hver pakke, hvert job faktisk hentede fra npm og alle andre kilder, inklusive pakker gendannet fra CI-caches og filer hentet af install-hooks. Derefter bliver CRACI ved med at tjekke SBOM'en for det leverede, efterhånden som nye sårbarheder offentliggøres. Se de bedste SCA-værktøjer eller SBOM-generering under buildet.

npm audit: ofte stillede spørgsmål

Hvad gør npm audit?

Det sender en beskrivelse af dine afhængigheder til npm-registryet, tjekker dem mod kendte sikkerhedsadvisories og rapporterer sårbare pakker med deres alvorlighed, og hvordan de kom ind i dit projekt.

Er npm audit fix sikkert?

Almindeligt npm audit fix er som regel sikkert, fordi det holder sig inden for dine versionsintervaller, men kør dine tests bagefter. npm audit fix --force kan installere nye major-versioner og ødelægge din applikation.

Hvorfor viser npm audit så mange sårbarheder?

De fleste kommer fra transitive afhængigheder og dev-værktøjer. Brug --omit=dev til at fokusere på det, der leveres, og prioritér efter udnyttelse og eksponering i stedet for antal.

Hvordan ignorerer du en sårbarhed i npm audit?

npm audit har ingen indbygget ignoreringsliste. Teams bruger feltet overrides til at ændre versionen, en tærskel med --audit-level eller et wrapper-værktøj, der registrerer accepterede fund.

Kræver npm audit en lockfile?

Ja, som standard kræver det package-lock.json eller en shrinkwrap-fil. Du kan omgå det med --no-package-lock, men så kan resultaterne variere mellem kørsler.

Finder npm audit malware?

Først når der er offentliggjort en advisory for pakken. En ny ondsindet pakke har ingen advisory, så den bliver ikke rapporteret den dag, den dukker op.

Se, hvad npm audit ikke kan se

Kør et GitHub Actions-workflow på CRACI, og sammenlign den registrerede SBOM med din package-lock.json.

Book en demo