Använd alltid lock file
lock file (package-lock.json, yarn.lock, pnpm-lock.yaml) används för att låsa till en exakt version av ett tredjepartspaket. På det sättet råkar vi aldrig få ner några paket som vi inte aktivt väljer att installera eller uppgradera.
Var överens om vilket verktyg ni använder
För att konfigurationer, lockfiler med mera ska fungera, är det viktigt att alla använder samma verktyg (NPM, yarn, PNPM etc) i en och samma kodbas. Bestäm och dokumentera vilket ni använder i respektive kodbas.
Inaktivera postinstall
NPM-verktyget tillåter som standard att kod exekveras i samband med installation av ett paket.
Inaktivera genom att skapa en fil “.npmrc” i projektets rot och lägg in raden “ignore-scripts=true”.
Fördröj uppdateringar
Ställ in en fördröjning från det att ett paket publiceras tills det får installeras, detta för att förhindra supply chain-attacker.
Här är rekommendationer till olika verktyg:
pnpm: https://pnpm.io/settings#minimumreleaseage
Renovate bot: https://docs.renovatebot.com/configuration-options/#minimumreleaseage
yarn se exempel konfig nedan (release:ad i yarn 4.10, dock en aktiv bug kring pre-release versioner)
npm saknar stöd för detta för tillfället
