Rosnąca fala wykorzystania asystentów AI w programowaniu zaczyna generować nową kategorię długu technicznego – długu bezpieczeństwa wynikającego z bezrefleksyjnego kopiowania kodu wygenerowanego przez modele.
Coraz więcej raportów pokazuje, iż AI generuje kod, który jest funkcjonalny, ale systematycznie pozbawiony dojrzałych decyzji architektonicznych i wzorców bezpieczeństwa. Mówimy de facto o „armii junior developerów na sterydach”, którzy piszą szybko, ale nie rozumieją kontekstu biznesowego, modelu zagrożeń ani wewnętrznych standardów organizacji. Efekt: kod działa, testy przechodzi – ale w tle rośnie powierzchnia ataku i przyszły koszt refaktoryzacji.
Nowy dług: bezpieczeństwo jako koszt odroczony
W klasycznym ujęciu dług techniczny to kompromisy jakościowe, które spłacamy później – refaktoryzacją, przepisywaniem modułów, migracjami. W świecie AI dochodzi specyficzny „security debt”: uporczywe, często niewidoczne luki, które miesiącami lub latami pozostają w kodzie, bo nikt nie ma czasu ani narzędzi, by je systematycznie znaleźć. Znaczący odsetek rozwiązań generowanych przez AI zawiera znane podatności lub błędy projektowe, mimo użycia najnowszych modeli. Problem nie kończy się na prostych bugach – chodzi o brak walidacji danych, błędne decyzje kryptograficzne, obchodzenie kontroli dostępu czy pomijanie logowania i audytu. Z perspektywy atakującego jest to złoty okres: organizacje gwałtownie zwiększają ilość kodu, ale nie zwiększają proporcjonalnie inwestycji w AppSec i secure SDLC.
Trzy źródła ryzyka w kodzie z AI
Najczęściej powtarzają się trzy źródła ryzyka:
- Zanieczyszczone dane treningowe: Modele uczone są na publicznych repozytoriach pełnych historycznych anty‑wzorców bezpieczeństwa, podatności i szybkich „hacków” na produkcję. Dla modelu zarówno zła, jak i dobra implementacja potrafią być „poprawne” – liczy się, iż działa.
- Brak kontekstu bezpieczeństwa: Asystent nie zna Twojej architektury, polityk, wymagań regulacyjnych ani modelu zagrożeń, więc nie jest w stanie sam z siebie podjąć świadomych decyzji: czy ten endpoint powinien być uwierzytelniony, czy logować dane, czy szyfrować payload.
- Zmiana kultury pracy developerów: Przy presji czasu kuszące jest „kopiuj–wklej i jedziemy dalej”. To tworzy paradoks zaufania: im bardziej zaufamy AI, tym mniej krytycznie weryfikujemy kod; jednocześnie nasze kompetencje w manualnej analizie maleją.
Jak nie wpędzić organizacji w spiralę długu
Kluczem jest zmiana mentalności: AI ma być współpracownikiem pod ścisłym nadzorem, a nie autonomicznym bytem „produkującym featury” poza kontrolą. Z innych źródeł wyłania się praktyczny zestaw działań, które mogą realnie ograniczyć dług bezpieczeństwa:
- AI – tak, ale głównie do boilerplate, testów, dokumentacji oraz kodu niekrytycznego; zakaz dla fragmentów bezpieczeństwa, logiki finansowej czy miejsc krytycznych regulacyjnie.
- Wzorce architektoniczne, wymagania bezpieczeństwa i konwencje powinny być wyrażone w sposób zrozumiały zarówno dla ludzi, jak i dla narzędzi – jako reguły w static analysis, polityki CI oraz jasno sformułowane „guardrail prompts” dla modeli.
- Ręczny code review jako główna linia obrony przestaje mieć sens przy skali AI‑generated code. Organizacje inwestują w narzędzia, które w pipeline’ach CI/CD wymuszają skany SAST/DAST, kontrolę zależności, skanowanie IaC i automatyczne sugestie poprawek dla typowych błędów.
- Mapowanie SDLC na punkty, w których AI jest używane, i uświadamianie developerom, iż odrobina wysiłku „shift‑left” oszczędzi im znacznie więcej pracy „po burzy” – gdy przyjdzie reagować na incydent lub audyt.
Co dalej
Presja biznesowa, by „przyspieszyć dzięki AI”, w najbliższych latach nie zniknie. Jednocześnie pojawiają się już pierwsze incydenty i proof‑of‑concepty ataków wykorzystujących nie tylko luki w samym kodzie, ale też w łańcuchu dostaw modeli – od podmienionych modeli po zatrute zbiory danych.
Dla zespołów bezpieczeństwa oznacza to konieczność rozszerzenia klasycznego AppSec o nowe obszary: polityki i monitoring „shadow AI” w SDLC, testy odporności na prompt injection, walidację modeli i ich źródeł oraz ciągłe korygowanie długu bezpieczeństwa generowanego przez AI‑asystentów. Jedna rzecz pozostaje jednak niezmienna: to ludzie, nie modele, muszą odpowiadać za ostateczny kształt architektury i za to, czy dług techniczny – zwłaszcza ten związany z bezpieczeństwem – jest świadomą inwestycją, czy tykającą bombą z opóźnionym zapłonem.
