Przejdź do treści

Bezpieczeństwo jest dziś ważniejsze niż kiedykolwiek

W ciągu jednego tygodnia wyszło na jaw, że modele AI pomogły znaleźć poważne luki w PHP, Node.js i jądrze Linuksa. O tym, co to moim zdaniem zmienia dla firm, które budują własne narzędzia z pomocą AI, i dlaczego sam agent nie wystarczy.

Obraz wygenerowany przez AI: dłoń z latarką oświetla w ciemności tył małego serwera, jego porty i kable.

Jest jedna myśl, która wraca do mnie za każdym razem, gdy czytam o kolejnej luce w zabezpieczeniach, którą pomogła znaleźć sztuczna inteligencja: bezpieczeństwo oprogramowania jest dziś ważniejsze, niż było kiedykolwiek wcześniej, a jednocześnie wiele osób, które właśnie zaczynają budować własne aplikacje z pomocą AI, poświęca mu zaskakująco mało uwagi. Spróbuję wyjaśnić, skąd się to przekonanie u mnie wzięło.

Luki bezpieczeństwa znalezione z pomocą AI

W ciągu jednego tygodnia wyszło na jaw, że modele AI pomogły znaleźć trzy poważne luki. Pierwsza dotyczyła PHP, języka, w którym napisana jest ogromna część stron internetowych (w tym te zbudowane na WordPressie, Drupalu i Joomli). Badacze z firmy Wiz, korzystając z modeli Google i OpenAI, znaleźli błędy w silniku języka, które pozwalały przejąć serwer bez logowania i odczytać z jego pamięci hasła czy klucze dostępu (niezależnie od nich ten sam problem zgłosili też badacze z firmy Calif i z OpenAI). Błędy tkwiły w PHP od ponad dziesięciu lat, a ponieważ siedziały w samym języku, dotyczyły także stron, których właściciele napisali własny kod bez zarzutu. Numery tych błędów (bez szczegółów technicznych) wyciekły do sieci dwa dni przed planowanym wydaniem poprawki, więc twórcy PHP wydali ją dzień przed terminem, a według Amazona pierwsza próba ataku pojawiła się już cztery dni przed jej publikacją, jeszcze przed tym wyciekiem. Część instytucji publicznych w Europie na wszelki wypadek wyłączyła swoje strony.

Tego samego dnia ukazały się poprawki dziesięciu błędów w Node.js (środowisku, na którym działa bardzo wiele aplikacji internetowych), a jeden z czterech błędów uznanych w tym wydaniu za najpoważniejsze, ten, który w określonych warunkach pozwalał uruchomić na serwerze cudzy kod, zgłosili badacze OpenAI pracujący z Codex Security, narzędziem AI do wyszukiwania luk. Niecały tydzień później Anthropic opisał błąd w jądrze Linuksa, czyli w sercu systemu, na którym działa ogromna część serwerów na świecie. Wewnętrzny model badawczy Claude, niedostępny publicznie, nie tylko pomógł go znaleźć, ale też przygotował na jego podstawie działający atak, który przez sieć, bez żadnego hasła, dawał pełną kontrolę nad serwerem z określonymi ustawieniami, a sam atak, od pierwszego kroku do przejęcia kontroli, trwał w teście przeprowadzonym przez Anthropic niecałą godzinę.

To tylko te luki, o których się pisze

Te trzy trafiły do mediów, bo dotyczą oprogramowania, na którym działa ogromna część internetu. Poza nimi jest sporo mniejszych błędów, które ktoś znajduje i po cichu łata, bez żadnego rozgłosu, i wydaje mi się, że takich znalezisk będzie coraz więcej, bo narzędzia, które je wyszukują, trafiają do coraz większej liczby osób. Zakładam też, że w wielu małych i średnich firmach dochodzi do włamań i wycieków danych, o których same firmy nie mają pojęcia, bo nie ma tam osoby, która miałaby czas i wiedzę, żeby to sprawdzić.

Duże firmy mają zespoły bezpieczeństwa, małe zwykle nie

Duże firmy mają ludzi, którzy zajmują się wyłącznie bezpieczeństwem: śledzą, jakie poprawki wychodzą, sprawdzają własne systemy, zanim zrobi to ktoś z zewnątrz, i mają spisane procedury na wypadek wycieku danych (kogo powiadomić, w jakim czasie, co wyłączyć). W małej albo średniej firmie zwykle wygląda to inaczej, bo rzadko ktoś ma na to osobny etat, a często nie ma nawet godziny w tygodniu, więc pozostaje reagować, kiedy coś się już stanie. Przez lata dało się z tym jakoś żyć, ale mam wrażenie, że szkody, jakie może wyrządzić jedno włamanie, rosną, a szukać dziur w zabezpieczeniach może dziś znacznie więcej osób niż kiedyś. AI pozwala eksperymentować ludziom, którzy jeszcze niedawno nie wiedzieliby, jak się do tego zabrać, i oczywiście korzystają z niego również ci, którzy w złych zamiarach szukają luk w każdym systemie, do którego uda im się dotrzeć.

Działająca aplikacja to jeszcze nie bezpieczna aplikacja

Coraz częściej czytam i słyszę, że programiści przestają być potrzebni, bo dziś początkujący programista zbuduje z pomocą AI aplikację księgową albo narzędzie do wysyłania newslettera, a prezes firmy sam postawi sobie prosty system do prowadzenia klientów (CRM). To prawda, AI faktycznie na to pozwala, ale to, że da się coś zbudować, nie znaczy jeszcze, że ktoś zrobił to porządnie. Aplikacja, która działa, i aplikacja, która jest bezpieczna, to dwie różne rzeczy, a dopóki nic złego się nie wydarzy, z zewnątrz wyglądają tak samo. Taki sposób budowania, w którym opisuje się modelowi, co ma powstać, i przyjmuje to, co zwróci, bez wnikania w kod, nazywa się vibe codingiem. Do prototypu albo prywatnego narzędzia może w zupełności wystarczyć, ale do systemu, w którym są dane klientów, faktury czy hasła, moim zdaniem już nie.

Agent AI zabezpieczy aplikację, jeśli wiesz, o co go poprosić

Jestem programistą od ponad piętnastu lat (dziś pracuję jako lead developer) i codziennie korzystam z agentów AI, dzięki czemu widzę z bliska, ile da się z nimi zrobić. Z mojego doświadczenia wynika, że z pomocą agenta można napisać bezpieczny kod, przeprowadzić porządny audyt albo sprawdzić, czy wszystkie biblioteki są aktualne, i zaoszczędzić przy tym mnóstwo czasu, ale pod jednym warunkiem: trzeba rozumieć, co się robi. Chodzi o ogólne pojęcie o tym, jak takie systemy działają, jak powstają i jak wdraża się poprawki bezpieczeństwa, albo przynajmniej o świadomość, że o takie rzeczy można agenta zapytać (żeby o coś poprosić, najpierw trzeba wiedzieć, że to coś w ogóle istnieje). Ludzie udostępniają też w internecie gotowe zestawy instrukcji dla agentów (tak zwane skille), w tym takie, które dotyczą właśnie bezpieczeństwa, ale żeby ocenić taki skill, również trzeba rozumieć, co robi, czy pasuje do Twojej branży i czy uwzględnia przepisy, które obowiązują tam, gdzie działasz.

Nauczyłem się też, że kiedy agent zgłasza, że skończył i że to już wszystko, nie znaczy to jeszcze, że temat jest wyczerpany. Model bierze pod uwagę naraz tylko ograniczoną ilość informacji (tak zwane okno kontekstowe), więc część rzeczy mogła się w nim po prostu nie zmieścić, a agent uznał, że to koniec, bo reszty nie widział. Może się też zwyczajnie pomylić albo czegoś nie wiedzieć, a jeśli nikt po nim tego nie sprawdzi, błąd zwykle wyjdzie na jaw dopiero wtedy, gdy coś się zepsuje.

RODO, NIS2 i AI Act, czyli przepisy, o których trzeba pamiętać

W Unii Europejskiej takich przepisów jest sporo. RODO wymaga, żeby firma zgłosiła naruszenie ochrony danych osobowych Prezesowi UODO bez zbędnej zwłoki, w miarę możliwości w ciągu 72 godzin od chwili, gdy się o nim dowie (chyba że jest mało prawdopodobne, by naruszenie stwarzało ryzyko dla osób, których dane dotyczą), co zakłada, że firma w ogóle je zauważy i będzie wiedziała, co wtedy zrobić. Znowelizowana ustawa o krajowym systemie cyberbezpieczeństwa, która wdraża w Polsce unijną dyrektywę NIS2, nałożyła obowiązki także na wiele średnich firm z wybranych branż, a AI Act stopniowo wprowadza kolejne wymagania wobec firm, które budują systemy oparte na sztucznej inteligencji albo z nich korzystają. Nie twierdzę, że każdy musi znać te przepisy na pamięć, ale prezes, który w weekend buduje sobie system z danymi klientów, i początkujący programista, który dostał zadanie na wczoraj, zwykle nie mają czasu, żeby się w nie zagłębić, a wtedy zostaje im zaufać agentowi, który też może o czymś nie wiedzieć.

Dlaczego bezpieczeństwo jest dziś ważniejsze niż kiedyś

Nie piszę tego po to, żeby kogokolwiek zniechęcić do budowania z pomocą AI, chodzi mi o coś innego: te same narzędzia, które pozwalają dziś jednej osobie zbudować aplikację w kilka dni, pozwalają też komuś innemu szukać w niej dziur znacznie szybciej niż jeszcze kilka lat temu. Model, który przygotował atak na jądro Linuksa, nie jest publicznie dostępny, ale skoro udało mu się to w kodzie, który od lat przegląda mnóstwo doświadczonych programistów, to na mój chłopski rozum aplikacja napisana w weekend, której nikt poza autorem nie sprawdzał, jest znacznie łatwiejszym celem. Uważam więc, że system, w którym są cudze dane, powinien być od początku przemyślany także pod kątem bezpieczeństwa, zbudowany odpowiedzialnie, a nie na wyczucie, i sprawdzony przez kogoś, kto rozumie, na co patrzy.

W skrócie

  • W ciągu jednego tygodnia wyszło na jaw, że modele AI pomogły znaleźć poważne luki w PHP, Node.js i jądrze Linuksa, a to tylko te, o których napisały media.
  • Duże firmy mają zespoły i procedury bezpieczeństwa, a małe i średnie zwykle mogą tylko reagować, kiedy coś się już stanie.
  • AI pozwala zbudować aplikację komuś, kto nie jest doświadczonym programistą, ale to, że aplikacja działa, nie znaczy jeszcze, że jest bezpieczna, a w Unii Europejskiej dochodzą do tego RODO, przepisy o cyberbezpieczeństwie i AI Act.
  • Z pomocą agenta AI można napisać bezpieczny kod i zrobić porządny audyt, ale trzeba rozumieć, co się robi, a to, że agent uznał pracę za skończoną, nie znaczy jeszcze, że temat jest wyczerpany.
  • Moim zdaniem bezpieczeństwo jest dziś ważniejsze niż kiedykolwiek, bo szukanie dziur stało się łatwiejsze, a system z cudzymi danymi warto od początku budować z myślą o bezpieczeństwie.

Źródła

  1. PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the Internet (otwiera się w nowej karcie), Wiz
  2. Today's PHP Security Release, and How We're Strengthening PHP Security (otwiera się w nowej karcie), The PHP Foundation
  3. Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPot (otwiera się w nowej karcie), Amazon Web Services
  4. Czasowa niedostępność stron BIP w systemie SSDIP (otwiera się w nowej karcie), Centralny Ośrodek Informatyki
  5. Wednesday, October 21, 2026 Security Releases (otwiera się w nowej karcie), Node.js
  6. Codex Security (otwiera się w nowej karcie), OpenAI
  7. Usage Statistics and Market Share of Node.js, October 2026 (otwiera się w nowej karcie), W3Techs
  8. Discovering and exploiting vulnerabilities in critical, real-world software with Claude (otwiera się w nowej karcie), Anthropic
  9. Usage Statistics and Market Share of Linux for Websites, October 2026 (otwiera się w nowej karcie), W3Techs
  10. Anthropic's coordinated vulnerability disclosure dashboard (otwiera się w nowej karcie), Anthropic
  11. There's a new kind of coding I call "vibe coding" (otwiera się w nowej karcie), Andrej Karpathy
  12. Trail of Bits Skills Marketplace (otwiera się w nowej karcie), Trail of Bits
  13. Context windows (otwiera się w nowej karcie), Anthropic
  14. Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (ogólne rozporządzenie o ochronie danych) (otwiera się w nowej karcie), EUR-Lex
  15. Obwieszczenie Marszałka Sejmu Rzeczypospolitej Polskiej z dnia 30 sierpnia 2019 r. w sprawie ogłoszenia jednolitego tekstu ustawy o ochronie danych osobowych (otwiera się w nowej karcie), Sejm RP
  16. Ustawa z dnia 23 stycznia 2026 r. o zmianie ustawy o krajowym systemie cyberbezpieczeństwa oraz niektórych innych ustaw (otwiera się w nowej karcie), Sejm RP
  17. Nowelizacja ustawy o krajowym systemie cyberbezpieczeństwa (KSC) - kogo obejmuje? (otwiera się w nowej karcie), Ministerstwo Cyfryzacji
  18. Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2024/1689 (akt w sprawie sztucznej inteligencji) (otwiera się w nowej karcie), EUR-Lex
  19. Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2026/1744 (otwiera się w nowej karcie), EUR-Lex
  20. Amazon says PHP2Shell exploitation began 4 days before patches (otwiera się w nowej karcie), BleepingComputer
  21. PHP2Shell: kritické zranitelnosti v PHP dávají útočníkům možnost spustit kód na serverech (otwiera się w nowej karcie), Lupa.cz
  22. Node2Shell puts Microsoft and Node.js on Brotli patch duty (otwiera się w nowej karcie), CSO Online
  23. Anthropic AI model finds Linux kernel bug that leads to remote root access (otwiera się w nowej karcie), CSO Online
  24. Nowelizacja ustawy o KSC zaczyna obowiązywać – rusza harmonogram wdrożenia NIS2 w Polsce (otwiera się w nowej karcie), ITwiz

Masz proces, który chcesz uporządkować i zautomatyzować?

Napisz mi kilka zdań o nim, a resztę omówimy na rozmowie.

Napisz do mnie