GitHub wdrożył system uczenia maszynowego do wyszukiwania luk w kodzie

GitHub ogłosił dodanie eksperymentalnego systemu uczenia maszynowego do swojej usługi skanowania kodu w celu identyfikowania typowych typów luk w kodzie. Na etapie testów nowa funkcjonalność dostępna jest obecnie jedynie dla repozytoriów z kodem w JavaScript i TypeScript. Należy zauważyć, że zastosowanie systemu uczenia maszynowego pozwoliło znacznie rozszerzyć zakres identyfikowanych problemów, przy analizie którego system nie ogranicza się już do sprawdzania standardowych szablonów i nie jest przywiązany do znanych frameworków. Wśród problemów zidentyfikowanych przez nowy system wymienia się błędy prowadzące do cross-site scripting (XSS), zniekształcania ścieżek plików (np. poprzez wskazanie „/..”), zastępowania zapytań SQL i NoSQL.

Usługa skanowania kodu pozwala zidentyfikować podatności na wczesnym etapie rozwoju poprzez skanowanie każdej operacji „git push” w poszukiwaniu potencjalnych problemów. Wynik jest dołączany bezpośrednio do żądania ściągnięcia. Wcześniej kontrola odbywała się z wykorzystaniem silnika CodeQL, który analizuje szablony z typowymi przykładami podatnego kodu (CodeQL umożliwia utworzenie szablonu kodu podatnego w celu zidentyfikowania obecności podobnej podatności w kodzie innych projektów). Nowy silnik, wykorzystujący uczenie maszynowe, potrafi identyfikować nieznane wcześniej luki, ponieważ nie jest powiązany z wyliczaniem szablonów kodu opisujących konkretne luki. Kosztem tej funkcji jest wzrost liczby fałszywych alarmów w porównaniu do kontroli opartych na CodeQL.

Źródło: opennet.ru

Dodaj komentarz