Bezpieczeństwo kodowania AI: Prompt Injection ukrywa się w plikach Twojego projektu

Twój asystent kodowania AI czyta każdy plik w Twoim repozytorium. Czyta pliki README, pliki konfiguracyjne i Twoje reguły. Wykorzystuje te pliki, aby zdecydować, jak pisać kod.

Nowe zagrożenie dla bezpieczeństwa wykorzystuje właśnie to zachowanie. Badacze odkryli podatność w 28 różnych narzędziach do kodowania AI. Ten atak to nie skomplikowany hack. To po prostu zwykły plik tekstowy w Twoim repozytorium.

Jak działa ten atak:

Klonujesz projekt open-source. Wygląda normalnie. Otwierasz go w swoim edytorze AI i prosisz o nową funkcję. Nie widzisz ukrytych znaków Unicode w plikach konfiguracyjnych. Znaki te ukrywają instrukcje przed Tobą, ale nakazują AI zrobić coś innego.

Ukryta instrukcja nakazuje AI wysłać Twoje poświadczenia AWS na zewnętrzny serwer. AI uważa to za zasadną instrukcję projektu. Wykonuje polecenie. Twoje sekrety przepadają.

Dlaczego trudno to powstrzymać:

  • Ukryte znaki: Widzisz standardowy tekst, ale AI widzi złośliwe polecenia za pomocą niewidocznych znaków Unicode.
  • Każdy plik jest punktem wejścia: Plik README lub komentarz w bibliotece może zawierać ładunek (payload).
  • Wysokie uprawnienia: Agenci AI często działają z Twoimi uprawnieniami użytkownika. Mogą odczytywać Twoje klucze SSH i tokeny API.
  • Wywołania narzędzi (tool calls): AI używa wywołań narzędzi do uruchamiania poleceń. Atak celuje w te wywołania, aby ominąć szkolenie w zakresie bezpieczeństwa.

Jak chronić swój proces pracy:

  • Sanityzuj zawartość plików: Usuwaj ukryte znaki i typowe wzorce wstrzykiwania (injection patterns) przed tym, jak AI je odczyta.
  • Używaj piaskownic (sandboxes): Uruchamiaj agentów AI w kontenerach bez dostępu do sieci i z systemami plików w trybie tylko do odczytu.
  • Ustalaj rygorystyczne zasady: Stwórz białą listę dozwolonych poleceń. Wymagaj zatwierdzenia przez człowieka dla każdego polecenia, które przesyła dane lub usuwa pliki.

Możesz przeprowadzić szybkie skanowanie przed sesjami kodowania. Sprawdź pliki pod kątem podejrzanych terminów, takich jak "ignore all previous" lub "curl" i "exfil".

Narzędzia do kodowania AI zwiększają produktywność, ale zakładają, że pliki na Twoim dysku są bezpieczne. Nie są. Traktuj każdy plik jako niezaufane dane wejściowe.

Jak radzisz sobie z ryzykiem prompt injection w swoim procesie pracy z AI?

Źródło: https://dev.to/tyson_cung/ai-coding-security-prompt-injection-is-hiding-in-your-project-files-4be9