Security Academy→Course→Dependency Security
Modul 10 / 12

Dependency Security

Les audit-rapporter med vurdering: er sårbarheten faktisk nåbar i din app?

Kommandoer

npm audit                 # eller: bun audit / pnpm audit
npm audit --omit=dev      # kun det som shippes
npm outdated
npm ls <pakke>            # hvorfor er den her?
npx depcheck              # ubrukte dependencies

Les en rapport

For hver advisory, svar på fire spørsmål før du prioriterer:

  • ›Er pakken i runtime eller bare dev/build?
  • ›Kaller koden din den sårbare funksjonen? (f.eks. bare server-side parsing av ukjent input)
  • ›Finnes en fikset versjon, og er oppgradering breaking?
  • ›Hva er reell konsekvens i din kontekst (CVSS er generisk)?
# Eksempel
high  Prototype Pollution in lodash.merge  <4.17.21
  Path: my-app > some-chart-lib > lodash
→ Bruker vi merge med brukerinput? Nei, kun konfig ved build.
→ Vurdering: Low i vår kontekst, oppgrader ved neste vedlikehold.

Supply chain

AI foreslår noen ganger pakker som ikke finnes (slopsquatting) eller som ligner populære navn. Sjekk npm-siden: nedlastinger, vedlikeholder, siste release, repo.

  • ›Outdated: ikke sikkerhetsfeil i seg selv, men gjør patching vanskelig
  • ›Unmaintained: ingen release på 2+ år, åpne security issues
  • ›Unnecessary: hver pakke er angrepsflate — fjern det du ikke bruker
  • ›Lockfile committes; postinstall-skript i nye pakker vurderes
Kontroller i din egen app

Quiz

Scenario 1

npm audit viser critical i en pakke som bare brukes av test-runneren. Hvordan prioriterer du?

Scenario 2

AI-en foreslår «supabase-auth-helpers-react-pro». Du finner den ikke i dokumentasjonen. Hva gjør du?