CodeGuard od Cisco: Nowe ramy bezpieczeństwa dla kodu generowanego przez sztuczną inteligencję

Zespoły programistyczne na całym świecie coraz częściej korzystają z agentów kodujących wspieranych sztuczną inteligencją, aby zwiększać produktywność i przyspieszać tworzenie oprogramowania. Problem polega na tym, że bezpieczeństwo nie nadąża za tym tempem. Kod generowany przez AI często pozbawiony jest podstawowych zabezpieczeń – pojawiają się w nim niebezpieczne domyślne ustawienia, brak walidacji danych wejściowych, zapisane na stałe dane uwierzytelniające, przestarzałe algorytmy kryptograficzne oraz zależności od rozwiązań o zakończonym cyklu życia. Te luki prowadzą do powstawania podatności, które łatwo wprowadzić do systemu i które często pozostają niewykryte.

Branża potrzebuje jednolitego, otwartego i niezależnego od modelu AI podejścia do bezpieczeństwa kodu generowanego przez sztuczną inteligencję. Dlatego Cisco prezentuje Project CodeGuard, który stawia czoła temu problemowi.

Czym jest Project CodeGuard?

Project CodeGuard to framework bezpieczeństwa, który wprowadza zasady „secure by default” do procesów generowania kodu przez AI. Oferuje zestaw reguł bezpieczeństwa, narzędzia do ich integracji z popularnymi agentami AI oraz mechanizmy automatycznej kontroli zgodności kodu z tymi regułami.

Cel jest jasny: zapewnić domyślne bezpieczeństwo w programowaniu z AI, bez spowalniania pracy programistów.

Framework został zaprojektowany w taki sposób, aby wspierać bezpieczeństwo na każdym etapie cyklu życia kodu generowanego przez AI:

Faza planowania – reguły mogą być wykorzystywane już na etapie projektowania architektury i przygotowywania specyfikacji technicznej, kierując modele AI w stronę bezpiecznych rozwiązań od początku procesu wytwórczego.

Generowanie kodu – podczas pisania kodu agenci programistyczni stosują reguły bezpieczeństwa w czasie rzeczywistym, co pozwala ograniczać wprowadzanie nowych podatności, w tym błędów opisanych w katalogach OWASP lub CWE.

Przegląd kodu – po wygenerowaniu kodu reguły Project CodeGuard mogą być wykorzystywane w automatycznych przeglądach i audytach bezpieczeństwa realizowanych z udziałem agentów AI, takich jak Cursor, GitHub Copilot czy Windsurf.

Integracja bezpieczeństwa w cyklu życia kodu

Przykładem działania Project CodeGuard może być reguła dotycząca walidacji danych wejściowych, która wykrywa niebezpieczne operacje na danych użytkownika i wymusza stosowanie odpowiednich mechanizmów ochronnych. Inna reguła może zapobiegać osadzaniu w kodzie kluczy lub haseł, ostrzegając programistów o wykryciu wzorców charakterystycznych dla wrażliwych danych i kierując projekt do wykorzystania bezpiecznych narzędzi do zarządzania nimi. Takie podejście sprawia, że bezpieczeństwo jest integralną częścią procesu programowania, a nie dodatkiem wdrażanym dopiero na końcowym etapie.

Wersja 1.0.0 i dalszy rozwój

Publikacja wersji 1.0.0 frameworku obejmuje podstawowy zestaw reguł zgodnych z najlepszymi praktykami branżowymi, narzędziami umożliwiającymi integrację z najpopularniejszymi agentami kodującymi oraz dokumentację ułatwiającą wdrożenie. Projekt posiada również jasno określoną mapę rozwoju, której celem jest poszerzenie zestawu reguł o kolejne języki programowania, zwiększenie liczby obsługiwanych narzędzi AI oraz wdrożenie automatycznej walidacji zgodności reguł z kontekstem projektu.

„Project CodeGuard jest projektem otwartym, rozwijanym we współpracy ze społecznością. Jego celem jest nie tylko dostarczenie narzędzi, lecz także kształtowanie standardów bezpieczeństwa w obszarze rozwiązań opartych na sztucznej inteligencji. Framework pełni funkcję dodatkowej warstwy bezpieczeństwa, stanowiąc uzupełnienie istniejących praktyk audytu, przeglądów kodu i zgodności z regulacjami” – mówi Omar Santos z Cisco PSIRT (Product Security Incident Response Team).

Inicjatywa Cisco jest odpowiedzią na rosnącą potrzebę zapewnienia bezpieczeństwa w oprogramowaniu tworzonym z udziałem sztucznej inteligencji. Project CodeGuard stanowi próbę ustanowienia nowego standardu w zakresie odpowiedzialnego wykorzystania AI w inżynierii oprogramowania poprzez połączenie automatyzacji, jakości i bezpieczeństwa.