Vercel hat die Version 7 seines AI SDK mit einem Scoped Tool Context Feature veröffentlicht, das erzwingt, dass jedes Tool in einem KI-Agenten nur die Secrets erhält, die es explizit deklariert. Durch die Begrenzung der Offenlegung können Entwickler verhindern, dass Drittanbieter-Tools versehentlich alle in der Umgebung gespeicherten Anmeldedaten einsehen können.

Warum die Änderung wichtig ist

KI-Agenten verknüpfen oft mehrere externe Dienste – Bestellabfragen, Ticket-Erstellung, Zahlungsabwicklung – von denen jeder seine eigenen API-Keys oder URLs benötigt. Die gängige Abkürzung besteht darin, jedem Tool das gesamte process.env-Objekt zu übergeben:

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

Dieses Muster führt zu einer impliziten Ausweitung der Berechtigungen: Das Hinzufügen eines neuen Tools gewährt ihm sofort Zugriff auf alle vorhandenen Secrets, einschließlich Datenbankpasswörtern oder Zahlungs-Token, ohne dass dies bei einem Code-Review auffällt. Das Risiko besteht darin, dass ein kompromittiertes oder fehlerhaftes Tool plötzlich Anmeldedaten preisgibt, für die es nie bestimmt war.

So funktioniert der Scoped Tool Context

In SDK 7 deklariert ein Tool ein Context Schema – eine auf Zod basierende Definition der exakten Felder, die es benötigt. Wenn der Agent ein Tool aufruft, übergibt der Aufrufer ein toolsContext-Objekt, das nur diese deklarierten Felder enthält. Das SDK validiert die Struktur vor der Ausführung; fehlende oder zusätzliche Keys führen zu einem Fehler.

Eine minimale Demo zeigt zwei Tools mit unterschiedlichen Anforderungen:

  • lookupOrder – benötigt baseUrl, um einen internen Bestelldienst aufzurufen.
  • createTicket – benötigt supportToken, um ein Support-Ticket zu eröffnen.

Jedes Tool exportiert ein contextSchema, das seinen einzelnen erforderlichen Key auflistet. Wenn der Agent läuft, übergibt er:

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

Nur lookupOrder sieht baseUrl; createTicket greift nie darauf zu, und umgekehrt. Das SDK erzwingt diese Grenze zur Laufzeit und wandelt eine versteckte Abhängigkeit in eine explizite Liste von Fähigkeiten um, die von Reviewern geprüft werden kann.

Sicherheitsvorteile

  • Begrenzt die Offenlegung von Daten – Anmeldedaten bleiben dort, wo sie benötigt werden.
  • Validiert den Kontext – Nicht übereinstimmende oder fehlende Felder brechen die Ausführung ab.
  • Macht Fähigkeiten explizit – Reviewer können genau sehen, worauf jedes Tool zugreifen kann.
  • Reduziert den Schadensradius (Blast Radius) – Wenn ein Tool kompromittiert wird, erhält der Angreifer nur die Secrets, für die dieses Tool berechtigt war.

Das Feature ersetzt kein herkömmliches Sandboxing. Entwickler müssen weiterhin Log-Redaktion, Netzwerk-Egress-Kontrollen und regelmäßige Token-Rotation einsetzen. Scoped Context ist eine Grenze; er versiegelt nicht den Raum.

Was Entwickler anpassen müssen

  1. Definieren Sie ein Schema für jedes Tool – verwenden Sie die Zod-Bibliothek, die mit dem SDK ausgeliefert wird.
  2. Übergeben Sie einen eingeschränkten toolsContext – vermeiden Sie das pauschale process.env.
  3. Überprüfen Sie bestehende Agenten – identifizieren Sie alle Secrets, die aus Tool-Aufrufen entfernt werden können.
  4. Fügen Sie automatisierte Tests hinzu – stellen Sie sicher, dass die Kontextvalidierung fehlschlägt, wenn zusätzliche Daten injiziert werden.

Ein Schnellstart sieht so aus:

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

Erstellen Sie demo.ts, deklarieren Sie das contextSchema für jedes Tool und führen Sie es mit tsx demo.ts aus. Das SDK wird einen Fehler werfen, wenn Sie versuchen, einem Tool ein Secret zu geben, das es nicht angefordert hat.

Gegenargument

Einige Teams mögen argumentieren, dass die zusätzlichen Schema-Definitionen zu viel Boilerplate hinzufügen und das Prototyping verlangsamen. Das mag zwar stimmen, aber der Aufwand ist gering – nur wenige Zeilen pro Tool – und der Sicherheitsgewinn wächst mit der Anzahl der integrierten Dienste. In Umgebungen, die Zahlungsdaten oder personenbezogene Informationen verarbeiten, ist dieser Kompromiss schwer zu ignorieren.

Worauf man als Nächstes achten sollte

  • Adoptionsmetriken – Early Adopter berichten von weniger Vorfällen durch das Durchsickern von Secrets.
  • Community-Tools – Plug-ins, die Kontext-Schemas automatisch aus Konfigurationsdateien generieren.
  • Zukünftige SDK-Releases – Hinweise darauf, dass Vercel Scoped Contexts auf Netzwerkberechtigungen und Rate-Limit-Beschränkungen ausweiten könnte.

Wenn Sie bereits KI-Agenten mit dem Vercel SDK bauen, ist der erste Schritt die Überprüfung Ihrer aktuellen process.env-Nutzung. Identifizieren Sie den einzelnen Wert, der aus allen Tool-Aufrufen entfernt werden kann, und ersetzen Sie das Catch-all-Muster durch einen Scoped toolsContext. Das Ergebnis ist eine verbesserte Sicherheitslage, ohne die Flexibilität zu opfern, die KI-Agenten so leistungsfähig macht.