0Pricing
Cyber Security Academy · Lekcja

Bezpieczne zarządzanie zależnościami

Nauczy się Pan/Pani przypinać wersje zależności, monitorować CVE, używać plików lock i automatyzować SCA w potokach CI.

Bezpieczne zarządzanie zależnościami to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Dlaczego zależności stanowią ryzyko

Nowoczesne aplikacje importują setki pakietów innych firm. Każda zależność — a także jej zależności przechodnie — zwiększa powierzchnię ataku. Luka w popularnej bibliotece (taka jak Log4Shell w Log4j) może jednocześnie narazić na atak tysiące aplikacji.

Pliki blokad i przypinanie wersji

Pliki blokad (package-lock.json, yarn.lock, Pipfile.lock) przypinają każdą zależność do dokładnej wersji, w tym zależności przechodnie. Pliki blokad należy zatwierdzać w systemie kontroli wersji. Zapewnia to powtarzalne kompilacje i zapobiega przypadkowym aktualizacjom wersji, które mogą wprowadzić luki.

Analiza składu oprogramowania (SCA)

Narzędzia SCA skanują drzewa zależności i porównują je z bazami danych CVE w celu identyfikowania podatnych pakietów. OWASP Dependency-Check, Snyk i GitHub Dependabot automatycznie wykrywają znane luki oraz sugerują poprawione wersje wraz ze wskazówkami dotyczącymi usunięcia problemu.

Automatyczne aktualizacje zależności

Dependabot i Renovate Bot automatycznie otwierają PR-y, gdy dostępne są nowe wersje bez zmian powodujących niezgodność. Nadają priorytet aktualizacjom bezpieczeństwa. Należy skonfigurować automatyczne scalanie aktualizacji poprawek po pomyślnym przejściu CI, aby utrzymywać aktualność zależności przy minimalnym nakładzie pracy ręcznej.

Ocena nowych zależności

Przed dodaniem zależności należy sprawdzić liczbę pobrań, aktywność ostatnich commitów, liczbę otwartych zgłoszeń, zgodność licencji oraz historię znanych CVE. Należy wybierać dobrze utrzymywane pakiety z aktywnymi procesami reagowania na incydenty bezpieczeństwa zamiast nieutrzymywanych alternatyw.

Zagrożenia związane z zależnościami przechodnimi

Zależności bezpośrednie wciągają własne zależności. W incydencie związanym z event-stream napastnicy przejęli kontrolę nad zależnością przechodnią używaną przez miliony pakietów. Należy audytować całe drzewo zależności, a nie tylko zależności bezpośrednie.

Prywatne rejestry pakietów

Ataki typu dependency confusion polegają na publikowaniu w publicznych rejestrach złośliwych pakietów o tej samej nazwie co pakiety wewnętrzne. Należy ograniczać to ryzyko za pomocą nazw pakietów z zakresem, uwierzytelniania w prywatnym rejestrze oraz umieszczania zatwierdzonych rejestrów na liście dozwolonych w plikach .npmrc lub pip.conf.

Bezpieczeństwo łańcucha dostaw: SBOM

Zestawienie komponentów oprogramowania (SBOM) to możliwy do odczytu maszynowego spis wszystkich komponentów użytych w oprogramowaniu. Zestawienia SBOM można generować za pomocą Syft lub CycloneDX. Po opublikowaniu nowych CVE zestawienia SBOM umożliwiają szybką ocenę wpływu podatności — pozwalają zidentyfikować zagrożone wersje w ciągu kilku minut.

Zgodność licencyjna

Licencje OSS nakładają określone obowiązki. GPL może wymagać ujawnienia kodu źródłowego. Licencje MIT i Apache 2.0 są liberalne. FOSSA i TLDR-Legal pomagają oceniać zgodność licencji. Należy uwzględnić skanowanie licencji w CI, aby zapobiec przypadkowemu włączeniu kodu objętego GPL do produktów komercyjnych.

Weryfikacja integralności

Subresource Integrity (SRI) dla skryptów hostowanych w CDN wykorzystuje skrót kryptograficzny w atrybucie integrity. Plik npm package.json zawiera pole integrity. Podczas pobierania pakietów w CI należy weryfikować sumy kontrolne, aby wykrywać manipulacje w łańcuchu dostaw.

Aktualizowanie zależności

W przypadku krytycznych podatności należy wdrażać poprawki bezpieczeństwa w ciągu 24–48 godzin od opublikowania CVE. Do ustalania priorytetów należy używać ocen CVSS oraz danych dotyczących możliwości wykorzystania podatności. Zależność z poprawką bezpieczeństwa, nawet jeśli poprawka wprowadza niekompatybilną zmianę, jest lepsza niż możliwa do wykorzystania podatność w środowisku produkcyjnym.

Sprawdzenie wiedzy

Na czym polega atak typu dependency confusion?

Podsumowanie

Bezpieczne zarządzanie zależnościami wymaga przypinania wersji w plikach blokad, uruchamiania skanowania SCA w CI/CD, automatyzacji aktualizacji poprawek, generowania zestawień SBOM na potrzeby oceny wpływu oraz oceny poziomu bezpieczeństwa nowych zależności przed ich przyjęciem.

Często zadawane pytania

Czy lekcja „Bezpieczne zarządzanie zależnościami” jest bezpłatna?

Tak — pełny tekst „Bezpieczne zarządzanie zależnościami” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Bezpieczne zarządzanie zależnościami”?

Nauczy się Pan/Pani przypinać wersje zależności, monitorować CVE, używać plików lock i automatyzować SCA w potokach CI. Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?

Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Bezpieczne zarządzanie zależnościami”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?

Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Walidacja danych wejściowych i kodowanie danych wyjściowych
  2. Bezpieczne zarządzanie zależnościami
  3. OWASP ASVS: standard weryfikacji bezpieczeństwa aplikacji
  4. Techniki bezpiecznego przeglądu kodu
← Powrót do Cyber Security Academy