Mentionsy Mentionsy
Everything as code
Everything as code

Odcinek 17 - Gitleaks - weryfikacja czy w repozytorium Git nie ma poufnych informacji

28.01.2025 ·5 min 3 s

Czy przed umieszczeniem kodu źródłowego w Git jesteś pewien, że żadnych danych wrażliwych nie umieściłeś w systemie kontroli wersji ? Czy w historii Git nie ma żadnych tego typu danych ? By o to zadbać wykorzystaj narzędzie Gitleaks. W jaki sposób możesz to zrobić ? Odpowiedź znajdziesz w tym odcinku, a materiały z przykładami użycia Gitleaks znajdziesz na https://github.com/sebastianczech/podcast-everything-as-a-code/tree/main/episode-017.

Cześć! Witam Cię serdecznie w kolejnym odcinku podcastu Everything as code. Dzisiaj chciałbym powiedzieć o sposobie, o narzędziu, który pozwoli Ci weryfikować czy w repozytorium kodu źródłowego nie ma połównej informacji. Innymi słowy będę mówić o narzędziu Gitleaks. Jeśli o nim nie słyszałeś, serdecznie zachęcam Cię do słuchania tego odcinka. Ponieważ temat przechowywania wrażliwych informacji jest bardzo istotny, zwłaszcza w kontekście kodu źródłowego, który trzymamy w repozytorium.

Danymi wrażliwymi są również klucze prywatne SSH, które umożliwią nam podłączenie się do jakiejś maszyny, a także danymi wrażliwymi są wszelkiego rodzaju inne tokeny i inne mechanizmy, których znajomość pozwoli nam się uwierzytelnić wewnętrznym systemie. Gitleaks jest narzędziem, które pozwoli sprawdzić, czy w Twoim repozytorium, w commitach, w tagach, w branchach, które masz w repozytorium, być może przechowujesz takie właśnie dane wrażliwie. Gitleaks sprawdza całą historię od początku repozytorium, więc nawet jeśli w przyszłości taka akcja miała miejsce, Gitleaks wykryje, że w commitie x, y, z danego dnia taki commit zawierający dane wrażliwe być może został umieszczony.

Jeśli Gitleaks pozwala nam wykrywać takie sytuacje, w jaki sposób moglibyśmy go używać? Oczywiście w pierwszej kolejności musimy go zainstalować lokalnie na stacji roboczej czy też na środowisku, w których uruchamiamy testy, mamy serwer ciągłej integracji lub też w obu miejscach. Możemy Gitleaks uruchamiać lokalnie, to jest jedna możliwość. Tylka możliwość jest również lokalnie, ale przy użyciu narzędzia pre-commit, o którym wspominałem we wcześniejszych odcinkach mojego podcastu. Pre-commit ma tą zaletę, że uruchamia się przed uruchomieniem comita, jeśli dane wrażliwe zostały zawarte w ostatniej zmianie. Gitleaks uruchomiony w pre-comicie wykryje to i nie pozwoli nam za commity właśnie zmian.

Ponadto możemy Gitleaks uruchamiać na serwerze w ciągu integracji, niezależnie od tego czy używamy GitHub Actions, Jeśli chcielibyśmy w bezpieczny sposób przechowywać dane wrażliwe, o których wspominałem na samym początku podcastu, wiele rozwiązań zewnętrznych, które są do tego stworzone. Myślę tutaj o Hashtag Obwolcie czy też na przykład AWS Secrets Manager. Jeśli jesteś zainteresowany, w jaki sposób mógłbyś, mogłabyś Gitleaks uruchomić, czy też lokalnie, czy też jako jedno z zadań w prekomicie, serdecznie zachęcam Cię do spojrzenia do notatek do tego odcinka, ponieważ tam zawarłem przykłady użycia Gitleaks dla każdego z możliwych sposobów.

Ponadto w notatkach do tego odcinka są linki Do tego narzędzia Gitleaks, jak i do akcji githubowej, którą możemy zawrzeć w naszym workflow na serwerze ciągu integracji. Mam nadzieję, że ten odcinek był dla Ciebie interesujący i przydatny. Jeśli tak, zachęcam Cię do pozostawienia komentarza w aplikacji podcastowej, w której słuchasz tego odcinka. To wszystko, co przygotowałem w tym odcinku. Do usłyszenia za kolejne trzy tygodnie. Cześć.

Pokazano wszystkie 5 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.