LLM-y i Generowanie Niezabezpieczonego Kodu: Scenariusz Domyślny
Najnowsze badania Backslash Security ujawniły niepokojący trend: duże modele językowe (LLM), takie jak GPT-4.1, wraz z innymi powszechnie używanymi modelami, mają tendencję do generowania domyślnie niezabezpieczonego kodu. Oznacza to, że bez konkretnych instrukcji lub wytycznych dotyczących bezpieczeństwa, kod generowany przez te systemy AI jest często podatny na powszechne słabości i exploity. Jednak badania wskazują również, że bezpieczeństwo generowanego kodu można znacznie poprawić, zapewniając dodatkowe wskazówki dotyczące bezpieczeństwa lub wdrażając zarządzanie oparte na regułach.
Aby dalej zbadać ten problem, Backslash Security ogłosiło uruchomienie serwera Model Context Protocol (MCP), wraz z regułami i rozszerzeniami przeznaczonymi dla Agentic Integrated Development Environments (IDE). Narzędzia te mają na celu rozwiązanie problemów z lukami w zabezpieczeniach zidentyfikowanymi w kodzie generowanym przez LLM i zapewnienie programistom środków do tworzenia bezpieczniejszych aplikacji.
Backslash Security przeprowadziło serię testów na siedmiu różnych wersjach popularnych LLM, w tym modelach GPT firmy OpenAI, Claude firmy Anthropic i Gemini firmy Google. Celem było ocenienie, jak różne techniki podpowiedzi wpłynęły na zdolność modeli do generowania bezpiecznego kodu. Bezpieczeństwo wyjścia kodu oceniano na podstawie jego odporności na dziesięć przypadków użycia Common Weakness Enumeration (CWE), które reprezentują szereg powszechnych luk w oprogramowaniu.
Wyniki tych testów konsekwentnie pokazywały, że bezpieczeństwo generowanego kodu poprawiało się wraz z bardziej zaawansowanymi technikami podpowiedzi. Jednak nadrzędnym tematem było to, że wszystkie testowane LLM generalnie generowały niezabezpieczony kod, gdy pozostawiono je samym sobie. Sugeruje to, że modele te, w swoich domyślnych konfiguracjach, nie traktują bezpieczeństwa priorytetowo i często nie radzą sobie z powszechnymi słabościami kodowania.
Naiwne Podpowiedzi: Przepis na Podatność
Podczas prezentacji prostych, “naiwnych” podpowiedzi, które nie wspominały wyraźnie o kwestiach bezpieczeństwa, wszystkie testowane LLM generowały niezabezpieczony kod, który był podatny na co najmniej cztery z dziesięciu powszechnych CWE. Podkreśla to nieodłączny brak świadomości bezpieczeństwa w tych modelach, gdy działają bez konkretnych wskazówek.
Wpływ Podpowiedzi Skoncentrowanych na Bezpieczeństwie
Podpowiedzi, które ogólnie określały potrzebę bezpieczeństwa, prowadziły do bezpieczniejszych wyników, co wskazuje, że LLM są w stanie generować bezpieczniejszy kod, gdy są wyraźnie poinstruowane, aby to robić. Ponadto podpowiedzi, które żądały kodu zgodnego z najlepszymi praktykami Open Web Application Security Project (OWASP), dały jeszcze lepsze wyniki. OWASP to organizacja non-profit, która działa na rzecz poprawy bezpieczeństwa oprogramowania. Jednak nawet przy tych bardziej zaawansowanych podpowiedziach niektóre luki w kodzie utrzymywały się w pięciu z siedmiu testowanych LLM, co podkreśla wyzwania związane z konsekwentnym generowaniem bezpiecznego kodu za pomocą LLM.
Podpowiedzi Oparte na Regułach: Ścieżka do Bezpiecznego Kodu
Najskuteczniejsze podejście do generowania bezpiecznego kodu obejmowało podpowiedzi związane z regułami określonymi przez Backslash w celu rozwiązania konkretnych CWE. Te podpowiedzi oparte na regułach skutkowały kodem, który był bezpieczny i nie był podatny na testowane CWE. Sugeruje to, że zapewnienie LLM konkretnych, ukierunkowanych wskazówek ma kluczowe znaczenie dla zapewnienia bezpieczeństwa generowanego kodu.
Zmienność Wydajności Między LLM
Ogólnie rzecz biorąc, GPT-4o firmy OpenAI wykazało najniższą wydajność we wszystkich podpowiedziach, osiągając bezpieczny wynik kodu tylko 1 na 10 przy użyciu “naiwnych” podpowiedzi. Nawet gdy poproszono go o wygenerowanie bezpiecznego kodu, nadal generował niezabezpieczone dane wyjściowe podatne na osiem z dziesięciu problemów. GPT-4.1 nie wypadł znacząco lepiej z naiwnymi podpowiedziami, uzyskując 1,5 na 10.
Z drugiej strony, Claude 3.7 Sonnet okazał się najlepszym wykonawcą wśród testowanych narzędzi GenAI. Uzyskał 6 na 10 przy użyciu naiwnych podpowiedzi i idealne 10 na 10 przy użyciu podpowiedzi skoncentrowanych na bezpieczeństwie. Sugeruje to, że niektóre LLM są lepiej przygotowane do radzenia sobie z kwestiami bezpieczeństwa, nawet w przypadku braku wyraźnych instrukcji.
Rozwiązania Backslash Security dla Bezpiecznego Kodowania Vibe
Aby rozwiązać problemy ujawnione przez testowanie podpowiedzi LLM, Backslash Security wprowadza kilka nowych funkcji zaprojektowanych w celu umożliwienia bezpiecznego kodowania vibe. Kodowanie Vibe odnosi się do praktyki generowania kodu za pomocą narzędzi AI, takich jak LLM.
Reguły i Zasady AI Backslash
Reguły i Zasady AI Backslash zapewniają czytelne maszynowo reguły, które można wstrzykiwać do podpowiedzi, aby zapewnić pokrycie CWE. Reguły te można stosować z narzędziami takimi jak Cursor, popularny edytor kodu. Ponadto zasady AI kontrolują, które reguły AI są aktywne w IDE za pośrednictwem platformy Backslash, umożliwiając organizacjom dostosowywanie ustawień bezpieczeństwa.
Rozszerzenie IDE Backslash
Rozszerzenie IDE Backslash integruje się bezpośrednio z istniejącymi przepływami pracy programistów, umożliwiając im otrzymywanie recenzji bezpieczeństwa Backslash na kod napisany zarówno przez ludzi, jak i AI. Ta integracja ma kluczowe znaczenie dla zapewnienia, że kwestie bezpieczeństwa są rozwiązywane w całym procesie rozwoju.
Serwer Model Context Protocol (MCP) Backslash
Serwer Model Context Protocol (MCP) Backslash to API świadome kontekstu, które jest zgodne ze standardem MCP. Łączy Backslash z narzędziami AI, umożliwiając bezpieczne kodowanie, skanowanie i poprawki. Standard MCP zapewnia wspólną strukturę dla narzędzi AI do komunikowania się i udostępniania informacji, ułatwiając rozwój bezpiecznych aplikacji opartych na AI.
Rozwiązywanie Wyzwań Związanych z Kodem Generowanym Przez AI
Yossi Pik, współzałożyciel i CTO Backslash Security, podkreśla wyzwania, jakie kod generowany przez AI stwarza dla zespołów ds. bezpieczeństwa. Zauważa, że “kod generowany przez AI – lub kodowanie vibe – może wydawać się koszmarem dla zespołów ds. bezpieczeństwa. Tworzy on powódź nowego kodu i wiąże się z ryzykiem LLM, takim jak halucynacje i wrażliwość na podpowiedzi”. Halucynacje odnoszą się do przypadków, w których LLM generują nieprawidłowe lub bezsensowne informacje, podczas gdy wrażliwość na podpowiedzi odnosi się do tendencji LLM do generowania różnych danych wyjściowych w oparciu o subtelne różnice w podpowiedzi wejściowej.
Jednak Pik uważa również, że AI może być cennym narzędziem dla zespołów AppSec, gdy jest używana z odpowiednimi kontrolami. Twierdzi, że “przy odpowiednich kontrolach – takich jak reguły zdefiniowane przez organizację i serwer MCP świadomy kontekstu podłączony do specjalnie zbudowanej platformy bezpieczeństwa – AI może w rzeczywistości dać zespołom AppSec większą kontrolę od samego początku”. Backslash Security ma na celu zapewnienie tych kontroli poprzez dynamiczne reguły oparte na zasadach, serwer MCP wrażliwy na kontekst i rozszerzenie IDE, z których wszystkie są przeznaczone dla nowej ery kodowania.
Implikacje Niezabezpieczonego Kodu Generowanego Przez AI
Wyniki badań Backslash Security mają znaczące implikacje dla branży tworzenia oprogramowania. Ponieważ narzędzia do generowania kodu oparte na AI stają się coraz bardziej powszechne, kluczowe jest zrozumienie ryzyka związanego z poleganiem na tych narzędziach bez odpowiednich środków bezpieczeństwa.
Zwiększona Podatność na Cyberataki
Niezabezpieczony kod generowany przez AI może tworzyć nowe luki, które cyberprzestępcy mogą wykorzystać. Luki te mogą prowadzić do naruszeń danych, kompromitacji systemu i innych incydentów bezpieczeństwa.
Trudności w Identyfikacji i Usuwaniu Luk
Sama objętość kodu generowanego przez AI może utrudniać identyfikację i usuwanie luk. Zespoły ds. bezpieczeństwa mogą mieć trudności z dotrzymaniem kroku szybkiemu tempu generowania kodu, co prowadzi do zaległości w kwestiach bezpieczeństwa.
Brak Świadomości Bezpieczeństwa Wśród Programistów
Wielu programistów może nie być w pełni świadomych zagrożeń bezpieczeństwa związanych z kodem generowanym przez AI. Ten brak świadomości może prowadzić do tego, że programiści nieświadomie wprowadzają luki w swoich aplikacjach.
Wyzwania Związane z Zgodnością z Przepisami
Organizacje, które polegają na kodzie generowanym przez AI, mogą napotkać wyzwania związane z zgodnością z przepisami. Wiele przepisów wymaga od organizacji wdrożenia odpowiednich środków bezpieczeństwa w celu ochrony poufnych danych. Niezabezpieczony kod generowany przez AI może utrudniać spełnienie tych wymagań.
Najlepsze Praktyki dla Bezpiecznego Generowania Kodu Opartego na AI
Aby złagodzić ryzyko związane z niezabezpieczonym kodem generowanym przez AI, organizacje powinny przyjąć następujące najlepsze praktyki:
Zapewnij Szkolenie z Zakresu Bezpieczeństwa dla Programistów
Programiści powinni otrzymać szkolenie na temat zagrożeń bezpieczeństwa związanych z kodem generowanym przez AI. Szkolenie to powinno obejmować takietematy, jak powszechne CWE, bezpieczne praktyki kodowania i jak używać narzędzi bezpieczeństwa.
Wdróż Zasady i Procedury Bezpieczeństwa
Organizacje powinny wdrożyć zasady i procedury bezpieczeństwa, które odnoszą się do korzystania z kodu generowanego przez AI. Zasady te powinny definiować dopuszczalne przypadki użycia, wymagania dotyczące bezpieczeństwa i procesy przeglądania i zatwierdzania kodu generowanego przez AI.
Używaj Narzędzi Bezpieczeństwa do Skanowania Kodu Generowanego Przez AI
Organizacje powinny używać narzędzi bezpieczeństwa do skanowania kodu generowanego przez AI pod kątem luk w zabezpieczeniach. Narzędzia te mogą pomóc w identyfikacji powszechnych CWE i innych problemów związanych z bezpieczeństwem.
Wdróż Bezpieczny Cykl Rozwoju Oprogramowania (SDLC)
Organizacje powinny wdrożyć bezpieczny cykl rozwoju oprogramowania (SDLC), który uwzględnia kwestie bezpieczeństwa w całym procesie rozwoju. Obejmuje to przeprowadzanie przeglądów bezpieczeństwa kodu generowanego przez AI, przeprowadzanie testów penetracyjnych i wdrażanie monitorowania bezpieczeństwa.
Ustanów Program Nagród za Znalezione Błędy
Organizacje powinny ustanowić program nagród za znalezione błędy, aby zachęcić badaczy bezpieczeństwa do znajdowania i zgłaszania luk w kodzie generowanym przez AI. Może to pomóc w identyfikacji luk, które mogły zostać pominięte przez wewnętrzne zespoły ds. bezpieczeństwa.
Bądź na Bieżąco z Najnowszymi Zagrożeniami Bezpieczeństwa
Organizacje powinny być na bieżąco z najnowszymi zagrożeniami bezpieczeństwa i lukami, które wpływają na kod generowany przez AI. Może to pomóc im w proaktywnym rozwiązywaniu potencjalnych problemów związanych z bezpieczeństwem.
Współpracuj z Ekspertami ds. Bezpieczeństwa
Organizacje powinny współpracować z ekspertami ds. bezpieczeństwa w celu oceny bezpieczeństwa kodu generowanego przez AI i opracowania strategii łagodzenia ryzyka.
Przyszłość Bezpiecznego Generowania Kodu Opartego na AI
Ponieważ narzędzia do generowania kodu oparte na AI stale się rozwijają, kluczowe jest priorytetowe traktowanie bezpieczeństwa. Wdrażając najlepsze praktyki opisane powyżej, organizacje mogą wykorzystać zalety generowania kodu opartego na AI, jednocześnie minimalizując ryzyko związane z niezabezpieczonym kodem.
Postępy w Bezpieczeństwie AI
Trwające wysiłki w zakresie badań i rozwoju koncentrują się na poprawie bezpieczeństwa systemów AI. Wysiłki te obejmują opracowywanie nowych technik wykrywania i zapobiegania atakom adversarialnym, poprawę solidności modeli AI i tworzenie bezpieczniejszych architektur AI.
Integracja Bezpieczeństwa z Rozwojem AI
Bezpieczeństwo staje się coraz bardziej zintegrowane z procesem rozwoju AI. Obejmuje to uwzględnianie kwestii bezpieczeństwa w projekcie modeli AI, stosowanie bezpiecznych praktyk kodowania i przeprowadzanie testów bezpieczeństwa w całym cyklu rozwoju.
Współpraca Między AI a Ekspertami ds. Bezpieczeństwa
Współpraca między AI a ekspertami ds. bezpieczeństwa jest niezbędna dla zapewnienia bezpieczeństwa systemów AI. Ta współpraca może pomóc w identyfikacji potencjalnych zagrożeń bezpieczeństwa i opracowaniu skutecznych strategii łagodzenia ryzyka.
Zwiększona Świadomość Zagrożeń Bezpieczeństwa AI
Zwiększona świadomość zagrożeń bezpieczeństwa AI napędza rozwój nowych narzędzi i technik bezpieczeństwa. Obejmuje to narzędzia do wykrywania ataków adversarialnych, analizowania bezpieczeństwa modeli AI i monitorowania systemów AI pod kątem podejrzanej aktywności.
Rozwiązując problemy związane z bezpieczeństwem kodu generowanego przez AI, organizacje mogą odblokować pełny potencjał rozwoju opartego na AI, jednocześnie chroniąc swoje systemy i dane przed cyberatakami.