Beveiliging van AI agents: rechten, sandboxes en goedkeuringen
Automatische vertaling
Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.
De beveiliging van AI agents bepaalt wat de toepassing mag lezen, wijzigen en versturen. Een agent die tools gebruikt, kan privégegevens verwerken, toegangsgegevens gebruiken en externe systemen wijzigen. De toegestane acties moeten in de code worden gecontroleerd, ook wanneer het antwoord van het model veilig lijkt.
Stel alleen de tools beschikbaar die de taak nodig heeft. Controleer de rechten vóór elke tool call, isoleer de uitvoering, beperk toegangsgegevens en leg het resultaat vast. Vereis goedkeuring voor acties met grote gevolgen. Tekstfilters kunnen helpen onveilige inhoud te herkennen, maar vervangen die controles niet.
Deze checklist gaat ervan uit dat de agent niet-vertrouwde invoer leest en toegang heeft tot privégegevens of externe systemen kan wijzigen. Prompt injection is een instructie in die invoer die de agent andere acties probeert te laten uitvoeren. Een opgehaald document kan bijvoorbeeld vragen om privébestanden te uploaden. Beperkingen op tools en uitgaande verzoeken beperken wat zo’n instructie kan veroorzaken.
Controles per mogelijkheid
| Mogelijkheid | Controle | Wat je moet afdwingen |
|---|---|---|
| Elk gebruik van tools | Minimale rechten | Stel alleen noodzakelijke tools beschikbaar, zoals de OWASP-richtlijnen voor MCP aanbevelen. |
| Privégegevens lezen of externe wijzigingen aanbrengen | Rechtencontroles | Controleer de gebruiker, argumenten, bestemming en toegestane actie direct vóór de uitvoering. |
| Code, bestanden of browserautomatisering | Sandbox | Beperk toegankelijke bestanden, processen en browserstatus, en uitgaande bestemmingen. |
| Acties met grote gevolgen | Menselijke goedkeuring | Toon de exacte bestemming en wijziging vóór een deployment in productie, betaling, verwijdering of externe verzending. |
| Diensten met authenticatie | Beperkte toegangsgegevens | Beperk elke integratie tot de noodzakelijke bronnen en acties. |
| Niet-vertrouwde MCP-servers | Serverisolatie | Beoordeel tooldefinities en voorkom dat instructies die een server terugstuurt toegang geven tot een andere tool. |
| Tooluitvoering | Audittraces | Leg identiteit, bestemming, rechtenbesluit, goedkeuring en resultaat vast; verwijder privégegevens uit de vastgelegde inhoud. |
| Verwerking van invoer en uitvoer | Guardrails | Controleer de dekking voor elke tool. Een tekstfilter verleent geen rechten en draait een voltooide actie niet terug. |
| Release- en regressietests | Aanvalstests | Test prompt injection, misleidende tooldefinities, openbaarmaking van privégegevens en het omzeilen van rechten. |
Wat je eerst moet implementeren
Verwijder eerst onnodige mogelijkheden. Als de agent niet naar GitHub hoeft te schrijven, geef hem dan geen token met schrijfrechten. Als hij alleen vrije tijden in de agenda nodig heeft, geef dan geen volledige toegang tot de mailbox.
Controleer vervolgens het beleid vóór elke tool call. Bekijk de toolnaam, argumenten, doelbron, gebruiker, omgeving en neveneffect. Een verzoek dat er onschuldig uitziet, kan nog steeds een gevaarlijk shellcommando opleveren.
Voeg sandboxes toe voor code-uitvoering, browserautomatisering, bestandstoegang en het verwerken van niet-vertrouwde documenten. Een sandbox maakt de actie niet correct, maar beperkt wel de schade door een gecompromitteerd tool result of een verward model.
Beheers zowel de gegevensstromen als de uitvoering. Beperk uitgaande netwerkbestemmingen, verwijder geheimen uit tool results, houd niet-vertrouwde inhoud gescheiden van toegangsgegevens en registreer pogingen om gegevens naar buiten te sturen. Een bestandssysteem-sandbox die nog steeds willekeurige netwerktoegang toestaat, maakt directe gegevensexfiltratie mogelijk.
Gebruik menselijke goedkeuring voor onomkeerbare acties. Keur niet elke stap goed. Keur specifieke acties met grote gevolgen goed: deployments in productie, gegevensverwijdering, e-mailverzending, geldtransfers, rechtenwijzigingen en beslissingen in gereguleerde gebieden.
MCP-specifieke risico’s
MCP is nuttig omdat het toegang tot tools standaardiseert. Het is riskant omdat toolbeschrijvingen, schema’s, serveridentiteiten, OAuth-rechtenbereiken en tooluitvoer allemaal onderdeel worden van de besliscontext van het model.
Voor MCP zou ik deze regels bij codebeoordeling aanhouden:
- beoordeel toolbeschrijvingen en schema’s vóór goedkeuring
- geef de voorkeur aan beperkte toegangsgegevens per server
- isoleer niet-vertrouwde MCP-servers van gevoelige tools
- let op wijzigingen in tooldefinities na installatie
- behandel tooluitvoer als niet-vertrouwde invoer
- registreer server- en toolidentiteiten, beleidsbesluiten en resultaten; beperk argumenten en resultaten en verwijder gevoelige gegevens vóór opslag
Guardrails zijn niet voldoende
Guardrails kunnen tekst en tool calls controleren. In de OpenAI Agents SDK kunnen invoerguardrails voor tools een beveiligde functietool blokkeren voordat die wordt uitgevoerd. Gehoste tools en ingebouwde uitvoeringstools gebruiken niet dezelfde pipeline, dus controleer de dekking voor elke tool die je beschikbaar stelt. Uitvoercontroles vinden plaats na de uitvoering en kunnen een neveneffect niet ongedaan maken.
Dwing rechten af vóór de uitvoering, naast eventuele guardrailcontroles. Houd toegangsgegevens beperkt en isoleer tools, ook wanneer hun invoer de validatie doorstaat.
Volg de OWASP-richtlijnen voor logregistratie: sluit geheimen en onnodige persoonsgegevens uit van traces. Beperk wie logs kan lezen en stel een bewaartermijn in. Een auditlog moet helpen een actie te reconstrueren zonder alle privé-inhoud te kopiëren.
Verder lezen
- Beveiliging van AI agents is de volledige architectuurgids.
- Tool Use bij AI agents legt MCP, tools, CLI, skills en code-uitvoering uit.
- Agent Runtime voor langdurig werkende AI agents behandelt runtimegrenzen voor langdurig werkende agents.