Aktualizacja GitHub Copilot powstrzymuje model AI przed ujawnianiem tajemnic
GitHub zaktualizował model AI Copilot, asystenta programowania, który generuje kod źródłowy i rekomendacje funkcji w czasie rzeczywistym w Visual Studio i twierdzi, że jest teraz bezpieczniejszy i wydajniejszy.
Firma twierdzi, że nowy model sztucznej inteligencji, który zostanie udostępniony użytkownikom w tym tygodniu, oferuje sugestie lepszej jakości w krótszym czasie, jeszcze bardziej poprawiając efektywność korzystających z niego programistów poprzez zwiększenie wskaźnika akceptacji.
Copilot wprowadzi nowy paradygmat o nazwie „Fill-In-the-Middle”, który wykorzystuje bibliotekę znanych sufiksów kodu i pozostawia lukę do wypełnienia przez narzędzie AI, osiągając lepszą trafność i spójność z resztą kodu projektu.
Ponadto GitHub zaktualizował klienta Copilot, aby zredukować niechciane sugestie o 4,5% w celu poprawy ogólnych wskaźników akceptacji kodu.
„Kiedy po raz pierwszy uruchomiliśmy GitHub Copilot for Individuals w czerwcu 2022 r., średnio ponad 27% plików kodu programistów zostało wygenerowanych przez GitHub Copilot” — powiedział Shuyin Zhao, starszy dyrektor ds. zarządzania produktem.
„Dzisiaj GitHub Copilot odpowiada za średnio 46% kodu programisty we wszystkich językach programowania, a w Javie liczba ta wzrasta do 61%.
Bardziej bezpieczne sugestie
Jednym z najważniejszych ulepszeń w tej aktualizacji Copilot jest wprowadzenie nowego systemu filtrowania luk w zabezpieczeniach, który pomoże identyfikować i blokować niebezpieczne sugestie, takie jak zakodowane na stałe poświadczenia, iniekcje ścieżek i iniekcje SQL.
„Nowy system wykorzystuje LLM (duże modele językowe) do przybliżenia zachowania narzędzi do analizy statycznej – a ponieważ GitHub Copilot obsługuje zaawansowane modele sztucznej inteligencji na potężnych zasobach obliczeniowych, jest niewiarygodnie szybki i może nawet wykrywać podatne na ataki wzorce w niekompletnych fragmentach kodu” — Zhao powiedział.
„Oznacza to, że niebezpieczne wzorce kodowania są szybko blokowane i zastępowane alternatywnymi sugestiami”.
Firma programistyczna twierdzi, że Copilot może generować tajemnice, takie jak klucze, poświadczenia i hasła widoczne w danych treningowych na nowych ciągach. Nie nadają się one jednak do użytku, ponieważ są całkowicie fikcyjne i zostaną zablokowane przez nowy system filtrowania.
Pojawienie się tych tajemnic w sugestiach kodu Copilot wywołało ostrą krytykę ze strony społeczności programistów, a wielu zarzuca Microsoftowi wykorzystywanie dużych zestawów publicznie dostępnych danych do trenowania swoich modeli sztucznej inteligencji z niewielkim uwzględnieniem bezpieczeństwa, nawet włączając zestawy, które omyłkowo zawierają tajemnice.
Blokując niebezpieczne sugestie w edytorze w czasie rzeczywistym, GitHub może również zapewnić pewną odporność na ataki zatrutych zestawów danych, których celem jest potajemne szkolenie asystentów AI w zakresie sugestii zawierających złośliwe ładunki.
W tej chwili LLM Copilot są nadal szkolone w rozróżnianiu wzorców kodu podatnych i niewrażliwych, więc oczekuje się, że wydajność modelu AI na tym froncie będzie się stopniowo poprawiać w najbliższej przyszłości.