GitHub dodaje AI security review: co naprawdę trafia do pull requestu
GitHub uruchomił wykrycia AI w code scanning i komendę /security-review. Wyjaśniamy wymagania, ograniczenia i bezpieczny sposób wdrożenia w zespole.
- AUTOR
- Karol Rapacz / CEO, Pentester (OSCP, PNPT)
- PUBLIKACJA
- 14 lipca 2026
- CZAS CZYTANIA
- 9 min czytania
- TEMAT
- AppSec
GitHub udostępnił 14 lipca 2026 r. dwie funkcje wykorzystujące AI do przeglądu bezpieczeństwa kodu. Pierwsza dodaje wykrycia AI bezpośrednio do code scanning w pull requestach. Druga pozwala uruchomić komendę /security-review w aplikacji GitHub Copilot na zmianach, nad którymi programista właśnie pracuje.
To dobry kierunek: informacja o luce pojawia się bliżej momentu jej powstania. Nie jest to jednak „pentest w każdym pull requeście”. Obie funkcje mają inny zakres, wymagania i model zaufania, a producent określa je jako public preview.
Dwie funkcje, dwa różne workflow
Wykrycia AI w GitHub code scanning
Nowe alerty są widoczne w pull requeście obok istniejącego procesu code scanning. GitHub deklaruje, że silnik AI może rozszerzyć pokrycie na języki i frameworki, których nie obsługuje natywna analiza CodeQL. Alerty są oznaczone etykietą AI, aby reviewer wiedział, skąd pochodzą.
Włączenie wymaga:
- GitHub Code Security;
- domyślnej konfiguracji CodeQL w repozytorium;
- zezwolenia na poziomie enterprise;
- aktywacji dla organizacji lub repozytorium;
- licencji GitHub Copilot i dostępnych kredytów AI w public preview.
Ważne ograniczenie: GitHub opisuje te ustalenia jako informacyjne. Nie blokują automatycznie merge’a. To rozsądne na etapie preview, ale oznacza, że zespół musi sam zaprojektować triage i zasady eskalacji.
/security-review w aplikacji Copilot
Drugi mechanizm jest uruchamiany przez programistę na bieżących zmianach. GitHub deklaruje wykrywanie m.in. injection, XSS, niewłaściwej obsługi danych, path traversal i słabej kryptografii. Wynik zawiera istotność, poziom pewności oraz propozycje naprawy.
Komenda jest dostępna w public preview dla planów Copilot Free, Pro, Business i Enterprise. To przegląd na żądanie, nie kontrola gwarantująca, że każda zmiana w repozytorium została przeanalizowana.
Co to zmienia na plus
Największą wartością nie jest samo AI, tylko moment przekazania informacji. Luka wykryta przed mergem jest tańsza do naprawy, ponieważ autor pamięta kontekst, zmiana jest mała, a testy można dodać w tym samym branchu.
Druga korzyść to szersze pokrycie. CodeQL jest precyzyjnym narzędziem opartym na zapytaniach i analizie semantycznej, ale nie obsługuje identycznie każdego języka i frameworka. Warstwa AI może wskazać problem w obszarze, który wcześniej pozostawał poza analizą.
Trzecia korzyść to lepsze doświadczenie programisty. Jeżeli komentarz zawiera ścieżkę danych, wpływ i możliwą poprawkę, security review staje się częścią pracy nad kodem, a nie osobnym raportem dostarczonym po tygodniu.
Gdzie nadal pozostaje luka
AI analizujące diff może nie mieć pełnego obrazu:
- uprawnień nadawanych w chmurze i runtime;
- konfiguracji reverse proxy, IAM, sekretów i sieci;
- zachowania kilku usług połączonych kolejką lub event bus;
- ścieżek biznesowych rozłożonych między frontend, API i system zewnętrzny;
- danych produkcyjnych i realnych granic tenantów;
- błędów logicznych, które wyglądają poprawnie w pojedynczym pliku.
Model może również wygenerować fałszywy alarm albo zaproponować poprawkę, która ucisza symptom i pozostawia przyczynę. Dlatego finding i fix muszą przejść osobną weryfikację. Nie akceptuj automatycznie zmian tylko dlatego, że ten sam system wykrył problem i wygenerował patch.
CodeQL, AI i człowiek pełnią różne role
Najlepszy model nie zastępuje istniejących warstw:
| Warstwa | Najlepsze zastosowanie |
|---|---|
| reguły lint i sekrety | szybkie, deterministyczne błędy oraz ujawnione poświadczenia |
| CodeQL / SAST | powtarzalna analiza przepływu danych i znanych klas luk |
| AI review | kontekst zmiany, szersze języki, hipotezy i sugestie naprawy |
| reviewer | zgodność z architekturą, wymaganiami i ryzykiem biznesowym |
| testy dynamiczne i pentest | zachowanie działającego systemu oraz łączenie ścieżek ataku |
Traktuj wykrycie AI jako źródło sygnału, nie ostateczny dowód. Dla wysokiej istotności wymagaj reprodukcji albo jednoznacznego argumentu technicznego. Dla poprawki wymagaj testu, który najpierw potwierdza problem, a później jego usunięcie.
Jak wdrożyć funkcję bez zalania zespołu alertami
Tydzień 1: kontrolowany pilot
- Wybierz 3–5 repozytoriów o różnym języku i poziomie ryzyka.
- Nie włączaj blokowania procesu na podstawie alertów AI.
- Wyznacz AppSec ownera do klasyfikacji ustaleń.
- Zapisuj true positive, false positive, duplikat i „wymaga kontekstu”.
- Mierz czas triage oraz odsetek zaakceptowanych poprawek.
Tydzień 2: kalibracja
- Zidentyfikuj klasy ustaleń, w których narzędzie daje najlepszy sygnał.
- Ustal SLA per istotność i ekspozycję aplikacji.
- Dodaj szablon odpowiedzi: wpływ, dowód, owner, decyzja i test regresji.
- Porównaj ustalenia AI z CodeQL, review człowieka i istniejącym backlogiem.
- Oszacuj koszt kredytów AI na zaakceptowane ustalenie, nie na jedno uruchomienie.
Po pilocie
Włącz funkcję szerzej tylko wtedy, gdy ma właściciela, mierzalny poziom szumu i ścieżkę obsługi. Alert bez osoby odpowiedzialnej staje się kolejnym elementem backlogu, a nie kontrolą bezpieczeństwa.
Minimalna polityka dla ustaleń AI
Każdy alert powinien zachować:
- identyfikator commit i wersję analizatora;
- informację, że źródłem było AI;
- opis przepływu lub warunku podatności;
- decyzję reviewera z uzasadnieniem;
- link do poprawki i testu regresji;
- status ponownej weryfikacji;
- datę zamknięcia i właściciela.
Dzięki temu po zmianie modelu można sprawdzić, czy jakość analizy wzrosła, czy jedynie zmienił się styl komentarzy.
Czy to zastępuje pentest?
Nie. Nowe funkcje mogą zmniejszyć liczbę prostych błędów trafiających na produkcję i pomóc reviewerom skupić się na trudniejszych problemach. Pentest bada działający system, zachowanie między komponentami, autoryzację, logikę biznesową, konfigurację i możliwość połączenia kilku słabszych ustaleń w realną ścieżkę ataku.
Dobry proces wykorzystuje AI wcześniej, a test penetracyjny aplikacji i API jako niezależną walidację przed istotnym wdrożeniem lub po większej zmianie architektury.
Wniosek
GitHub przesuwa analizę AI do miejsca, w którym programiści faktycznie podejmują decyzje. To wartościowa zmiana. Profesjonalne wdrożenie wymaga jednak etykietowania pochodzenia ustaleń, ręcznego triage, testów regresji i mierzenia jakości na własnym kodzie.
Najgorszym rezultatem byłoby zwiększenie liczby komentarzy bez zwiększenia liczby zweryfikowanych poprawek. Najlepszym — szybsze usuwanie podatności przy zachowaniu CodeQL, review człowieka i testów działającego systemu jako odrębnych warstw dowodu.
Źródła pierwotne: GitHub — AI security detections w pull requestach, GitHub — security reviews w aplikacji Copilot, GitHub Docs — code scanning.


