Alleen-lezen is niet genoeg: Guardrails voor AI-agenten
Senior engineers zeggen vaak één ding om AI-agenten veilig te houden: geef ze alleen-lezen toegang.
Het klinkt veilig. De agent kan trage queries onderzoeken of schema's samenvatten zonder iets kapot te maken.
Maar alleen-lezen is geen veiligheidsmodel. Het is een beperking.
Op het moment dat je agent nuttig werk moet doen, houdt alleen-lezen het tegen. Als een agent een slecht index of een beschadigde rij vindt, kan hij dit niet herstellen. Je eindigt met een assistent die naar een brand wijst, maar geen slang kan oppakken.
Teams geven het vaak op en geven de agent schrijfrechten. Dat is het moment waarop het echte gevaar begint.
De echte vraag is niet "moet de agent schrijven". De echte vraag is "hoe reguleer je die schrijfacties".
Probeer schrijfacties niet te reguleren met instructies. Zet geen regels in de system prompt zoals "drop nooit een tabel".
Prompt injection maakt deze regels nutteloos. Een aanvaller kan een rij gegevens of een commentaar gebruiken om de agent te misleiden om je regels te negeren. Als de guardrail in hetzelfde venster leeft als de agent, kan de agent de regels omzeilen door middel van argumentatie.
Je hebt een onderscheid nodig tussen ongecontroleerde schrijfacties en gemedieerde schrijfacties.
• Ongecontroleerde schrijfacties: De agent besluit een commando uit te voeren en de database voert het uit. De enige controle is het eigen oordeel van de agent. • Gemedieerde schrijfacties: Het commando gaat door een controlepunt buiten de agent. Dit controlepunt bevindt zich in het datapad tussen de agent en de database.
Een gemedieerde schrijfactie werkt als volgt:
- De agent stelt een statement voor.
- Een proxy of control plane analyseert het statement.
- De proxy classificeert het risico.
- De proxy beslist of het wordt toegestaan of dat er om goedkeuring van een mens wordt gevraagd.
Deze aanpak beschermt je tegen prompt injection. Een kwaadaardige instructie kan de agent misleiden om een DROP TABLE-commando te schrijven, maar het kan de proxy niet misleiden. De proxy leest niet de intentie van de agent; hij kijkt alleen naar het daadwerkelijke SQL-commando.
Gebruik deze structuur om veilig te blijven:
- Sta veilige leesacties automatisch toe. Laat agenten vrij
SELECT-queries uitvoeren om het werk snel te houden. - Controleer risicovolle schrijfacties. Vereis menselijke goedkeuring voor
DELETE,UPDATEof schemawijzigingen. - Log alles. Houd een onveranderlijk (immutable) verslag bij van wie een wijziging voorstelde en wie deze goedkeurde.
Vertrouw niet op read replicas voor de veiligheid. Replicas helpen bij onderzoek, maar ze kunnen geen reparaties uitvoeren. Om een probleem in productie op te lossen, moet je naar de primaire database schrijven.
Mediatie zorgt ervoor dat de agent nuttig kan zijn terwijl je gegevens veilig blijven.
Optional learning community: https://t.me/GyaanSetuAi
