Securitychecklist voor AI agents: permissies en sandboxes

Automatische vertaling Dit artikel is automatisch vertaald vanuit de oorspronkelijke Engelse versie.

Security voor agents draait om het beheersen van acties. Een chatbot kan een fout antwoord geven. Een agent kan echte credentials gebruiken, een tool aanroepen en production data wijzigen.

De standaardregel is eenvoudig: geef een agent geen capabilities die hij niet nodig heeft. Begin met beperkte tools, policy checks vóór elke tool call, geïsoleerde sandboxes, beperkte credentials, human approval gates en audit traces. Voeg ook guardrails en output filters toe, maar beschouw die niet als de belangrijkste security boundary.

Threat model en reviewdatum: 2026-08-10. Deze prioriteiten gaan ervan uit dat een agent die tools gebruikt, door een aanvaller beheerde input kan verwerken en data kan lezen of externe side effects kan veroorzaken. Assistants met minder capabilities hebben minder controls nodig; acties met een grotere impact vereisen strengere isolatie en approval.

Rangschikking van patronen

PatternPriorityProtects againstImplementation note
Least-privilege toolsP0Excessive agencyVolg de OWASP MCP guidance: expose geen tools die de agent nooit mag gebruiken.
Pre-tool policy checksP0Dangerous actionsControleer de concrete actie direct vóór uitvoering.
SandboxesP0File, shell, browser, and network damageIsoleer code en untrusted content; blokkeer network egress standaard.
Human approvalsP0Irreversible or regulated actionsGebruik gates voor writes, deployments, payments, external sends en privileged changes.
Scoped credentialsP0Credential overreach and confused deputy failuresGebruik narrow scopes per server en per tool.
MCP server isolationP1Tool poisoning, tool shadowing, cross-server attacksCombineer untrusted servers en krachtige tools niet in één context zonder review.
Audit tracesP1Unknown incident historySla de user request, tool call, args, result, policy decision en approver op.
GuardrailsP1Unsafe input and output textNuttig, maar niet voldoende voor tool authority.
Red-team evalsP1Known attack pathsTest prompt injection, tool poisoning, data exfiltration en permission bypasses.

Wat je als eerste implementeert

Verwijder eerst capabilities. Als de agent niet naar GitHub hoeft te schrijven, geef hem dan geen write token. Als hij alleen calendar availability nodig heeft, geef hem dan geen volledige mailbox access. Een beperkte permission is veiliger dan een strenge prompt.

Controleer vervolgens vóór elke tool call het policy. Inspecteer de toolnaam, arguments, target resource, user, environment en side effect. Een verzoek dat onschuldig lijkt, kan nog steeds een gevaarlijk shell command opleveren.

Voeg sandboxes toe voor code execution, browser automation, file access en het verwerken van untrusted documents. Een sandbox maakt de actie niet correct, maar beperkt wel de schade door een gecompromitteerd tool result of een verward model.

Beheers zowel de dataflow als de execution. Beperk outbound network destinations, redact secrets uit tool results, houd untrusted content gescheiden van credentials en log pogingen tot egress. Een filesystem sandbox die nog steeds willekeurige network access toestaat, laat een direct exfiltration path open.

Gebruik human approval voor irreversibele acties. Keur niet elke stap goed. Keur grenzen goed: production deploys, data deletion, email sends, money movement, permission changes en regulated decisions.

MCP-specifieke risico’s

MCP is nuttig omdat het tool access standaardiseert. Het is riskant omdat tool descriptions, schemas, server identities, OAuth scopes en tool outputs allemaal onderdeel worden van de decision context van het model.

Voor MCP zou ik deze regels in code review afdwingen:

  • review tool descriptions en schemas vóór approval
  • geef de voorkeur aan narrow credentials per server
  • isoleer untrusted MCP servers van sensitive tools
  • let op wijzigingen in tool definitions na installatie
  • behandel tool output als untrusted input
  • log elke server, tool, argument en result

Guardrails zijn niet voldoende

Guardrails kunnen input en output valideren. Ze lossen least privilege, credential scope, sandboxing, tool poisoning of approval policy niet op. Behoud ze, maar plaats ze na het ontwerpen van capabilities en vóór user-visible output.

Verder lezen

Referenties