{"id":17695,"date":"2026-08-24T20:26:43","date_gmt":"2026-08-24T18:26:43","guid":{"rendered":"https:\/\/dhosting.pl\/pomoc\/?post_type=manual_kb&#038;p=17695"},"modified":"2026-08-24T20:26:43","modified_gmt":"2026-08-24T18:26:43","slug":"container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru","status":"publish","type":"manual_kb","link":"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/","title":{"rendered":"Container Image Security Checklist: Trivy, Grype, Docker Scout i kontrola rejestru"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Bezpieczny obraz kontenera powinien przej\u015b\u0107 kontrol\u0119 od wyboru obrazu bazowego a\u017c do wdro\u017cenia. Powtarzalny audyt pomaga sprawdzi\u0107 podatno\u015bci, sekrety i z\u0142o\u015bliwe oprogramowanie oraz przygotowa\u0107 SBOM, podpisa\u0107 obraz i zastosowa\u0107 regu\u0142y rejestru.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_87_1 ez-toc-wrap-left counter-flat ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#1_Zdefiniuj_zakres_audytu_obrazu\" >1. Zdefiniuj zakres audytu obrazu<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#2_Zatwierdz_obraz_bazowy_przed_budowaniem\" >2. Zatwierd\u017a obraz bazowy przed budowaniem<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#3_Uruchom_skanowanie_podatnosci\" >3. Uruchom skanowanie podatno\u015bci<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#4_Ustal_prog_blokady_i_obsluge_wyjatkow\" >4. Ustal pr\u00f3g blokady i obs\u0142ug\u0119 wyj\u0105tk\u00f3w<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#5_Wykryj_sekrety_i_zlosliwe_pliki\" >5. Wykryj sekrety i z\u0142o\u015bliwe pliki<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#6_Wygeneruj_SBOM_i_podpisz_obraz\" >6. Wygeneruj SBOM i podpisz obraz<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#7_Wymus_reguly_w_rejestrze\" >7. Wymu\u015b regu\u0142y w rejestrze<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#8_Zaplanuj_ponowne_skanowanie\" >8. Zaplanuj ponowne skanowanie<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#Co_zrobic_jesli_obraz_nie_przechodzi_kontroli\" >Co zrobi\u0107, je\u015bli obraz nie przechodzi kontroli<\/a><\/li><li class='ez-toc-page-1'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/dhosting.pl\/pomoc\/baza-wiedzy\/container-image-security-checklist-trivy-grype-docker-scout-i-kontrola-rejestru\/#Koncowy_test_przed_wdrozeniem\" >Ko\u0144cowy test przed wdro\u017ceniem<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"1_Zdefiniuj_zakres_audytu_obrazu\"><\/span>1. Zdefiniuj zakres audytu obrazu<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Dla ka\u017cdego obrazu sprawd\u017a te same obszary. Wynik zapisz jako <code class=\"\" data-line=\"\">PASS<\/code>, <code class=\"\" data-line=\"\">FAIL<\/code> albo <code class=\"\" data-line=\"\">EXCEPTION<\/code> z uzasadnieniem.<\/p>\n<ul class=\"wp-block-list\">\n<li>\u017ar\u00f3d\u0142o i wersja obrazu bazowego,<\/li>\n<li>podatno\u015bci w pakietach systemowych i zale\u017cno\u015bciach aplikacji,<\/li>\n<li>sekrety zapisane w warstwach, plikach lub konfiguracji,<\/li>\n<li>oznaki z\u0142o\u015bliwego oprogramowania,<\/li>\n<li>plik SBOM opisuj\u0105cy sk\u0142ad obrazu,<\/li>\n<li>podpis obrazu i mo\u017cliwo\u015b\u0107 sprawdzenia jego pochodzenia,<\/li>\n<li>regu\u0142y rejestru oraz decyzja, czy obraz mo\u017ce trafi\u0107 do wdro\u017cenia.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Zakres odpowiada g\u0142\u00f3wnym klasom ryzyka wskazywanym w materia\u0142ach o bezpiecze\u0144stwie obraz\u00f3w: podatno\u015bciom, sekretom i b\u0142\u0119dnej konfiguracji. <a href=\"https:\/\/arxiv.org\/abs\/2608.02669?utm_source=openai\" target=\"_blank\" rel=\"noopener\">Badanie obraz\u00f3w Docker Hub<\/a> obejmuje te trzy obszary, a <a href=\"https:\/\/scanrook.io\/blog\/container-scanning-best-practices?utm_source=openai\" target=\"_blank\" rel=\"noopener\">praktyki skanowania obraz\u00f3w<\/a> \u0142\u0105cz\u0105 skanowanie z procesem bezpiecze\u0144stwa.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"2_Zatwierdz_obraz_bazowy_przed_budowaniem\"><\/span>2. Zatwierd\u017a obraz bazowy przed budowaniem<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ol class=\"wp-block-list\">\n<li>Wska\u017c dozwolone \u017ar\u00f3d\u0142a obraz\u00f3w bazowych. Rejestruj nazw\u0119 obrazu, tag oraz jego dok\u0142adny identyfikator, je\u015bli jest u\u017cywany w procesie budowania.<\/li>\n<li>Sprawd\u017a obraz bazowy przed u\u017cyciem go w pliku <code class=\"\" data-line=\"\">Dockerfile<\/code>.<\/li>\n<li>Ustal, kto zatwierdza zmian\u0119 obrazu bazowego i jak jest ona rejestrowana.<\/li>\n<li>Po aktualizacji obrazu bazowego uruchom pe\u0142ny audyt obrazu wynikowego.<\/li>\n<\/ol>\n<p class=\"wp-block-paragraph\">Nie traktuj tagu jako jedynego dowodu, \u017ce obraz jest aktualny. Kontrola powinna obejmowa\u0107 konkretn\u0105 wersj\u0119 u\u017cywan\u0105 w budowaniu, a nie tylko nazw\u0119 \u015brodowiska lub ga\u0142\u0119zi. Skanowanie obrazu bazowego jest opisane tak\u017ce w dokumentacji <a href=\"https:\/\/docs.docker.com\/dhi\/how-to\/scan\/?utm_source=openai\" target=\"_blank\" rel=\"noopener\">Docker Hardened Images<\/a>.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"3_Uruchom_skanowanie_podatnosci\"><\/span>3. Uruchom skanowanie podatno\u015bci<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">W\u0142\u0105cz co najmniej jeden skaner do potoku budowania. W zale\u017cno\u015bci od przyj\u0119tego procesu mo\u017cesz u\u017cy\u0107 Trivy, Grype albo Docker Scout. Ten sam obraz powinien by\u0107 skanowany po zbudowaniu, przed publikacj\u0105 w rejestrze.<\/p>\n<ol class=\"wp-block-list\">\n<li>Zbuduj obraz w kontrolowanym \u015brodowisku CI\/CD.<\/li>\n<li>Uruchom skanowanie obrazu przez wybrane narz\u0119dzie.<\/li>\n<li>Zapisz raport razem z identyfikatorem obrazu i wynikiem budowania.<\/li>\n<li>Przypisz ka\u017cdemu wykryciu poziom wa\u017cno\u015bci zgodny z polityk\u0105 organizacji.<\/li>\n<li>Zablokuj publikacj\u0119, gdy wynik przekracza ustalony pr\u00f3g.<\/li>\n<\/ol>\n<p class=\"wp-block-paragraph\">Nie por\u00f3wnuj bezpo\u015brednio wynik\u00f3w r\u00f3\u017cnych skaner\u00f3w bez zdefiniowania wsp\u00f3lnej interpretacji. Wynik zale\u017cy r\u00f3wnie\u017c od za\u0142o\u017ce\u0144 skanera i sposobu klasyfikacji wykrycia, co opisuje materia\u0142 <a href=\"https:\/\/www.techradar.com\/pro\/stop-managing-vulnerabilities-and-start-managing-scanner-assumptions?utm_source=openai\" target=\"_blank\" rel=\"noopener\">o za\u0142o\u017ceniach skaner\u00f3w<\/a>.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"4_Ustal_prog_blokady_i_obsluge_wyjatkow\"><\/span>4. Ustal pr\u00f3g blokady i obs\u0142ug\u0119 wyj\u0105tk\u00f3w<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Polityka powinna wskazywa\u0107, kt\u00f3re wyniki zatrzymuj\u0105 potok. Przyk\u0142adowy zapis do dostosowania w organizacji:<\/p>\n<ul class=\"wp-block-list\">\n<li>podatno\u015b\u0107 o poziomie <code class=\"\" data-line=\"\">Critical<\/code>: blokada publikacji,<\/li>\n<li>podatno\u015b\u0107 o poziomie <code class=\"\" data-line=\"\">High<\/code>: blokada albo zatwierdzony wyj\u0105tek,<\/li>\n<li>ni\u017cszy poziom: rejestracja, w\u0142a\u015bciciel i termin ponownej oceny.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Wyj\u0105tek nie powinien oznacza\u0107 usuni\u0119cia wyniku ze skanera. Zapisz identyfikator podatno\u015bci, obraz, uzasadnienie, w\u0142a\u015bciciela, dat\u0119 wyga\u015bni\u0119cia i plan dzia\u0142ania. Po wyga\u015bni\u0119ciu wyj\u0105tku skanowanie musi ponownie oceni\u0107 obraz. Zmiana progu wymaga kontroli wersji polityki oraz testu na obrazach u\u017cywanych w projekcie.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"5_Wykryj_sekrety_i_zlosliwe_pliki\"><\/span>5. Wykryj sekrety i z\u0142o\u015bliwe pliki<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Skanowanie podatno\u015bci nie zast\u0119puje kontroli sekret\u00f3w ani analizy zawarto\u015bci obrazu. Dodaj osobne sprawdzenie dla kluczy API, hase\u0142, token\u00f3w i innych danych uwierzytelniaj\u0105cych. Sprawd\u017a tak\u017ce pliki, skrypty i binaria pod k\u0105tem oznak z\u0142o\u015bliwego oprogramowania.<\/p>\n<ul class=\"wp-block-list\">\n<li>uruchom kontrol\u0119 przed utworzeniem obrazu,<\/li>\n<li>uruchom j\u0105 ponownie na gotowym obrazie i jego warstwach,<\/li>\n<li>zablokuj publikacj\u0119 po znalezieniu aktywnego sekretu lub podejrzanej zawarto\u015bci,<\/li>\n<li>po wykryciu sekretu uniewa\u017cnij go i usu\u0144 z procesu budowania.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Uwzgl\u0119dnienie sekret\u00f3w i z\u0142o\u015bliwego oprogramowania poszerza audyt poza sam\u0105 list\u0119 podatno\u015bci. Taki wieloobszarowy model kontroli jest zgodny z zakresem opisanym w <a href=\"https:\/\/orca.security\/resources\/blog\/container-security-best-practices\/?utm_source=openai\" target=\"_blank\" rel=\"noopener\">praktykach bezpiecze\u0144stwa kontener\u00f3w<\/a>.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"6_Wygeneruj_SBOM_i_podpisz_obraz\"><\/span>6. Wygeneruj SBOM i podpisz obraz<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">SBOM, czyli Software Bill of Materials, jest spisem sk\u0142adnik\u00f3w obrazu. Generuj go dla tego samego artefaktu, kt\u00f3ry ma zosta\u0107 opublikowany, i przechowuj razem z raportem skanowania.<\/p>\n<ol class=\"wp-block-list\">\n<li>Wygeneruj SBOM po zbudowaniu obrazu.<\/li>\n<li>Powi\u0105\u017c SBOM z identyfikatorem obrazu.<\/li>\n<li>Wykonaj skanowanie na podstawie obrazu i jego sk\u0142adnik\u00f3w.<\/li>\n<li>Podpisz obraz po zako\u0144czeniu kontroli.<\/li>\n<li>Przechowuj podpis i SBOM w spos\u00f3b pozwalaj\u0105cy powi\u0105za\u0107 je z konkretn\u0105 wersj\u0105.<\/li>\n<\/ol>\n<p class=\"wp-block-paragraph\">Podpisuj artefakt dopiero po przej\u015bciu bramek. W przeciwnym razie podpis mo\u017ce dotyczy\u0107 obrazu, kt\u00f3ry nie spe\u0142nia aktualnej polityki.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"7_Wymus_reguly_w_rejestrze\"><\/span>7. Wymu\u015b regu\u0142y w rejestrze<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul class=\"wp-block-list\">\n<li>Publikuj obrazy produkcyjne wy\u0142\u0105cznie do kontrolowanych repozytori\u00f3w.<\/li>\n<li>Oddziel obrazy testowe od obraz\u00f3w przeznaczonych do wdro\u017cenia.<\/li>\n<li>Nie pozwalaj na wdro\u017cenie obrazu bez pozytywnego wyniku skanowania.<\/li>\n<li>Sprawdzaj podpis przed pobraniem obrazu przez \u015brodowisko produkcyjne.<\/li>\n<li>Przechowuj raport, SBOM i decyzj\u0119 o wyj\u0105tku dla ka\u017cdej wersji.<\/li>\n<\/ul>\n<p class=\"wp-block-paragraph\">Regu\u0142y rejestru powinny dzia\u0142a\u0107 jako druga bramka. Potok CI\/CD mo\u017ce zatrzyma\u0107 niezgodny obraz, ale kontrola przy pobieraniu ogranicza ryzyko u\u017cycia obrazu poza pierwotnym procesem budowania.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"8_Zaplanuj_ponowne_skanowanie\"><\/span>8. Zaplanuj ponowne skanowanie<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Obraz mo\u017ce wymaga\u0107 ponownej oceny po zmianie bazy podatno\u015bci, nawet je\u015bli jego kod si\u0119 nie zmieni\u0142. Ustal harmonogram reskan\u00f3w dla obraz\u00f3w przechowywanych w rejestrze oraz dodatkowe skanowanie po zmianie obrazu bazowego, zale\u017cno\u015bci lub polityki.<\/p>\n<ol class=\"wp-block-list\">\n<li>Wybierz cz\u0119stotliwo\u015b\u0107 reskan\u00f3w dla obraz\u00f3w aktywnych.<\/li>\n<li>Oznacz obrazy, kt\u00f3re nie przesz\u0142y aktualnego audytu.<\/li>\n<li>Powiadom w\u0142a\u015bciciela obrazu o nowych wynikach.<\/li>\n<li>Zablokuj wdro\u017cenie, je\u015bli obraz przekroczy\u0142 obowi\u0105zuj\u0105cy pr\u00f3g.<\/li>\n<\/ol>\n<p class=\"wp-block-paragraph\">Ko\u0144cowy audyt powinien potwierdza\u0107 nie tylko wynik skanowania, ale te\u017c obecno\u015b\u0107 SBOM, wa\u017cnego podpisu, decyzji rejestru i aktualnych wyj\u0105tk\u00f3w.<\/p>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Co_zrobic_jesli_obraz_nie_przechodzi_kontroli\"><\/span>Co zrobi\u0107, je\u015bli obraz nie przechodzi kontroli<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<ul class=\"wp-block-list\">\n<li><strong>Podatno\u015b\u0107 w obrazie bazowym:<\/strong> zaktualizuj zatwierdzony obraz bazowy i zbuduj obraz ponownie.<\/li>\n<li><strong>R\u00f3\u017cne wyniki Trivy, Grype i Docker Scout:<\/strong> por\u00f3wnaj wersj\u0119 obrazu, \u017ar\u00f3d\u0142o danych oraz regu\u0142y klasyfikacji przed podj\u0119ciem decyzji.<\/li>\n<li><strong>Znaleziony sekret:<\/strong> uniewa\u017cnij dane, usu\u0144 je z procesu budowania i wykonaj kontrol\u0119 wszystkich warstw.<\/li>\n<li><strong>Brak SBOM lub podpisu:<\/strong> zatrzymaj publikacj\u0119 i uruchom etap generowania oraz podpisywania po skanowaniu.<\/li>\n<li><strong>Wyj\u0105tek po terminie:<\/strong> ponownie oce\u0144 podatno\u015b\u0107 i od\u015bwie\u017c decyzj\u0119 w\u0142a\u015bciciela.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Koncowy_test_przed_wdrozeniem\"><\/span>Ko\u0144cowy test przed wdro\u017ceniem<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p class=\"wp-block-paragraph\">Obraz mo\u017ce przej\u015b\u0107 do wdro\u017cenia dopiero wtedy, gdy ma wynik zgodny z progiem, zako\u0144czone kontrole sekret\u00f3w i z\u0142o\u015bliwych plik\u00f3w, powi\u0105zany SBOM, wa\u017cny podpis oraz zgod\u0119 rejestru. T\u0119 sam\u0105 checklist\u0119 stosuj przy ka\u017cdej nowej wersji i podczas cyklicznych reskan\u00f3w.<\/p>\n","protected":false},"author":6,"featured_media":10957,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[97,101],"manual_kb_tag":[7999,2997,5060,5056,7993,7994,7995,7996,7998],"class_list":["post-17695","manual_kb","type-manual_kb","status-publish","format-standard","has-post-thumbnail","hentry","manualknowledgebasecat-bazy-danych","manualknowledgebasecat-elastyczny-web-hosting","manual_kb_tag-rejestr-obrazow","manual_kb_tag-docker","manual_kb_tag-devops","manual_kb_tag-ci-cd","manual_kb_tag-trivy","manual_kb_tag-grype","manual_kb_tag-docker-scout","manual_kb_tag-sbom","manual_kb_tag-bezpieczenstwo-kontenerow"],"_links":{"self":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/17695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/users\/6"}],"version-history":[{"count":3,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/17695\/revisions"}],"predecessor-version":[{"id":17696,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb\/17695\/revisions\/17696"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media\/10957"}],"wp:attachment":[{"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/media?parent=17695"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manualknowledgebasecat?post=17695"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/dhosting.pl\/pomoc\/wp-json\/wp\/v2\/manual_kb_tag?post=17695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}