heygrc
Odpowiedź

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.

  1. 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.

  2. 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.

  3. 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.

Dockerfile+1 -1
- RUN curl -fsSL https://get.example-tool.dev/install.sh | bash+ RUN pip install example-tool==2.4.1COPY . /app
heygrcNIS 2 Art. 21(2)(d)

Zablokowana 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.