{"id":1818,"date":"2026-05-07T14:01:01","date_gmt":"2026-05-07T14:01:01","guid":{"rendered":"https:\/\/news.jurskitech.pl\/blog\/uncategorized\/generatywna-ai-w-kodzie-3-ukryte-zagrozenia-dla-bezpieczenstwa-aplikacji\/"},"modified":"2026-05-07T14:01:01","modified_gmt":"2026-05-07T14:01:01","slug":"generatywna-ai-w-kodzie-3-ukryte-zagrozenia-dla-bezpieczenstwa-aplikacji","status":"publish","type":"post","link":"https:\/\/news.jurskitech.pl\/blog\/warto-wiedziec\/generatywna-ai-w-kodzie-3-ukryte-zagrozenia-dla-bezpieczenstwa-aplikacji\/","title":{"rendered":"Generatywna AI w kodzie: 3 ukryte zagro\u017cenia dla bezpiecze\u0144stwa aplikacji"},"content":{"rendered":"<h1 id=\"generatywnaaiwkodzie3ukrytezagroeniadlabezpieczestwaaplikacji\">Generatywna AI w kodzie: 3 ukryte zagro\u017cenia dla bezpiecze\u0144stwa aplikacji<\/h1>\n<p>Kiedy w zesz\u0142ym roku zesp\u00f3\u0142 JurskiTech przeprowadza\u0142 audyt bezpiecze\u0144stwa dla \u015bredniej wielko\u015bci platformy e-commerce, znale\u017ali\u015bmy co\u015b niepokoj\u0105cego. Fragment kodu odpowiedzialny za walidacj\u0119 token\u00f3w JWT wygl\u0105da\u0142 idealnie \u2013 by\u0142 czysty, elegancki i\u2026 ca\u0142kowicie podatny na atak typu timing attack. Deweloper przyzna\u0142, \u017ce wygenerowa\u0142 go ChatGPT. Nie pierwszy raz. I to jest w\u0142a\u015bnie moment, w kt\u00f3rym generatywna AI przestaje by\u0107 b\u0142ogos\u0142awie\u0144stwem, a staje si\u0119 cichym zagro\u017ceniem.<\/p>\n<p>Oczywi\u015bcie, copiloci i asystenci AI to pot\u0119\u017cne narz\u0119dzia. Przyspieszaj\u0105 pisanie kodu, pomagaj\u0105 w boilerplate&#8217;ach, a nawet sugeruj\u0105 optymalizacje. Ale maj\u0105 te\u017c ciemn\u0105 stron\u0119 \u2013 szczeg\u00f3lnie gdy chodzi o bezpiecze\u0144stwo. W tym artykule przyjrz\u0119 si\u0119 trzem konkretnym zagro\u017ceniom, kt\u00f3re widz\u0119 w projektach naszych klient\u00f3w. To nie jest kolejny straszak na AI \u2013 to realne przypadki z \u017cycia wzi\u0119te.<\/p>\n<h2 id=\"1podatnociwstrzykiwaneprzeztreninggdymodelpowielabdyzprzeszoci\">1. Podatno\u015bci wstrzykiwane przez trening: gdy model powiela b\u0142\u0119dy z przesz\u0142o\u015bci<\/h2>\n<p>Modele j\u0119zykowe, takie jak GPT-4 czy CodeLlama, s\u0105 trenowane na ogromnych zbiorach kodu \u017ar\u00f3d\u0142owego pochodz\u0105cego z publicznych repozytori\u00f3w. Problem polega na tym, \u017ce wiele z tych repozytori\u00f3w zawiera b\u0142\u0119dy bezpiecze\u0144stwa. Badania pokazuj\u0105, \u017ce nawet 25% kodu wygenerowanego przez AI mo\u017ce zawiera\u0107 podatno\u015bci. To nie s\u0105 wyimaginowane scenariusze.<\/p>\n<p>Kilka miesi\u0119cy temu zesp\u00f3\u0142 JurskiTech pracowa\u0142 nad aplikacj\u0105 SaaS dla startupu z bran\u017cy fintech. Deweloper u\u017cy\u0142 GitHub Copilot do napisania funkcji parsuj\u0105cej pliki CSV. Model zaproponowa\u0142 kod, kt\u00f3ry by\u0142 zwi\u0119z\u0142y i dzia\u0142a\u0142, ale zawiera\u0142 klasyczn\u0105 podatno\u015b\u0107 na wstrzykiwanie polece\u0144 \u2013 nie dezynfekowa\u0142 danych wej\u015bciowych przed u\u017cyciem w wywo\u0142aniu systemowym. A to akurat w aplikacji finansowej\u2026 powiedzmy, \u017ce audytor nie by\u0142 zachwycony.<\/p>\n<p>Dlaczego to si\u0119 dzieje? Bo model uczy si\u0119 na kodzie, kt\u00f3ry widzia\u0142 w sieci. A w sieci jest pe\u0142no niepoprawnych wzorc\u00f3w, szybkich fix\u00f3w, kt\u00f3re pomijaj\u0105 walidacj\u0119, i przyk\u0142ad\u00f3w z tutoriali pisanych bez my\u015blenia o bezpiecze\u0144stwie. Kiedy deweloper akceptuje sugestie AI bez krytycznej analizy, te b\u0142\u0119dy trafiaj\u0105 do produkcyjnego kodu.<\/p>\n<p>Jak si\u0119 broni\u0107? Przede wszystkim \u2013 nigdy nie ufaj wygenerowanemu kodowi bez weryfikacji. Traktuj go jak pierwsz\u0105 wersj\u0119 robocz\u0105, kt\u00f3ra wymaga przegl\u0105du kodu i test\u00f3w bezpiecze\u0144stwa. W JurskiTech zawsze zalecamy stosowanie narz\u0119dzi do statycznej analizy kodu (SAST) w pipeline CI\/CD \u2013 one \u0142api\u0105 wiele typowych podatno\u015bci, zanim kod trafi na produkcj\u0119.<\/p>\n<h2 id=\"2niewiadomeujawnianiesekretwprzezpromptinjection\">2. Nie\u015bwiadome ujawnianie sekret\u00f3w przez prompt injection<\/h2>\n<p>To zagro\u017cenie jest mniej oczywiste, ale r\u00f3wnie niebezpieczne. Deweloperzy cz\u0119sto wklejaj\u0105 fragmenty kodu do asystenta AI, aby poprosi\u0107 o optymalizacj\u0119 lub debugowanie. Problem pojawia si\u0119, gdy w kodzie znajduj\u0105 si\u0119 zakomentowane has\u0142a, klucze API, tokeny dost\u0119powe czy konfiguracje. Ale to nie wszystko \u2013 model mo\u017ce r\u00f3wnie\u017c wyci\u0105gn\u0105\u0107 takie dane z kontekstu, nawet je\u015bli nie s\u0105 wprost wklejone.<\/p>\n<p>S\u0142yszeli\u015bcie o atakach typu prompt injection? W kontek\u015bcie bezpiecze\u0144stwa kodu, mo\u017ce to wygl\u0105da\u0107 tak: deweloper prosi ChatGPT o wyja\u015bnienie dziwnego zachowania funkcji, a model odpowiada, sugeruj\u0105c, \u017ce problem mo\u017ce le\u017ce\u0107 w nieprawid\u0142owym kluczu API \u2013 kt\u00f3ry przypadkowo wyciek\u0142 z treningu albo z poprzedniej odpowiedzi. To rzadkie, ale zdarza si\u0119.<\/p>\n<p>Bardziej realny scenariusz to sytuacja, gdy model jest u\u017cywany w \u015brodowisku korporacyjnym z w\u0142\u0105czon\u0105 histori\u0105 czat\u00f3w. Je\u015bli deweloper zapomni wyczy\u015bci\u0107 sesji, poufne dane mog\u0105 zosta\u0107 przechowane na serwerach zewn\u0119trznego dostawcy. W przypadku OpenAI czy Microsoftu, dane s\u0105 podobno chronione, ale ryzyko naruszenia polityki bezpiecze\u0144stwa firmy jest realne.<\/p>\n<p>Jak si\u0119 broni\u0107? Ustal zasady korzystania z narz\u0119dzi AI w zespole. Zakaz wklejania wra\u017cliwych danych \u2013 to oczywiste. Ale id\u017a krok dalej: u\u017cywaj lokalnych modeli, takich jak CodeLlama, kt\u00f3re dzia\u0142aj\u0105 w Twojej infrastrukturze. W JurskiTech wdro\u017cyli\u015bmy u klient\u00f3w rozwi\u0105zania oparte na self-hostowanych modelach, dzi\u0119ki czemu deweloperzy mog\u0105 korzysta\u0107 z pomocy AI bez ryzyka wycieku danych.<\/p>\n<h2 id=\"3faszywepoczuciebezpieczestwagdyaitworzypozraniefaktycznochron\">3. Fa\u0142szywe poczucie bezpiecze\u0144stwa: gdy AI tworzy poz\u00f3r, a nie faktyczn\u0105 ochron\u0119<\/h2>\n<p>To zagro\u017cenie jest najbardziej podst\u0119pne. Generatywna AI potrafi napisa\u0107 kod, kt\u00f3ry <em>wygl\u0105da<\/em> bezpiecznie \u2013 ma komentarze, jest czysty, u\u017cywa popularnych bibliotek. Ale cz\u0119sto implementuje zabezpieczenia w spos\u00f3b powierzchowny. Na przyk\u0142ad: deweloper prosi o funkcj\u0119 uwierzytelniania z hashowaniem hase\u0142. AI generuje kod, kt\u00f3ry u\u017cywa bcrypt \u2013 dobrze. Ale zapomina o dodaniu salt? Albo u\u017cywa sta\u0142ego kosztu, kt\u00f3ry jest zbyt niski? Albo nie zabezpiecza przed brute force?<\/p>\n<p>Kiedy\u015b audytowa\u0142em aplikacj\u0119, w kt\u00f3rej znalaz\u0142em taki kod: funkcja logowania wygenerowana przez AI sprawdza\u0142a has\u0142o za pomoc\u0105 <code>password_verify<\/code> (PHP) \u2013 poprawnie. Ale nie mia\u0142a \u017cadnego limitu pr\u00f3b ani op\u00f3\u017anienia. Atakuj\u0105cy m\u00f3g\u0142by pr\u00f3bowa\u0107 hase\u0142 w niesko\u0144czono\u015b\u0107. AI po prostu nie doda\u0142o tych mechanizm\u00f3w, bo nie zosta\u0142y wyra\u017anie za\u017c\u0105dane. A deweloper za\u0142o\u017cy\u0142, \u017ce skoro kod dzia\u0142a i u\u017cywa bcrypt, to jest bezpiecznie. To fa\u0142szywe poczucie bezpiecze\u0144stwa.<\/p>\n<p>Inny przyk\u0142ad: generowanie kodu do walidacji danych wej\u015bciowych. AI cz\u0119sto tworzy regu\u0142y walidacji, ale skupia si\u0119 na formacie, a nie na kontek\u015bcie biznesowym. Na przyk\u0142ad walidacja adresu email mo\u017ce przepu\u015bci\u0107 adres <code>test@test.com<\/code> zamiast wymaga\u0107 domeny firmowej. Albo przepu\u015bci\u0107 SQL injection, je\u015bli walidacja nie obejmuje escape&#8217;owania znak\u00f3w specjalnych.<\/p>\n<p>Jak si\u0119 broni\u0107? Zawsze pisz testy bezpiecze\u0144stwa, kt\u00f3re sprawdzaj\u0105 konkretne scenariusze atak\u00f3w. Nie polegaj na tym, \u017ce AI zrobi wszystko za Ciebie. W JurskiTech stosujemy zasad\u0119 \u201ebezpiecze\u0144stwo przez projektowanie\u201d \u2013 ka\u017cda funkcja musi mie\u0107 zdefiniowane wymagania bezpiecze\u0144stwa, zanim powstanie kod. AI jest asystentem, a nie architektem bezpiecze\u0144stwa.<\/p>\n<h2 id=\"podsumowanieaiwkodzietonarzdzienieguru\">Podsumowanie: AI w kodzie to narz\u0119dzie, nie guru<\/h2>\n<p>Generatywna AI zmienia spos\u00f3b, w jaki piszemy kod. To fakt. Przyspiesza rozw\u00f3j, redukuje boilerplate, pomaga w nauce nowych technologii. Ale nie jest magicznym rozwi\u0105zaniem, kt\u00f3re zapewni bezpiecze\u0144stwo. W JurskiTech widzimy, \u017ce firmy, kt\u00f3re bezkrytycznie akceptuj\u0105 kod z AI, cz\u0119sto p\u0142ac\u0105 p\u00f3\u017aniej za audyty, incydenty i problemy z compliance.<\/p>\n<p>Trzy zagro\u017cenia, kt\u00f3re opisa\u0142em \u2013 podatno\u015bci z treningu, wyciek danych przez prompt injection i fa\u0142szywe poczucie bezpiecze\u0144stwa \u2013 to nie teoretyczne rozwa\u017cania. To rzeczywiste problemy, kt\u00f3re spotykamy na co dzie\u0144. Dlatego w naszej agencji zawsze \u0142\u0105czymy korzystanie z AI z solidnym procesem przegl\u0105du kodu, testami bezpiecze\u0144stwa i politykami ochrony danych.<\/p>\n<p>Je\u015bli budujesz aplikacj\u0119 webow\u0105, SaaS, sklep e-commerce czy narz\u0119dzie AI i chcesz mie\u0107 pewno\u015b\u0107, \u017ce Tw\u00f3j kod jest bezpieczny \u2013 nie zostawiaj tego wy\u0142\u0105cznie asystentowi. Zaplanuj audyt, wdr\u00f3\u017c SAST, edukuj zesp\u00f3\u0142. AI to fantastyczne narz\u0119dzie, ale to Ty jeste\u015b odpowiedzialny za bezpiecze\u0144stwo.<\/p>\n<p>Potrzebujesz wsparcia w zakresie bezpiecze\u0144stwa aplikacji lub audytu kodu? Skontaktuj si\u0119 z JurskiTech \u2013 pomo\u017cemy Ci zabezpieczy\u0107 Tw\u00f3j cyfrowy biznes.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Generatywna AI w kodzie: 3 ukryte zagro\u017cenia dla bezpiecze\u0144stwa aplikacji Kiedy w zesz\u0142ym roku zesp\u00f3\u0142 JurskiTech przeprowadza\u0142 audyt bezpiecze\u0144stwa dla \u015bredniej wielko\u015bci platformy e-commerce, znale\u017ali\u015bmy co\u015b niepokoj\u0105cego. Fragment kodu odpowiedzialny za walidacj\u0119 token\u00f3w JWT wygl\u0105da\u0142 idealnie \u2013 by\u0142 czysty, elegancki i\u2026 ca\u0142kowicie podatny na atak typu timing attack. Deweloper przyzna\u0142, \u017ce wygenerowa\u0142 go ChatGPT. Nie<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[526,421,490,9],"class_list":["post-1818","post","type-post","status-publish","format-standard","hentry","category-warto-wiedziec","tag-ai-w-programowaniu","tag-bezpieczenstwo-aplikacji","tag-generatywna-ai","tag-jurskitech"],"_links":{"self":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/1818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/comments?post=1818"}],"version-history":[{"count":0,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/posts\/1818\/revisions"}],"wp:attachment":[{"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/media?parent=1818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/categories?post=1818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.jurskitech.pl\/blog\/wp-json\/wp\/v2\/tags?post=1818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}