Na serwerze GitHub MCP, implementacji protokołu MCP (Model Context Protocol) od GitHub, odkryto lukę, która umożliwia wyciąganie danych z prywatnych repozytoriów użytkowników korzystających z asystentów AI do automatyzacji pracy z repozytoriami.
Protokół MCP ma na celu łączenie modeli AI z różnymi źródłami danych. Serwer GitHub MCP zapewnia bezproblemową integrację dużych modeli językowych z API GitHub i dostarcza tym modelom dodatkowy kontekst, wyciągając dane z repozytoriów GitHub. Modele korzystające z MCP mogą być wykorzystywane do automatyzacji określonych działań z GitHub, na przykład do analizowania komunikatów o błędach.
Istota luki polega na tym, że poprzez interakcję z podłączonym do GitHub dużym modelem językowym można uzyskać dostęp do poufnych danych użytkownika, który powiązał agenta AI ze swoją kontem na GitHub. Atakujący może opublikować w publicznym repozytorium, dla którego zastosowano automatyzację opartą na dużym modelu językowym, specjalnie przygotowane zgłoszenie problemu (issue). Po aktywacji model stworzy pull request z proponowanym rozwiązaniem. W związku z tym, jeśli problem dotyczy prywatnych repozytoriów lub poufnych danych, model może ujawnić informacje w zaproponowanym pull request.

Dla przykładu wysłano zgłoszenie o błąd z uwagą, że w pliku README nie wskazano autora. Jako rozwiązanie w wiadomości zaproponowano dodanie do README informacji o autorze oraz listy wszystkich repozytoriów, z którymi pracował autor. Ostatecznie model stworzył pull request z informacjami, które zawierały dane osobowe autora, wyciągnięte z prywatnego repozytorium, a także listę istniejących prywatnych repozytoriów. Na następnym etapie poprzez podobną interakcję z modelem można uzyskać również dane z konkretnego prywatnego repozytorium.
Aby aktywować agenta AI, właściciel repozytorium musi wydać polecenie przetworzenia wiadomości o błędach. Jeśli GitHub jest połączony z usługą AI Claude, wystarczy, że właściciel repozytorium wyśle zapytanie do asystenta AI w formie: „sprawdź problemy w moich repozytoriach z otwartym kodem i napraw je”. Następnie asystent AI wykorzysta skonfigurowaną integrację MCP z kontem na GitHubie i wykona instrukcje zawarte w wiadomościach o problemach.
Źródło: opennet.ru
