Not in the middle: why a Context AI–style breach against Caiioo would yield nothing useful

Dies ist eine maschinelle Übersetzung des englischen Originaldokuments. Im Falle von Widersprüchen zwischen dieser Übersetzung und der englischen Originalversion ist die englische Version maßgeblich. Englische Originalversion lesen


Nicht in der Mitte: Warum eine Sicherheitslücke im Stil von Context AI bei Caiioo nichts Nützliches ergeben würde

2026-04-22 · Caiioo Team

Am 19. April 2026 gab Vercel bekannt, dass das KI-Tool eines Drittanbieters eines einzelnen Mitarbeiters kompromittiert worden war und dass das kompromittierte OAuth-Token verwendet wurde, um in die internen Umgebungen von Vercel einzudringen. Bei einer begrenzten Untergruppe von Kunden wurden nicht sensible Umgebungsvariablen offengelegt. Verschlüsselte/sensible Umgebungsvariablen waren nicht betroffen.

Das Tool war Context AI. Der Mitarbeiter hatte ihm weitreichenden „Alles erlauben“-Zugriff auf seinen geschäftlichen Google Workspace gewährt. Diese einzige OAuth-Freigabe, die auf den Servern von Context AI gespeichert war, war der Hebelpunkt für alles, was folgte.

Ein Bedrohungsakteur auf BreachForums hat separat behauptet, 580 Datensätze von Vercel-Mitarbeitern für 2 Mio. $ zum Verkauf anzubieten. Vercel hat dieses Angebot nicht verifiziert.

Der Vorfall ist noch nicht abgeschlossen. Aber die architektonische Lektion ist bereits klar, und sie ist nützlich für jeden, der einen KI-Arbeitsbereich bewertet.

Die Form des Angriffs

Das SaaS-KI-Modell stellt einen Anbieter in die Mitte jeder OAuth-Freigabe, die Sie ihm geben.

Wenn Sie ein KI-Produktivitätstool eines Drittanbieters installieren und den OAuth-Zustimmungsbildschirm bestätigen, verbleiben das von Google (oder Microsoft oder einem anderen Identitätsanbieter) ausgestellte Zugriffstoken und das Refresh-Token nicht auf Ihrem Gerät. Sie werden an die Server des Anbieters übermittelt, da die KI, die sie benötigt, in der Cloud des Anbieters läuft. Die Infrastruktur des Anbieters hält einen kontinuierlich aktualisierten Satz von Token für jeden seiner Nutzer bereit, begrenzt auf die „Alles erlauben“-Berechtigungen, die die meisten Nutzer ohne Lesen angeklickt haben.

Dieser zentralisierte Token-Speicher ist genau das Ziel von Angreifern. Die einmalige Kompromittierung des Anbieters ermöglicht den Workspace-Zugriff für Tausende von Kunden. Vercels eigenes Bulletin warnt, dass die nachgelagerten Auswirkungen „Hunderte von Nutzern in vielen Organisationen“ betreffen könnten.

Berichte führen die ursprüngliche Kette auf einen Mitarbeiter von Context AI zurück, dessen privates Gerät im Februar 2026 kompromittiert wurde, Berichten zufolge über einen heruntergeladenen Roblox-Game-Exploit, der die Infostealer-Malware Lumma Stealer enthielt. Diese Malware exfiltrierte die Google Workspace- und AWS-Anmeldedaten des Mitarbeiters, was wiederum den OAuth-Token-Tresor öffnete. Ein infiziertes privates Gerät, ein geschäftlicher SaaS-Tresor, Hunderte von nachgelagerten Workspaces.

Drei architektonische Gründe, warum ein Breach im Stil von Context AI gegen Caiioo nichts Nützliches hervorbringen würde

Caiioo ist ein leistungsstarker, Privacy-first Workspace mit einem agentischen Orchestrator und einer Chat-Schnittstelle, die in einem Seitenpanel läuft. „Privacy-first“ beschreibt eine spezifische architektonische Haltung, keine Marketing-Floskel. Dahinter stehen drei konkrete Eigenschaften.

1. Ihre Workspace OAuth-Token werden verschlüsselt auf Ihrem Gerät gespeichert, nicht auf unseren Servern

Wenn Sie ein Google- oder Microsoft-Konto in Caiioo verbinden, sehen Sie den Standard-OAuth-Zustimmungsbildschirm von Google mit den Berechtigungen (Scopes), die Sie gewähren. Bis hierhin sieht das identisch mit der Autorisierung von Context AI aus.

Der strukturelle Unterschied liegt darin, was mit den Token passiert, die aus diesem Prozess hervorgehen. Das Access-Token und das Refresh-Token, die Google ausstellt, werden verschlüsselt auf Ihrem Gerät gespeichert – im Keychain unter macOS und iOS, im Keystore unter Android, im sicheren Speicher des Browsers innerhalb der Extension. Sie werden nicht in der zentralen Datenbank von Caiioo gespeichert. Wir haben keinen Token-Tresor, der diese in Ihrem Namen verwaltet.

Wenn der agentische Orchestrator Ihren Kalender lesen oder Ihren Posteingang durchsuchen muss, geht der API-Aufruf von Ihrem Gerät direkt zu Google, wobei das Token aus dem sicheren Speicher Ihres Geräts angehängt wird. Unsere Infrastruktur befindet sich bei keinem Ihrer Workspace-Inhalte im Datenpfad.

Sie können dies selbst im Quellcode überprüfen: In src/shared/auth/connections-manager.ts werden Google/Microsoft OAuth-Verbindungen persistiert. Die OAuthConnection-Datensätze, einschließlich der Felder accessToken und refreshToken, werden über den lokalen Storage-Adapter geschrieben – nicht an einen zentralen Token-Speicher übertragen.

2. Der Message Bus des Relays ist Ende-zu-Ende verschlüsselt

Wenn Caiioo-Komponenten auf verschiedenen Geräten koordiniert werden müssen – etwa wenn Ihre Browser-Extension mit Ihrer Desktop-App kommuniziert, Ihr Telefon mit Ihrem Heimserver spricht oder die UI im Seitenpanel ein Tool aufruft, das nativ auf macOS läuft –, geschieht dies über ein Relay, das wir unter relay.pebbleflow.ai hosten. Das Relay ist der Treffpunkt, der es Ihren Geräten ermöglicht, sich über Netzwerke hinweg zu finden.

Dieses Relay ist Ende-zu-Ende verschlüsselt. Die Geräte jedes Nutzers führen einen Schlüsselaustausch über den Relay-Umschlag durch, und von diesem Moment an sind Nachrichten zwischen Ihren Geräten aus Sicht des Relays nur Chiffretext. Das Relay kann sie weiterleiten, aber nicht lesen.

Das ist kein bloßes Ziel, sondern Realität. Das Durable Object, das die WebSocket-Verbindungen verwaltet, cloud/relay/src/user-relay.ts, ist wie folgt dokumentiert: "Manages WebSocket connections for a single user. Handles E2E encrypted messages (opaque to relay) and key exchange." Die Codepfade, die den Nachrichtentyp ENCRYPTED verarbeiten, sind explizit kommentiert: "Encrypted message to specific client (we can't read it)." Das Relay ist architektonisch nicht in der Lage, die Inhalte der von ihm weitergeleiteten Nachrichten zu inspizieren.

3. Das Relay ist konstruktionsbedingt Single-Tenant pro Nutzer

Das Relay von Caiioo basiert auf Cloudflare Durable Objects. Jeder Nutzer erhält seine eigene UserRelay-Instanz – eine separate, zur Laufzeit isolierte Einheit aus Rechenleistung und Speicher. Es gibt keine gemeinsam genutzte Multi-Tenant-Datenbank, die den Live-Sitzungsstatus aller Nutzer hält, da es für diese Rolle überhaupt keine Multi-Tenant-Datenbank gibt. Das Relay jedes Nutzers ist ein separates Objekt.

Dies ist wichtig, da es das Fehlerszenario eines einzigen gemeinsamen Angriffsziels (Single-Shared-Target) eliminiert. Selbst wenn ein Angreifer einen Weg fände, das Durable Object eines Nutzers zu kompromittieren, erhielte er keinen lateralen Zugriff auf die Daten anderer Nutzer – es gibt keinen gemeinsamen Datenspeicher, über den man sich weiterbewegen könnte. Jeder Nutzer ist strukturell sein eigener Mandant (Tenant).

Was sich in unserer zentralen Datenbank befindet und was nicht

Wir betreiben eine zentrale Datenbank (Cloudflare D1) für Dinge, die zentral sein müssen. Ehrlichkeit ist hier wichtig. Die Datenbank speichert:

  • Konto-Identität: Ihre E-Mail-Adresse, Ihr gehashtes Passwort (falls Sie E-Mail/Passwort-Login nutzen), die von Google/Apple/Microsoft zurückgegebene Provider-ID (falls Sie einen Social-Login-Button nutzen).
  • Abrechnungsstatus: Ihre Stripe-Kunden-ID, Abonnement-Stufe, Lizenzschlüssel und Abonnement-Status.
  • Benutzerspezifische API-Keys für KI-Inferenzanbieter (speziell OpenRouter). Dies sind Anmeldedaten für Inferenzanbieter – getrennt von Ihren Workspace-OAuth-Token. Sie existieren für den Managed-Credits-Flow und für Nutzer, die ihren eigenen OpenRouter-Key in allen KI-Funktionen von Caiioo nutzen möchten.
  • Geräte-Aktivierungsliste zur Lizenzprüfung.
  • Audit-Logs, die für SOC 2-Nachweispflichten aufbewahrt werden.
  • Eine Routing-Tabelle für Opt-in-Inbound-Webhooks (WhatsApp, Telegram etc.) – wird nur verwendet, wenn Sie diese Messaging-Integrationen konfiguriert haben.

Die Datenbank speichert nicht:

  • Ihre Workspace-OAuth-Token (Gmail, Kalender, Drive, Microsoft 365). Diese befinden sich ausschließlich auf Ihrem Gerät.
  • Ihre Konversationsinhalte. Der agentische Orchestrator läuft in Ihrer Seitenleiste; Konversationen liegen in Ihrem lokalen Speicher.
  • Ihre Workspace-Daten – E-Mails, Kalenderereignisse, Drive-Dateien. Diese werden direkt von Google/Microsoft auf Ihr Gerät gelesen und passieren niemals unsere Infrastruktur.
  • Den Inhalt von Nachrichten, die über das WebSocket-Relay fließen. Das Relay sieht nur verschlüsselten Text.

Ein Einbruch in unsere zentrale Datenbank würde Konto-/Abrechnungsidentitäten, Audit-Logs und die Spalte mit den OpenRouter-Inferenzschlüsseln offenlegen. Er würde keine Workspace-Token, Konversationsinhalte oder Workspace-Daten liefern, da diese dort nicht vorhanden sind.

Die ehrlichen Vorbehalte

Dies ist ein anderes Bedrohungsmodell, kein magischer Schutzschild. Hier sind einige Einschränkungen, die Sie lieber von uns hören sollten, als sie später selbst zu entdecken.

Der OAuth-Code-Austausch berührt kurzzeitig unser Relay. Google (sowie Microsoft, GitHub, Slack) verlangen, dass das OAuth client_secret beim Token-Austauschschritt vorgelegt wird, und dieses Geheimnis kann nicht im Client-Code ausgeliefert werden. Daher fügt unser stateloses Relay das client_secret hinzu und leitet Ihren Autorisierungscode an Google weiter, um ihn gegen die tatsächlichen Token einzutauschen. Die Token kommen über das Relay zurück und werden sofort zur Speicherung an Ihr Gerät zurückgegeben. Sie werden nicht in unserer Infrastruktur persistiert. Dies ist derselbe Grund, warum jede native Google-integrierte App, die Sie jemals benutzt haben, eine Serverkomponente besitzt – es ist eine Einschränkung von Google, keine Designentscheidung von caiioo.

Benutzerdefinierte Endpunkte ermöglichen es Ihnen, unseren OAuth-Client vollständig zu umgehen. Caiioo unterstützt die Konfiguration benutzerdefinierter OAuth-Endpunkte. Das bedeutet, dass ein Benutzer, der bereit ist, seinen eigenen OAuth-Client in der Google Cloud Console (oder dem Microsoft Entra-Äquivalent) bereitzustellen, die OAuth-Scopes von Caiioo und den Austauschschritt unseres Relays gänzlich vermeiden kann. Einmal konfiguriert, findet der Auth-Flow ausschließlich zwischen Ihrem Gerät und Google statt, ohne dass Caiioo in der Schleife ist. Wir bieten dies nicht als Standardeinstellung für Endverbraucher an, da die meisten Benutzer es nicht benötigen und die Standardarchitektur Ihre Workspace-Daten bereits von unseren Servern fernhält. Aber die Option existiert, und die Implementierung wird jedem vertraut sein, der schon einmal einen OAuth-Client in der Google Cloud Console eingerichtet hat.

Die Kompromittierung des Geräts ist weiterhin relevant. Wenn Ihr Laptop kompromittiert wird, sind es auch Ihre Token. Local-first verlagert die Angriffsfläche vom „Tresor des Anbieters“ auf Ihren „Endpunkt“. Das ist eine kleinere und besser verteidigbare Fläche, aber sie ist nicht null.

Das Login-Level „Sign in with Google“ ist getrennt vom Workspace-Zugriff. Wenn Sie sich bei Caiioo selbst mit Google oder Apple anmelden, dient dieser Flow nur der Identität und erstellt eine Basisverbindung, die auf Ihr Konto beschränkt ist. Dies ist nicht derselbe Pfad wie der oben beschriebene Workspace-Zugriffs-Flow und gewährt der KI keinen Zugriff auf Ihren Posteingang oder Kalender.

Supply-Chain-Angriffe auf Caiioo selbst sind weiterhin denkbar. Ein kompromittierter Update-Kanal könnte theoretisch Code ausliefern, der Token von Ihrem Gerät exfiltriert. Wir wirken dem durch Code-Signing und Notarisierung auf jeder Plattform, auf der wir ausliefern, entgegen, aber die Schadensbegrenzung unterscheidet sich vom Vendor-Vault-Modell – ebenso wie die wirtschaftlichen Aspekte für die Angreifer.

So verifizieren Sie es selbst

Die ehrliche Antwort ist, dass das Datenschutzversprechen eines Anbieters auf einer Marketingseite einen Skeptiker niemals vollständig überzeugen kann. Hier erfahren Sie daher, wie Sie unsere Behauptungen mit Ihren eigenen Tools überprüfen können.

Führen Sie einen Netzwerkmonitor aus, während Sie Caiioo nutzen. Little Snitch auf macOS, GlassWire auf Windows oder Wireshark auf einem beliebigen System. Nutzen Sie Caiioo eine Stunde lang ganz normal. Den Datenverkehr, den Sie sehen werden, und was die jeweilige Verbindung bedeutet:

Ziel Wann Was es bedeutet
oauth2.googleapis.com, gmail.googleapis.com, calendar.googleapis.com, www.googleapis.com Wann immer der Agent Ihre Workspace-Daten liest Ihr Gerät kommuniziert direkt mit Google über Ihr On-Device-Token. Wir befinden uns nicht in diesem Pfad.
login.microsoftonline.com, graph.microsoft.com Wenn Sie Microsoft 365 verbunden haben Gleiches Prinzip: Ihr Gerät kommuniziert direkt mit Microsoft.
api.anthropic.com, openrouter.ai, api.openai.com, generativelanguage.googleapis.com, localhost:11434 (Ollama) Wenn Sie einen Chat senden oder ein Tool ausführen, das ein LLM nutzt Ihr Gerät kommuniziert mit dem von Ihnen konfigurierten AI-Provider. Wir befinden uns nicht in diesem Pfad.
relay.pebbleflow.ai (HTTPS) Kurzzeitig während der initialen Workspace OAuth-Einrichtung und bei der periodischen Token-Aktualisierung Der zustandslose OAuth-Code-Austausch. Token werden durchgereicht, aber nicht serverseitig gespeichert.
relay.pebbleflow.ai (HTTPS) Periodisch Lizenzvalidierung, Abrufen von Release-Notes / Benutzerhandbuch-Inhalten, Model-Intelligence-Daten, Überprüfung des Abonnementstatus.
relay.pebbleflow.ai (HTTPS) Wenn Sie die Website laden oder den Status verbundener Konten einsehen Standard-API-Traffic.
relay.pebbleflow.ai (WebSocket) Kontinuierlich, wenn Sie mehrere caiioo-Komponenten installiert haben (Erweiterung + Desktop-App oder Mobile + Desktop) Die Capability-Bridge, die es Ihren Geräten ermöglicht, miteinander zu kommunizieren. Ende-zu-Ende verschlüsselt. Wir sehen nur Geheimtext.
relay.pebbleflow.ai/api/messaging/... Nur wenn Sie Messaging-Integrationen konfiguriert haben (WhatsApp, Telegram, Slack eingehend) Webhook-Routing für eingehende Nachrichten.

Was Sie niemals sehen werden:

  • Ihre Workspace-Daten (E-Mails, Kalenderereignisse, Drive-Dateien), die an relay.pebbleflow.ai fließen. Diese Aufrufe gehen von Ihrem Gerät direkt an *.googleapis.com.
  • Ihre Konversationsinhalte, die an relay.pebbleflow.ai fließen. Der Orchestrator läuft in Ihrem Seitenpanel; der Chat-Verlauf befindet sich in Ihrem lokalen Speicher.
  • Ihre AI-Provider API-Keys, die an relay.pebbleflow.ai fließen. Diese verbleiben auf Ihrem Gerät. (Die Ausnahme: Wenn Sie den Managed-Credits-Flow nutzen, verwenden Sie ein vom Server zugewiesenes OpenRouter-Unterkonto, wobei der Inference-Aufruf dennoch von Ihrem Gerät aus erfolgt.)

Sollten Sie jemals eine Anfrage von Ihrem Gerät an unsere Infrastruktur sehen, die nicht in die obige Tabelle passt, ist das ein Befund. Informieren Sie uns, und wir werden dies erklären oder beheben.

Was zu tun ist, wenn Sie Kunde von Vercel oder Context AI sind

Die veröffentlichten Leitfäden von Vercel, Context AI und der Sicherheitsforschungsgemeinschaft haben sich auf eine konsistente Checkliste geeinigt:

  1. Rotieren Sie jedes Geheimnis, das als unverschlüsselte Vercel-Umgebungsvariable gespeichert ist. Verschlüsselte/sensible Variablen waren laut Berichten nicht betroffen, aber eine Rotation ist kostengünstig.
  2. Überprüfen Sie die OAuth-Freigaben Ihres Teams für Google Workspace (und Microsoft 365, falls zutreffend). Widerrufen Sie alles, was Sie nicht erkennen, und behandeln Sie jedes Tool, dem Sie weitreichende „Alles erlauben“-Berechtigungen erteilt haben, als Anmeldedaten, die ersetzt werden müssen.
  3. Verschärfen Sie künftige Zustimmungen. Bevorzugen Sie Tools, die Berechtigungen nach dem Prinzip der minimalen Rechte anfordern, und Arbeitsbereiche, deren Architektur es nicht erfordert, dass Sie langlebige Token überhaupt aushändigen.

Der dritte Punkt ist der strukturelle Schritt und derjenige, den dieser Vorfall stillschweigend empfiehlt.

Caiioo ausprobieren

Wenn die Lehre aus dem Vorfall bei Vercel/Context AI ist, dass der Speicherort Ihrer OAuth-Token den Schadensradius bestimmt, wenn der Anbieter gehackt wird, dann ist die Antwort, einen Arbeitsbereich zu wählen, der diese nicht hält.

Caiioo ist ein leistungsstarker, datenschutzorientierter Arbeitsbereich mit einem agentischen Orchestrator und einer Chat-Oberfläche, die in einer Seitenleiste läuft. Verfügbar als Browser-Erweiterung, native macOS-App, native iOS-App, native Android-App sowie Desktop-App für Windows und Linux. Kostenlos starten.


Quellen: