Powrót do blogaBezpieczeństwo AI

39 milion wycieków sekretów GitHub w 2024 roku...

67% deweloperów przypadkowo ujawnia sekrety w kodzie (GitGuardian 2025). 39 milionów sekretów wyciekło na GitHubie w 2024 roku...

March 29, 20268 min czytania
GitHub secret leaksdeveloper AI securitycredential exposureMCP Server protectionGitGuardian 2025

Problem 39 milionów danych uwierzytelniających

Raport GitHub Octoverse 2024 udokumentował 39 milionów wycieków sekretów na GitHubie w ciągu roku — 25% wzrostu w skali roku w porównaniu do 2023 roku. Te sekrety obejmują klucze API, ciągi połączeń z bazą danych, tokeny uwierzytelniające, prywatne certyfikaty i dane uwierzytelniające dostawców chmury.

Źródło tych wycieków jest dobrze udokumentowane: deweloperzy commitują kod zawierający sekrety — albo przypadkowo (konfiguracja debugowania pozostawiona w commicie), albo przez niewłaściwe zarządzanie sekretami (twardo zakodowane dane uwierzytelniające zamiast zmiennych środowiskowych). Skala 39 milionów odzwierciedla zarówno wzrost GitHub jako platformy deweloperskiej, jak i utrzymywanie się niebezpiecznych praktyk deweloperskich w dużej skali.

To, co dane Octoverse nie uchwycają w pełni, to związany i rosnący wektor wycieków: interakcje z asystentami kodowania AI. Kiedy deweloperzy wklejają kod do Claude, ChatGPT lub innych narzędzi AI do kodowania w celu debugowania, przeglądu lub optymalizacji, kod, który wklejają, często zawiera te same dane uwierzytelniające, które kończą w wyciekach sekretów GitHub — ciągi połączeń z bazą danych, klucze API, wewnętrzne adresy URL usług i tokeny uwierzytelniające.

Jak użycie AI przez deweloperów prowadzi do ujawnienia danych uwierzytelniających

Badania GitGuardian z 2025 roku wykazały, że 67% deweloperów przypadkowo ujawnia sekrety w kodzie. Wzorce zachowań, które prowadzą do wycieków sekretów GitHub, są tymi samymi wzorcami zachowań, które prowadzą do ujawnienia danych uwierzytelniających w narzędziach AI — ale wektor narzędzi AI jest mniej widoczny i trudniejszy do wykrycia po fakcie.

Deweloper debugujący problem z połączeniem produkcyjnym wkleja ślad stosu, który zawiera ciąg połączenia z bazą danych użyty w komunikacie o błędzie. Model AI przetwarza ciąg połączenia, potencjalnie przechowuje go w historii rozmowy i przesyła go na serwery dostawcy AI. Dane uwierzytelniające są teraz poza kontrolą dewelopera.

Deweloper proszący o pomoc w optymalizacji potoku danych wkleja kod potoku, w tym nazwę koszyka S3, klucz dostępu AWS i tajny klucz używany do uwierzytelnienia. Model AI otrzymuje te dane uwierzytelniające jako część uzasadnionej pomocy w kodowaniu.

Deweloper proszący o przegląd kodu wkleja implementację integracji API, która zawiera klucz API partnera. Prośba o przegląd zawiera dane uwierzytelniające produkcyjne.

W każdym przypadku intencja dewelopera jest uzasadniona — potrzebują pomocy w problemie technicznym. Ujawnienie danych uwierzytelniających jest przypadkowym skutkiem włączenia kontekstu debugowania. Wzór dokładnie odzwierciedla to, jak sekrety trafiają na GitHub: nie jest to złośliwe ujawnienie, lecz przypadkowe włączenie.

Trend wycieków w potokach CI/CD

Wyciek danych PII i sekretów deweloperów w potokach CI/CD wzrósł o 34% w 2024 roku, według danych śledzenia. Źródło jest podobne: skrypty budowania, konfiguracje wdrożenia i pliki infrastruktury jako kod są coraz częściej przeglądane z użyciem narzędzi AI. Te pliki rutynowo zawierają odniesienia do zmiennych środowiskowych, dane uwierzytelniające dostawców chmury i tokeny kont usług.

W miarę jak przyjęcie narzędzi AI w przepływach pracy deweloperskich rośnie — deweloperzy używają AI do przeglądu kodu, dokumentacji, debugowania i optymalizacji w całym cyklu życia rozwoju — powierzchnia dla przypadkowego ujawnienia danych uwierzytelniających rośnie proporcjonalnie.

Rozwiązanie architektury MCP

Dla zespołów deweloperskich korzystających z Claude Desktop lub Cursor IDE jako swoich głównych narzędzi do kodowania AI, architektura Model Context Protocol (MCP) zapewnia przezroczystą warstwę przechwytywania danych uwierzytelniających.

Serwer MCP znajduje się pomiędzy klientem AI dewelopera a API modelu AI. Wszystkie teksty przesyłane przez protokół MCP — w tym wklejony kod, ślady stosu, pliki konfiguracyjne i kontekst debugowania — przechodzą przez silnik anonimizacji przed dotarciem do modelu AI.

Silnik anonimizacji wykrywa wzorce podobne do danych uwierzytelniających: formaty kluczy API, struktury ciągów połączeń z bazą danych, formaty tokenów OAuth, nagłówki kluczy prywatnych i niestandardowe formaty danych uwierzytelniających skonfigurowane przez zespół bezpieczeństwa. Te wzorce są zastępowane uporządkowanymi tokenami przed przesłaniem.

Dla dewelopera debugującego problem z połączeniem produkcyjnym: ślad stosu zawierający ciąg połączenia z bazą danych dociera do serwera MCP. Ciąg połączenia jest zastępowany tokenem ([DB_CONNECTION_1]). Model AI otrzymuje ślad stosu z zastąpionym danymi uwierzytelniającymi. Pomoc w debugowaniu jest świadczona na podstawie zanonimizowanej wersji. Deweloper otrzymuje odpowiedź, która używa tego samego tokena — wystarczającego do zrozumienia problemu technicznego. Rzeczywiste dane uwierzytelniające nigdy nie opuściły sieci korporacyjnej.

39 milionów wycieków sekretów GitHub odzwierciedla konsekwencję niewystarczających kontroli na znanym wektorze wycieków. Ujawnienie danych uwierzytelniających przez asystentów kodowania AI jest tym samym wektorem wycieków w mniej monitorowanym kanale. Techniczna kontrola, która rozwiązuje oba problemy, to przechwytywanie danych uwierzytelniających przed przesłaniem.

Źródła:

Gotowy, aby chronić swoje dane?

Rozpocznij anonimizację PII z 285+ typami podmiotów w 48 językach.