Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Security By Design - Zadanie 1
Zadanie 1 - Weryfikacja wycieku wrażliwych danych
Podczas dodawania użytkownika w aplikacji Python pojawił się następujący problem w logach z wrażliwymi danymi:

Zmiana w kodzie spowodowała zamaskowanie danych:

Zadanie 2 - weryfikacja wycieku sekretów
Repozytorium przeskanowano za pomocą gitleaks. Program odnalazł 3 wycieki:

Program wskazuje wycieki w plikach:
deployment.key
deployment2.key
awscredentials.json
Niestety w przypadku tych plików doszło do wycieku kluczy, więc nie są to fałszywe alarmy, a poważne zagrożenie bezpieczeństwa.
Zadanie 3 - weryfikacja bezpieczeństwa bibliotek OpenSource wykorzystywanych w projekcie
Krytyczna luka w Jinja2 (<3.1.5) – możliwość zdalnego wykonania kodu (RCE)
Identyfikator luki: 74735
Wersje: Jinja2 <3.1.5
Typ zagrożenia: Remote Code Execution (RCE)
Luka w kompilatorze Jinja2 umożliwia wykonanie dowolnego kodu w Pythonie poprzez manipulację zarówno nazwą pliku szablonu, jak i jego zawartością.
Aby skutecznie wykorzystać tę lukę, atakujący musi:
Mieć możliwość kontroli nazwy pliku szablonu (np. poprzez dynamiczne wczytywanie szablonów na podstawie wejścia użytkownika).
Mieć możliwość kontrolowania zawartości szablonu, czyli wstrzyknięcia złośliwego kodu.
Jeśli aplikacja pozwala użytkownikom na przesyłanie i renderowanie własnych szablonów HTML, ryzyko ataku jest bardzo wysokie.
Konsekwencje ataku jest:
Zdalne wykonanie kodu (RCE) – atakujący może uruchomić dowolne polecenia na serwerze.
Przejęcie serwera – atakujący może instalować złośliwe oprogramowanie, kraść dane, modyfikować pliki i uzyskać pełną kontrolę nad systemem.
Jak to naprawić?
Natychmiastowa aktualizacja do Jinja2 3.1.5 lub nowszej wersji.
Blokowanie możliwości kontrolowania nazwy pliku szablonu przez użytkowników.
Unikanie renderowania dynamicznych szablonów tworzonych przez użytkowników, jeśli nie są one w pełni zweryfikowane.
Ograniczenie dostępu do katalogów z szablonami, aby uniemożliwić atakującym wczytywanie własnych plików.
W testowanej przeze mnie aplikacji nie ma warunków do przeprowadzenia tego ataku.