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?