Ryzyka kodu generowanego przez AI: lista kontrolna przed wdrożeniem

Bezpieczeństwo8 min czytania

Model generuje kod, który wygląda wiarygodnie i często działa. To właśnie sprawia, że łatwo przeoczyć jego wady.

Bezpieczeństwo

Wygenerowany kod potrafi pomijać walidację danych, składać zapytania do bazy w sposób podatny na wstrzyknięcia, zapisywać hasła bez odpowiedniego haszowania albo wystawiać zbyt szerokie uprawnienia. Model uczył się na ogromnej ilości kodu, w tym kodu słabej jakości, i nie zawsze odróżnia przykład z poradnika od rozwiązania produkcyjnego.

Sekrety w repozytorium

Klucze API i hasła wklejone „na chwilę” do pliku potrafią trafić do historii repozytorium. Trzymaj je w zmiennych środowiskowych, dodaj pliki konfiguracyjne do ignorowanych i sprawdzaj historię, zanim opublikujesz projekt.

Zależności, które nie istnieją

Modele potrafią zmyślać nazwy pakietów. Jeśli ktoś zarejestruje taką nazwę i umieści w niej złośliwy kod, instalacja „sugerowanego” pakietu staje się wektorem ataku. Przed dodaniem nieznanej biblioteki sprawdź, kto ją utrzymuje, od kiedy istnieje i ilu osób jej używa.

Prywatność danych

Wklejając do narzędzia fragmenty kodu, logi czy dane klientów, wysyłasz je do zewnętrznego usługodawcy. Sprawdź jego zasady przetwarzania danych i nie wklejaj niczego, czego nie wolno Ci udostępniać na zewnątrz.

Licencje

Wygenerowany fragment może przypominać kod objęty konkretną licencją. Kwestie prawne wokół kodu tworzonego przez AI wciąż się wyjaśniają i różnią się między jurysdykcjami, więc w projektach komercyjnych warto skonsultować się z prawnikiem.

Dług techniczny

Najdroższym skutkiem ubocznym jest kod, którego nikt w zespole nie rozumie. Za pół roku, gdy trzeba go zmienić, okaże się, że nie wiadomo, dlaczego robi to, co robi.

Lista kontrolna przed wdrożeniem

Ta lista nie zastępuje audytu bezpieczeństwa. Jeśli aplikacja przetwarza płatności lub dane wrażliwe, potrzebujesz przeglądu wykonanego przez specjalistę.