Vercel heeft versie 7 van zijn AI SDK uitgebracht met een scoped tool context-functie die afdwingt dat elke tool in een AI-agent alleen de geheimen ontvangt die hij expliciet declareert. Door de blootstelling te beperken, kunnen ontwikkelaars voorkomen dat tools van derden per ongeluk alle in hun omgeving opgeslagen credentials inzien.

Waarom deze verandering belangrijk is

AI-agents koppelen vaak meerdere externe services aan elkaar—zoals het opzoeken van bestellingen, het aanmaken van tickets of het verwerken van betalingen—waarvan elke service zijn eigen API-sleutels of URL's vereist. De gebruikelijke afkorting is om het volledige process.env-object aan elke tool te geven:

execute(input, { context: process.env })

Dat patroon creëert een impliciete uitbreiding van privileges: het toevoegen van een nieuwe tool geeft deze direct toegang tot alle bestaande geheimen, inclusief database-wachtwoorden of betalingstokens, zonder dat dit een signaal geeft tijdens een code review. Het risico is dat een gecompromitteerde of defecte tool plotseling credentials lekt die nooit voor die tool bedoeld waren.

Hoe scoped tool context werkt

In SDK 7 declareert een tool een context schema—een op Zod gebaseerde definitie van de exacte velden die het nodig heeft. Wanneer de agent een tool aanroept, levert de aanroeper een toolsContext-object dat alleen die gedeclareerde velden bevat. De SDK valideert de structuur voordat de uitvoering begint, en eventuele ontbrekende of extra sleutels veroorzaken een fout.

Een minimale demo laat twee tools zien met verschillende vereisten:

  • lookupOrder – heeft baseUrl nodig om een interne order-service aan te roepen.
  • createTicket – heeft supportToken nodig om een supportticket aan te maken.

Elke tool exporteert een contextSchema dat zijn enkele vereiste sleutel vermeldt. Wanneer de agent draait, geeft hij het volgende door:

{
  lookupOrder: { baseUrl: "https://orders.internal" },
  createTicket: { supportToken: "s3cr3t-token" }
}

Alleen lookupOrder ziet baseUrl; createTicket komt er nooit mee in aanraking, en vice versa. De SDK handhaaft deze grens tijdens runtime, waardoor een verborgen afhankelijkheid wordt omgezet in een expliciete lijst met mogelijkheden die reviewers kunnen controleren.

Voordelen voor de beveiliging

  • Beperkt gegevensblootstelling – credentials blijven daar waar ze nodig zijn.
  • Valideert context – bij een mismatch of ontbrekende velden wordt de uitvoering afgebroken.
  • Maakt mogelijkheden expliciet – reviewers kunnen precies zien waar elke tool toegang toe heeft.
  • Verkleint de impactradius – als een tool gecompromitteerd wordt, krijgt de aanvaller alleen de geheimen waar die tool toegang toe had.

De functie vervangt geen traditionele sandboxing. Ontwikkelaars moeten nog steeds gebruikmaken van log-redactie, netwerkbeheersing (egress controls) en regelmatige token-rotatie. Scoped context is een grens; het sluit de kamer niet volledig af.

Wat ontwikkelaars moeten aanpassen

  1. Definieer een schema voor elke tool – gebruik de Zod-bibliotheek die bij de SDK wordt geleverd.
  2. Geef een beperkte toolsContext door – vermijd de allesomvattende process.env.
  3. Review bestaande agents – identificeer geheimen die uit tool-aanroepen kunnen worden verwijderd.
  4. Voeg geautomatiseerde tests toe – zorg ervoor dat contextvalidatie faalt wanneer er extra gegevens worden geïnjecteerd.

Een snelle start ziet er als volgt uit:

mkdir scoped-tools && cd scoped-tools
npm init -y
npm install ai zod
npm install -D typescript tsx @types/node

Maak demo.ts aan, declareer het contextSchema van elke tool en voer het uit met tsx demo.ts. De SDK zal een foutmelding geven als je probeert een tool een geheim te geven waar deze niet om heeft gevraagd.

Tegenargument

Sommige teams zullen aanvoeren dat de extra schema-definities voor meer boilerplate zorgen en het prototypen vertragen. Hoewel dit waar is, zijn de kosten beperkt—slechts een paar regels per tool—en de beveiligingswinst neemt toe naarmate er meer geïntegreerde services zijn. In omgevingen die met betalingsgegevens of persoonlijke informatie werken, is deze afweging moeilijk te negeren.

Waar je op moet letten

  • Adoptiemetrieken – vroege gebruikers melden minder incidenten met gelekte geheimen.
  • Community-tooling – plug-ins die automatisch context-schema's genereren vanuit configuratiebestanden.
  • Toekomstige SDK-releases – aanwijzingen dat Vercel scoped contexts kan uitbreiden naar netwerkpermissies en rate-limit limieten.

Als je al AI-agents bouwt met de SDK van Vercel, is de eerste stap het controleren van je huidige process.env-gebruik. Identificeer de specifieke waarden die uit alle tool-aanroepen kunnen worden verwijderd en vervang het allesomvattende patroon door een beperkte toolsContext. Het resultaat is een sterker beveiligingsniveau zonder de flexibiliteit op te offeren die AI-agents zo krachtig maakt.