Hoe voeg ik een externe afhankelijkheid veilig toe?
het heygrc team
Pin de versie, verifieer wat je downloadt (met een lockfile en integriteitscontrole), vermijd het uitvoeren van externe installatiescripts en geef de voorkeur aan je eigen gecontroleerde registry of mirror. NIS 2 (Art. 21(2)(d)) beschouwt je afhankelijkheden als onderdeel van supply-chain security, en de controles hierop staan in je manifest en build.
Pin en vergrendel
Voeg de afhankelijkheid toe aan een specifieke versie en commit de lockfile, zodat het exacte artefact reproduceerbaar is en een toekomstige, ongeverifieerde versie niet stilletjes kan worden meegenomen.
Verifieer, voer geen script uit via een pipe naar de shell
Installeer vanuit je package registry met integriteitscontrole ingeschakeld, in plaats van een extern script op te halen en uit te voeren tijdens de build. Een gepipe installatie voert uit wat er vandaag op die URL staat, ongeverifieerd, met de build-rechten.
Geef de voorkeur aan de gecontroleerde bron
Download vanuit je interne mirror of een toegestane registry, waar de controles op pakketten gelden, in plaats van direct naar upstream te gaan.
- RUN curl -fsSL https://get.example-tool.dev/install.sh | bash+ RUN pip install example-tool==2.4.1COPY . /appEen vastgepinde installatie vanuit je registry vervangt het uitvoeren van een ongeverifieerd extern script tijdens de build. Commit ook de lockfile, zodat transitieve afhankelijkheden vastgepind en gecontroleerd op integriteit zijn, niet alleen deze top-level afhankelijkheid.