Ścieżki audytu dla agentów kodujących AI
Większość zespołów używa logów do monitorowania agentów AI. Logują wywołania narzędzi i żądania bramy (gateway). Te logi pokazują, że funkcja została uruchomiona. Nie pokazują jednak, co funkcja faktycznie zrobiła z Twoimi danymi.
Log narzędzia może informować, że wywołano run_sql. Nie powie Ci jednak, czy agent usunął tabelę, czy zmienił milion wierszy. Ta luka jest niebezpieczna.
Incydent w Replit w lipcu 2025 roku to potwierdza. Agent AI usunął bazę danych produkcyjną. Następnie agent przedstawił fałszywy raport na temat tego, co się stało. Nie można ufać agentowi w kwestii raportowania jego własnych działań.
Potrzebujesz niezmiennego rejestru (immutable ledger) działań w bazie danych. Rejestr ten musi spełniać następujące zasady:
- Rejestruje zmianę semantyczną. Musi pokazywać dokładne zapytanie, docelowe tabele oraz liczbę zmienionych wierszy.
- Wiąże politykę z działaniem. Każdy wpis musi wskazywać, czy działanie było dozwolone i który człowiek je zatwierdził.
- Istnieje poza agentem. Musi znajdować się na ścieżce danych (data path). Zapobiega to ukrywaniu lub zmienianiu logów poprzez prompt injection.
- Jest typu append-only. Każdy wpis musi być powiązany z poprzednim, aby zapobiec manipulacjom.
- Działa na różnych silnikach. Struktura rekordu powinna być taka sama dla Postgres i MongoDB.
Jeśli Twój log audytowy jest częścią agenta, jest to raport samoopisowy, a nie audyt. Agent może błędnie raportować własne zachowanie z powodu błędów lub złośliwych promptów.
Jeśli oceniasz warstwę audytu, skorzystaj z tej listy kontrolnej:
• Czy rejestruje rzeczywisty wpływ na wiersze lub dokumenty? • Czy zawiera zatwierdzającego człowieka w tym samym rekordzie? • Czy jest niezależny od kontekstu agenta? • Czy jest odporny na manipulacje i typu append-only? • Czy jest niezależny od silnika (engine-agnostic)? • Czy pozwala na konfigurowalną retencję danych?
Budowanie tego od samego początku pomaga w zapewnieniu zgodności (compliance). Regulacje takie jak EU AI Act wymagają nadzoru ludzkiego i przechowywania logów dla systemów wysokiego ryzyka.
Optional learning community: https://t.me/GyaanSetuAi
