Prompt injection w obrazkach PNG: nowe zagrożenie dla AI deweloperów
Badacze z SUTD wykazali, że sztuczna inteligencja może być zmanipulowana przez instrukcje ukryte w plikach graficznych.
Sztuczna inteligencja może być zmanipulowana przez instrukcje ukryte w plikach graficznych PNG, co stanowi całkowicie nowy wektor cyberataków wymierzony w deweloperów i asystentów kodowania. Profesor Sudipta Chattopadhyay i badacz Murali Ediga z Singapore University of Technology and Design (SUTD) przeprowadzili eksperyment, który pokazał, jak łatwo można omijać tradycyjne zapory bezpieczeństwa, ukrywając złośliwe polecenia tam, gdzie nikt ich nie szuka – wewnątrz zwykłego pliku graficznego.
Jak wygląda atak: prompt injection w obrazkach
Zamiast modyfikować linie kodu źródłowego, co natychmiast wywoływałoby alarm w systemach testowych, naukowcy z SUTD zaszyli instrukcje sterujące wewnątrz pliku PNG. Mogły to być polecenia umieszczone w logo firmy, ikonie lub innym elemencie graficznym w dokumentacji projektu. Kluczowe odkrycie: część narzędzi analizujących pull requesty traktuje pliki graficzne jako elementy czysto dekoracyjne i nie poddaje ich głębokiej weryfikacji logicznej pod kątem bezpieczeństwa.
Effekt jest prosty i groźny – cała paczka zmian przechodzi przez automatyczny przegląd bez żadnych zastrzeżeń i zostaje scalona z głównym projektem. Kod źródłowy pozostaje czysty, ale w repozytorium tkwi już tykająca bomba.
Kiedy instrukcje się aktywują – opóźniony atak
Zagrożenie nie aktywuje się jednak natychmiast po scaleniu pull requesta. Ukryty w pliku PNG mechanizm czeka w uśpieniu do momentu, gdy programista w toku późniejszej pracy poprosi asystenta AI o wykonanie zupełnie innego, niezwiązanego z grafiką zadania – na przykład napisanie prostej funkcji pomocniczej czy wygenerowanie fragmentu kodu.
Wtedy nakarmiony wcześniej instrukcjami model – o ile platforma udostępnia mu odpowiednie uprawnienia systemowe – może zostać skłoniony do nieautoryzowanego wglądu w poufne pliki projektu. Wykradzione w ten sposób hasła lub klucze API potrafi następnie zamaskować pod postacią zwyczajnie wyglądających zmiennych w nowo generowanym kodzie. Deweloper może przez długi czas nie zdawać sobie sprawy, że jego asystent AI został skompromitowany.
Problem nie leży w modelach AI, ale w architekturze bezpieczeństwa
Najbardziej niepokojącym wnioskiem z opublikowanych badań jest fakt, że podatność nie zależy od konkretnego modelu językowego (LLM). Naukowcy testowali ten sam silnik AI w różnych aplikacjach i platformach dla programistów – wyniki były dramatycznie różne.
| Aspekt | Obserwacja |
|---|---|
| Model AI | Ten sam LLM w różnych systemach |
| Zachowanie | Skrajnie różne w zależności od platformy |
| Niektóre systemy | Bezkrytycznie wykonywały ukryte polecenia |
| Inne systemy | Wykrywały anomalie i przerywały operację |
| Źródło problemu | Architektura zabezpieczeń, nie sam model |
To oznacza, że odpowiedzialność za bezpieczeństwo spada na twórców platform AI dla deweloperów, a nie na naukowców pracujących nad samymi modelami. Niektóre narzędzia (Claude, GitHub Copilot czy specjalistyczne boty do przeglądu kodu) są bardziej lub mniej podatne w zależności od tego, jak zostały zaprojektowane i wdrożone.
Co to oznacza dla branży IT
Raport z SUTD to mocne ostrzeżenie dla wszystkich deweloperów i menedżerów projektów IT. Bezkrytyczne poleganie na cyfrowych asystentach bez rygorystycznego nadzoru człowieka stwarza realne ryzyko podstępnego zmanipulowania kodu za pomocą jednego, z pozoru niewinnego elementu graficznego.
Twórcy asystentów AI muszą pilnie wdrożyć podejście prawdziwie multimodalne – pliki konfiguracyjne, dokumentacja, a zwłaszcza obrazy, muszą być analizowane z dokładnie takim samym rygorem i podejrzliwością jak czysty kod źródłowy. Nie wystarczy już skanowanie tekstu; systemy muszą rozumieć, że instrukcje mogą być ukryte w każdej formie danych.
Jak się chronić: rola człowieka jako ostatniej linii obrony
Do czasu, gdy platformy AI wdrożą kompleksowe zabezpieczenia, najważniejszą zaporą pozostaje człowiek. Deweloperzy muszą pamiętać kilka kluczowych zasad:
- Nie traktuj plików graficznych w pull requestach jako niewinnych elementów dekoracyjnych
- Wymagaj manualnego przeglądu nie tylko kodu, ale również dokumentacji i grafik
- Nie polegaj bezkrytycznie na automatycznym przeglązie AI bez nadzoru człowieka
- Bądź ostrożny, gdy asystent AI generuje kod, który ma dostęp do poufnych zmiennych lub kluczy API
- Edukuj zespół o zagrożeniach prompt injectionem w kontekście narzędzi AI
Niebezpieczne polecenie może kryć się w pliku, którego nikt nie uznał za wart otwarcia. W erze, gdy sztuczna inteligencja staje się nieodłączną częścią codziennej pracy programistów, bezpieczeństwo nie może być już tylko domeną kodowania – musi obejmować wszystkie elementy projektu.
Najczęstsze pytania
Co to jest prompt injection w kontekście AI?
Prompt injection to technika ataku, w której haker ukrywa złośliwe instrukcje w danych wejściowych (tekście, obrazku czy dokumencie), aby manipulować zachowaniem sztucznej inteligencji i skłonić ją do wykonania nieautoryzowanych działań.
Jak badacze ukryli instrukcje w pliku PNG?
Naukowcy z SUTD wstawili polecenia sterujące wewnątrz pliku graficznego (np. w logo firmy w dokumentacji), gdzie narzędzia do przeglądu kodu ich nie wykryły, bo traktują obrazki jako elementy dekoracyjne.
Czy GitHub Copilot i Claude są podatne na atak z obrazkami PNG?
Badania wykazały, że podatność zależy nie od samego modelu AI, ale od architektury platformy, w którą jest opakowany – niektóre systemy wykrywają anomalie, inne wykonują ukryte polecenia bezkrytycznie.
Jak haker aktywuje instrukcje ukryte w grafice?
Instrukcje pozostają uśpione do momentu, gdy programista poprosi asystenta AI o wykonanie niezwiązanego zadania (np. napisanie funkcji) – wtedy model może zostać skłoniony do kradzieży haseł lub kluczy API.
Jak się chronić przed prompt injectionem w obrazkach?
Traktuj wszystkie elementy pull requestów z podejrzliwością, nie tylko kod źródłowy; wymagaj manualnego przeglądu grafik i dokumentacji; nie polegaj bezkrytycznie na automatycznym przeglązie AI bez nadzoru człowieka.
Na podstawie: iMagazine. Tekst opracowany redakcyjnie.