Jak bezpiecznie dodać zależność od strony trzeciej?
zespół heygrc
Zablokuj wersję, zweryfikuj to, co pobierasz (pliki lock i sprawdzanie integralności), unikanie uruchamiania zdalnych skryptów instalacyjnych oraz preferuj zweryfikowany rejestr lub jego lustrzane odbicie. NIS 2 (Art. 21(2)(d)) traktuje zależności jako część bezpieczeństwa łańcucha dostaw, a kontrole nad nimi znajdują się w manifeście i procesie budowy.
Zablokuj i zablokuj wersję
Dodaj zależność w określonej wersji i zatwierdź plik lock, aby dokładny artefakt był powtarzalny, a przyszła, niezweryfikowana wersja nie mogła zostać pobrana bez wiedzy.
Zweryfikuj, nie przekazuj skryptu do powłoki
Instaluj z rejestru pakietów z włączonym sprawdzaniem integralności, zamiast pobierać i uruchamiać zdalny skrypt w czasie budowy. Instalacja przekazana do powłoki uruchamia to, co znajduje się pod danym adresem URL dzisiaj, bez weryfikacji, z uprawnieniami procesu budowy.
Preferuj zweryfikowane źródło
Pobieraj z wewnętrznego lustrznego odbicia lub dozwolonego rejestru, gdzie obowiązują kontrole nad pakietami, zamiast korzystać bezpośrednio z źródła zewnętrznego.
- RUN curl -fsSL https://get.example-tool.dev/install.sh | bash+ RUN pip install example-tool==2.4.1COPY . /appZablokowana instalacja z rejestru zastępuje uruchamianie niezweryfikowanego zdalnego skryptu w czasie budowy. Zatwierdź także plik lock, aby zależności przejściowe były zablokowane i sprawdzone pod względem integralności, a nie tylko ta najwyższego poziomu.