Czy można zaufać Generative AI, aby naprawić Twój kod?

Czy można zaufać Generative AI, aby naprawić Twój kod?

Czy można zaufać generatywnej sztucznej inteligencji, jeśli chodzi o naprawę kodu? Inteligencja danych PlatoBlockchain. Wyszukiwanie pionowe. AI.

Organizacje na całym świecie ścigają się o przyjęcie technologii sztucznej inteligencji do swoich programów i narzędzi cyberbezpieczeństwa. A większość (65%) deweloperów używać lub planować wykorzystanie sztucznej inteligencji w testowaniu w ciągu najbliższych trzech lat. Istnieje wiele aplikacji zabezpieczających, które skorzystają z generatywnej sztucznej inteligencji, ale czy naprawianie kodu jest jedną z nich?

Dla wielu zespołów DevSecOps generatywna sztuczna inteligencja stanowi świętego Graala w usuwaniu rosnących zaległości w zakresie luk w zabezpieczeniach. Dobrze ponad połowa (66%) organizacji twierdzi, że ich zaległości obejmują ponad 100,000 XNUMX luk w zabezpieczeniach, a ponad dwie trzecie zgłoszonych wyników statycznych testów bezpieczeństwa aplikacji (SAST) pozostaje otwartych przez trzy miesiące po wykryciu, przy czym 50% pozostaje otwarte po 363 dniach. Marzeniem jest, aby programista mógł po prostu poprosić ChatGPT o „naprawienie tej luki”, a godziny i dni spędzone wcześniej na usuwaniu luk odeszłyby w przeszłość.

Teoretycznie nie jest to całkowicie szalony pomysł. W końcu uczenie maszynowe jest od lat skutecznie wykorzystywane w narzędziach cyberbezpieczeństwa do automatyzacji procesów i oszczędzania czasu — sztuczna inteligencja jest niezwykle korzystna, gdy jest stosowana do prostych, powtarzalnych zadań. Ale zastosowanie generatywnej sztucznej inteligencji do złożonych aplikacji kodowych ma w praktyce pewne wady. Bez ludzkiego nadzoru i wyraźnego polecenia zespoły DevSecOps mogą tworzyć więcej problemów niż rozwiązywać.

Generatywna sztuczna inteligencja Zalety i ograniczenia związane z naprawą kodu

Narzędzia sztucznej inteligencji mogą być niezwykle potężnymi narzędziami do prostych analiz, monitorowania, a nawet działań naprawczych związanych z cyberbezpieczeństwem niskiego ryzyka. Niepokój pojawia się, gdy stawka staje się konsekwentna. To ostatecznie kwestia zaufania.

Badacze i programiści wciąż określają możliwości nowej technologii generatywnej sztucznej inteligencji tworzyć złożone poprawki kodu. Generatywna sztuczna inteligencja polega na istniejących, dostępnych informacjach w celu podejmowania decyzji. Może to być pomocne przy tłumaczeniu kodu z jednego języka na inny lub naprawianiu dobrze znanych błędów. Na przykład, jeśli poprosisz ChatGPT o „napisanie tego kodu JavaScript w Pythonie”, prawdopodobnie uzyskasz dobry wynik. Użycie go do naprawy konfiguracji zabezpieczeń w chmurze byłoby pomocne, ponieważ odpowiednia dokumentacja do tego celu jest publicznie dostępna i łatwa do znalezienia, a sztuczna inteligencja może postępować zgodnie z prostymi instrukcjami.

Jednak naprawienie większości luk w kodzie wymaga działania w oparciu o unikalny zestaw okoliczności i szczegółów, wprowadzając bardziej złożony scenariusz dla sztucznej inteligencji. Sztuczna inteligencja może zapewnić „poprawkę”, ale bez weryfikacji nie należy jej ufać. Generatywna sztuczna inteligencja z definicji nie może stworzyć czegoś, co nie jest jeszcze znane, i może doświadczać halucynacji, które skutkują fałszywymi wynikami.

W niedawnym przykładzie prawnik musi stawić czoła poważnym konsekwencjom po tym, jak wykorzystał ChatGPT do pomocy w pisaniu pozwów sądowych, w których cytowano sześć nieistniejących spraw wymyślonych przez narzędzie AI. Gdyby sztuczna inteligencja miała halucynować metody, które nie istnieją, a następnie zastosować te metody do pisania kodu, spowodowałoby to stratę czasu na „poprawkę”, której nie można skompilować. Dodatkowo, zgodnie z OpenAI Biała księga GPT-4, nowe exploity, ucieczki z więzienia i pojawiające się zachowania zostaną odkryte z czasem i trudno będzie im zapobiec. Dlatego konieczne jest staranne rozważenie, aby narzędzia bezpieczeństwa AI i rozwiązania innych firm były weryfikowane i regularnie aktualizowane, aby upewnić się, że nie staną się niezamierzonymi tylnymi drzwiami do systemu.

Ufać czy nie ufać?

To interesująca dynamika, gdy widzimy, jak szybkie przyjęcie generatywnej sztucznej inteligencji rozgrywa się u szczytu ruchu zerowego zaufania. Większość narzędzi cyberbezpieczeństwa opiera się na założeniu, że organizacje nigdy nie powinny ufać, zawsze weryfikować. Generatywna sztuczna inteligencja jest zbudowana na zasadzie nieodłącznego zaufania do informacji udostępnianych jej przez znane i nieznane źródła. To zderzenie zasad wydaje się trafną metaforą uporczywych zmagań, z jakimi borykają się organizacje w znalezieniu właściwej równowagi między bezpieczeństwem a produktywnością, które w tej chwili wydają się szczególnie zaostrzone.

Chociaż generatywna sztuczna inteligencja może jeszcze nie być świętym Graalem, na który liczyły zespoły DevSecOps, pomoże ona w stopniowym postępie w zmniejszaniu zaległości w zakresie luk w zabezpieczeniach. Na razie można go zastosować do prostych poprawek. W przypadku bardziej złożonych poprawek będą musieli przyjąć metodologię weryfikacji, aby zaufać, która wykorzystuje moc sztucznej inteligencji, kierując się wiedzą programistów, którzy napisali kod i są jego właścicielami.

Znak czasu:

Więcej z Mroczne czytanie