Kontekst Twojego repozytorium stał się teraz powierzchnią ataku
Bezpieczeństwo kodowania AI to coś więcej niż tylko powstrzymywanie modelu przed pisaniem złego kodu.
Prawdziwe ryzyko tkwi w tym, co agent czyta, zanim zacznie pisać. Twoje repozytorium nie jest już tylko miejscem na kod. Stało się strumieniem danych wejściowych dla agentów AI.
Wszystko w Twoim repozytorium może stać się materiałem sterującym dla agenta:
- Stare pliki README
- Nieaktualne notatki z migracji
- Nieaktualna dokumentacja
- Ukryte konwencje projektowe
- Lokalne pliki instrukcji
- Skrypty zależności i hooki powłoki (shell hooks)
Programiści często traktują te pliki jako nieszkodliwy bałagan. Agent AI nie widzi kontekstu społecznego. Widzi tekst, narzędzia i wzorce. Jeśli Twoja dokumentacja jest stara lub niechlujna, agent potraktuje ten nieład jako standard.
Zły kontekst występuje w dwóch formach:
- Nudne błędy:
- Nieaktualne instrukcje konfiguracji
- Przykłady używające przestarzałych API
- Stare notatki o architekturze
- Ataki adwersarialne (adversarial attacks):
- Prompt injection wewnątrz plików
- Złośliwe skrypty zależności
- Zatrucie przykładów (poisoned examples), które skłaniają kod do stosowania niebezpiecznych wzorców
Dając agentowi uprawnienia do uruchamiania testów, przeszukiwania plików czy otwierania pull requestów, zwiększasz promień rażenia (blast radius). System hooków nie jest już tylko narzędziem produktywności. To automatyzacja. Musisz traktować go jak automatyzację.
Zadaj sobie te pytania dotyczące swojego workflow:
- Kto może edytować hooka?
- Jakie zmienne środowiskowe może widzieć agent?
- Czy agent dziedziczy poświadczenia programisty?
- Czy narzędzie zapisuje dane poza repozytorium?
Nie traktuj agentów jak magicznych pól tekstowych. Traktuj ich jak infrastrukturę programistyczną.
Jak zabezpieczyć swój workflow agentowy:
- Zawęź zakres: Nie kieruj agenta na cały projekt, jeśli potrzebuje tylko trzech plików.
- Oczyść kontekst: Usuń lub napraw nieaktualną dokumentację i stare instrukcje.
- Zabezpiecz proces wykonania: Uruchamiaj ryzykowne zadania w piaskownicy (sandbox). Ograniczaj zakres poświadczeń.
- Wymagaj widoczności: Dokładnie wiedź, co agent przeczytał, jakich narzędzi użył i jakie komendy uruchomił.
Agent AI jest jak młodszy programista (junior developer) z dostępem do powłoki i wysoką prędkością pisania. Nie dałbyś nowemu juniorowi pełnych poświadczeń produkcyjnych pierwszego dnia. Dałbyś mu małe zadania, czysty kontekst i ograniczone uprawnienia.
Traktuj swoich agentów w ten sam sposób.
Źródło: https://dev.to/hefty_69a4c2d631c9dd70724/your-repo-context-is-an-attack-surface-now-5dhj
Opcjonalna społeczność edukacyjna: https://t.me/GyaanSetuAi