Wenn der Chatbot Knöpfe zeigt: Wer bestimmt, was „Bestätigen“ wirklich tut?
Claude öffnet Notion und Adobe im Chat, Gemini baut Widgets nach Beschreibung, Google erklärt A2UI 1.0 für stabil: KI-Assistenten liefern immer öfter Oberflächen statt Text. Dahinter stecken drei technisch sehr verschiedene Wege. Wir erklären sie und gehen der Frage nach, die in den Ankündigungen fehlt: Wer garantiert, dass ein Knopf auch das tut, was draufsteht?

Darum geht es
Innerhalb weniger Tage kamen mehrere Fälle zusammen. Am 10. November 2026 hat Anthropic Claude so erweitert, dass sich Notion, Confluence, Box oder Adobe-Werkzeuge als voller Editor im Chat öffnen lassen. Am selben Tag kam mit dem Pixel-Drop „Create My Widget“ auf Pixel-10- und Pixel-11-Handys: Du beschreibst ein Widget, und Gemini baut es. Am 11. November erklärte Google das Protokoll A2UI in Version 1.0 für stabil, und Google Labs startete Tabletop, das aus einem Prompt eine interaktive Gruppenseite macht. Am 12. November folgte Vercels UI SDK.
Alle diese Dienste lassen die KI Oberflächen statt Text liefern, also Knöpfe, Formulare, Diagramme. Der Fachbegriff dafür ist Generative UI. Technisch stecken dahinter aber drei sehr verschiedene Wege. Davon hängt ab, wer am Ende bestimmt, was ein „Bestätigen“-Knopf tut.
Drei Wege zur Oberfläche im Chat
Weg 1: Fremde App im abgeschotteten Fenster. Bei MCP Apps, einer Erweiterung des Model Context Protocol (des offenen Standards, über den KI-Assistenten an fremde Dienste andocken), liefert der Server eines Anbieters fertiges HTML mit JavaScript. Der Chatdienst zeigt es in einem iframe an, einem eingebetteten Browserfenster, das laut offizieller Dokumentation „nicht auf die übergeordnete Seite zugreifen, keine Cookies stehlen und nicht aus seinem Container ausbrechen“ kann. Mit dem Chat spricht die App nur über einen Nachrichtenkanal (postMessage). Diesen Weg nutzen die neuen Claude-Konnektoren. OpenAIs Apps SDK funktioniert genauso, ChatGPT setzt laut OpenAI inzwischen den MCP-Apps-Standard um und ergänzt ihn um eigene Funktionen.
Weg 2: Bauplan statt Code. A2UI schickt keinen Code, sondern eine JSON-Beschreibung, sozusagen eine Bestellliste: „ein Datumsfeld, darunter ein Knopf mit der Aufschrift X“. Die App setzt daraus ihre eigenen, vorher registrierten Bausteine zusammen. Welche Bausteine erlaubt sind, legt ein Katalog fest. Laut Googles Blog kann der Agent nur Komponenten platzieren, die Entwickler registriert haben. Neu in 1.0 sind Funktionsaufrufe in beide Richtungen, etwa ein Flugauswähler, der sofort die Verfügbarkeit prüft, außerdem Barrierefreiheit sowie SDKs für TypeScript und Dart. Ein Detail am Rande: Der Blog nennt 1.0 „stabil“, die Spezifikationsseite führt sie bei unserer Prüfung als „Current“, einen Release-Candidate-Vermerk fanden wir dort nicht.
Weg 3: Das Modell schreibt den Code selbst. Bei Geminis „Dynamic View“ entwirft und programmiert das Modell laut Google Research für jede Anfrage eine eigene Oberfläche aus HTML, CSS und JavaScript. Claudes Grafiken im Chat, seit März 2026 verfügbar, bestehen ebenfalls aus generiertem HTML und SVG. Bei Tabletop sagt Google nicht, wie die Seiten entstehen. Securityonline ordnet das Werkzeug als „Vibe Coding“ ein, also Programmieren per Beschreibung. Create My Widget liegt dazwischen: Laut Android-Entwicklerblog ist das System-Framework RemoteCompose „die Engine hinter Create My Widget“. Welche Form Geminis Ausgabe genau hat, dokumentiert Google nicht.
| Weg 1: iframe | Weg 2: Bauplan | Weg 3: generierter Code | |
|---|---|---|---|
| Beispiele | MCP Apps, OpenAI Apps SDK, Claude-Konnektoren | A2UI, Gemini Enterprise, Jira-Karten bei Atlassian | Gemini Dynamic View, Claude-Grafiken, (vermutlich) Tabletop |
| Wer schreibt den Code? | der App-Anbieter | die App selbst, vorab | das Modell, zur Laufzeit |
| Fremder Code im Chat? | ja, abgeschottet | nein | ja, vom Modell |
| Aussehen | wie die Fremd-App | wie der Host | frei |
Zwei Ankündigungen sind kein eigener Weg. Vercels UI SDK (Beta 0.1.0, Apache-2.0) liefert über 50 Verhaltensbausteine wie Tastaturnavigation oder Auswahllisten für React, Vue, Svelte, Solid und Web Components. Gedacht ist es für Coding-Agenten, die Oberflächen beim Entwickeln bauen, nicht zur Laufzeit. Laut Diario Bitcoin enthält es eine Agentenbrücke, über die Agenten den Zustand einer Oberfläche auslesen und Aktionen ausführen. Eine allow-Funktion der App kann jede dieser Aktionen erlauben oder ablehnen. Vercels eigener Test zeigt 69 Prozent weniger Werkzeugaufrufe und 61 Prozent weniger Zeit, beruht aber auf nur einer Aufgabe mit drei Durchläufen. AG-UI wiederum ist laut CopilotKit eine Transportschicht: Sie leitet die Anweisungen weiter, egal ob sie im A2UI-Format kommen oder auf MCP Apps verweisen. Beide Protokolle lassen sich auch kombinieren: Ein A2UI-Renderer kann in einer MCP App laufen und so in Claude oder ChatGPT erscheinen.
Wie die Abschottung funktioniert und wo sie endet
Frédéric Barthelet, Technikchef der Firma Alpic, hat auf der Konferenz AI Engineer erklärt, warum ChatGPT und Claude doppelte iframes nutzen. Ein einfaches iframe hat ein Dilemma: Entweder es teilt die Herkunft (Origin) des Chats, dann könnte der fremde Code an dessen Speicher. Oder es bekommt eine anonyme Herkunft, dann funktioniert kein lokaler Speicher. Die Lösung ist ein äußeres iframe auf einer eigenen Subdomain je App und darin ein inneres iframe mit dem eigentlichen App-HTML. Microsoft macht das sichtbar: Microsoft 365 Copilot zeigt Widgets unter {hash}.widget-renderer.usercontent.microsoft.com. Zusätzlich deklariert jede App, welche Domains sie kontaktieren darf. Diese Regel heißt Content Security Policy (CSP), eine Liste erlaubter Server.
Barthelet nennt auch Grenzen. Subdomains trennen den lokalen Speicher, Cookies brauchen aber eine eigene Absicherung. Und ChatGPTs Entwicklermodus hat die CSP früher nicht durchgesetzt. Das Wichtigste: Der Sandkasten schützt den Chat vor der App, nicht dich vor dem, was die App anzeigt. Ein Sicherheitsleitfaden zu MCP Apps auf nhimg.org hält fest, dass eine Oberfläche trotz Sandbox „irreführende Inhalte anzeigen“ kann.
Die Frage, die fehlt: Was tut „Bestätigen“ wirklich?
Bei MCP Apps malt der App-Anbieter den Knopf. Ein Klick löst eine Anfrage an den Host aus, also an den Chatdienst. Der Host „darf“ solche Anfragen laut Spezifikation blockieren oder dir zur Freigabe vorlegen, er muss es aber nicht. Ob vorher nachgefragt wird, entscheidet also jeder Chatdienst selbst. ChatGPT richtet sich nach Hinweisen, die der Server-Betreiber selbst setzt (etwa „verändert Daten“). OpenAI betont, diese Hinweise ersetzten keine Prüfung auf dem Server. In Microsofts Tabelle zu Microsoft 365 Copilot steht der Hinweis destructiveHint als nicht unterstützt. Anthropic schreibt, dass du Änderungen durch Claude freigeben musst, wie bei normalen Konnektoren. Was Claude von einer geöffneten App liest, sagt die Ankündigung nicht.
Die Sicherheitsfirma Backslash beschreibt als konkretes Risiko UI-Mimikry: Ein Server liefert HTML, das wie die Anmeldeabfrage von VS Code aussieht, und fängt so Zugangsdaten ab. Ein VentureBeat-Gastbeitrag skizziert, wie per Prompt-Injection (versteckte Anweisungen in Daten, etwa in einem Jira-Ticket) Schadcode in einer MCP-App-Ansicht landen kann. Beide beschreiben das als Konzept, ohne Exploit und ohne CVE.
Bei A2UI kommt kein fremder Code an, das ist ein echter Vorteil. Die Spezifikation verlangt außerdem, dass bestimmte Funktionen nur nach einem echten Nutzerklick laufen (requiresUserActivation). Der nhimg-Leitfaden dreht das Argument aber um: Ein manipuliertes Formular übernimmt das Design der Host-App und sei damit „überzeugender, als ein iframe es wäre“. Auch ein zerstörerischer Befehl kann eine harmlose Aufschrift tragen. Bilder, die beim Anzeigen automatisch von einer URL geladen werden, könnten Daten nach außen tragen, und laut dem Leitfaden fehlen in der Spezifikation Regeln zur URL-Prüfung.
Beim generierten Code stammen Aufschrift und Funktion aus derselben Quelle: dem Modell. Unsere Einschätzung: Wurde es über eingelesene Daten manipuliert, etwa über E-Mails, aus denen ein Widget Flugdaten zieht, kann beides falsch sein. Google rät selbst, die Angaben generierter Widgets auf Richtigkeit zu prüfen.
Dass Bestätigungsdialoge schwach sein können, ist belegt, wenn auch bisher nicht speziell für Generative UI. Forschende der Seoul National University zeigten im Juli 2026, dass Claude in Chrome vor Klicks nur meldete, es wolle „ein Element“ anklicken. Ihre Angriffe, bei denen Daten als vertrauenswürdige Metadaten getarnt werden, erreichten selbst gegen Schutzmaßnahmen bis zu 50 Prozent Erfolg. Die Sicherheitsfirma Straiker dokumentierte bei Googles Antigravity eine Freigabeabfrage, die nur den Skriptnamen gmail.py zeigte, während das Skript SSH-Schlüssel hochlud. Ihr Fazit:
„Die Prüfung durch einen Menschen funktioniert nicht mehr als echte Sicherheitsgrenze“, sobald die KI ihre eigene Erklärung kontrolliert.
Welche Daten sieht das Modell?
Auch das ist je nach Weg unterschiedlich geregelt. Google wirbt bei A2UI damit, dass sensible Werte „nie das Modell erreichen“, weil die Daten auf dem Server eingesetzt werden. Laut Spezifikation gehen beim Tippen keine Daten raus, mit einem Klick nur die ausdrücklich genannten Felder. Schaltet ein Entwickler aber sendDataModel ein, geht das gesamte Datenmodell an den Agenten. Bei MCP Apps kann eine App über ui/update-model-context Inhalte für spätere Antworten ins Modell schreiben. Laut nhimg ist das ein Haupteinfallstor für Prompt-Injection. ChatGPT lässt Entwickler zwischen Inhalten für das Modell und rein privaten UI-Daten trennen. Gemini warnt in seiner Hilfe, Google „kontrolliert, überwacht oder sichert keine MCP-Server Dritter“ und Gemini könne Informationen aus Chats mit eigenen Apps teilen.
Wer unterstützt heute was?
| Assistent | MCP Apps / Apps SDK | A2UI | Selbst generierter Code |
|---|---|---|---|
| Claude (Web, Desktop) | ja, volle Editoren in öffentlicher Vorschau | über einen A2UI-Renderer in MCP Apps | Grafiken aus HTML/SVG |
| ChatGPT | ja, MCP Apps plus eigene Erweiterungen | über einen A2UI-Renderer in MCP Apps | – (nicht recherchiert) |
| Gemini | Enterprise: ja; Endkunden-App: Entwicklervorschau „Connected Apps“ (seit 28. Oktober, laut Fachberichten) | Gemini Enterprise mit A2UI 0.9.1, Umstieg auf 1.0 läuft | Dynamic View |
| Copilot | Microsoft 365 Copilot seit April 2026 (teilweise), VS Code GitHub Copilot | keine Angabe gefunden | keine Angabe gefunden |
Für die Verbraucher-App von Microsoft Copilot fanden wir keinen Beleg für MCP Apps.
Einordnung
Generative UI wird gerade vom Entwicklerexperiment zum Alltag, und die drei Wege verteilen die Verantwortung unterschiedlich. Beim iframe vertraust du dem App-Anbieter und hoffst, dass der Chatdienst kritische Klicks mit einem eigenen Dialog absichert. A2UI verhindert fremden Code, macht Fälschungen aber optisch unauffälliger. Beim generierten Code gibt es keinen Dritten, dafür ist das Modell selbst die Schwachstelle.
Unsere Einschätzung: Der entscheidende Schutz liegt bei keinem der drei Wege im Protokoll. Er liegt in einer vom Host gezeichneten Bestätigung, die die genaue Aktion samt Parametern zeigt, und in einer Prüfung auf dem Server. Genau das schreiben die Spezifikationen bisher nicht vor. Öffentliche Proof-of-Concepts für gefälschte Dialoge in MCP Apps oder A2UI haben wir nicht gefunden. Die Risiken sind beschrieben, aber nicht vorgeführt. Bis dahin gilt als Faustregel: Passwörter, PINs und Kartendaten gehören nicht in Formulare, die im Chat auftauchen.
Quellen
- Google Developers Blog: A2UI 1.0 developers.googleblog.com
- A2UI-Spezifikation v1.0 a2ui.org
- gihyo.jp: A2UI 1.0 gihyo.jp
- MCP Apps – offizielle Übersicht modelcontextprotocol.io
- MCP Extension Support Matrix modelcontextprotocol.io
- AI Engineer: Why MCP and ChatGPT Apps Use Double Iframes (Frédéric Barthelet) ai.engineer
- Alpic: MCP Apps vs. ChatGPT Apps alpic.ai
- OpenAI: MCP Apps in ChatGPT developers.openai.com
- OpenAI Apps SDK: Security & Privacy developers.openai.com
- OpenAI Apps SDK: MCP-Server developers.openai.com
- Anthropic: Interactive Connectors als volle Werkzeuge claude.com
- Anthropic: Claude erstellt interaktive Grafiken claude.com
- Microsoft Learn: MCP Apps in Microsoft 365 Copilot learn.microsoft.com
- Open Data Science: MCP Apps in Gemini Enterprise opendatascience.com
- Data Studios: Google Connected Apps Platform datastudios.org
- Android Headlines: Connected Apps Platform Preview androidheadlines.com
- Google Research: Generative UI research.google
- Android Developers Blog: The Android Show Developers Cut 2026 android-developers.googleblog.com
- Android Authority: Create My Widget – Einschränkungen androidauthority.com
- Google Blog: Tabletop blog.google
- Securityonline: Google Labs Tabletop securityonline.info
- GitHub: vercel-labs/ui github.com
- Diario Bitcoin: Vercel UI SDK diariobitcoin.com
- CopilotKit: AG-UI und A2UI erklärt copilotkit.ai
- nhimg: MCP Apps Security Guide nhimg.org
- nhimg: AG-UI and A2UI Security nhimg.org
- Backslash Security: New MCP Spec Opens Three New Attack Surfaces backslash.security
- VentureBeat: MCP's new spec turns a planted prompt into a stolen credential venturebeat.com
- arXiv: Agent Data Injection Attacks are Realistic Threats to AI Agents arxiv.org
- Straiker: Prompt Injection in Google Antigravity straiker.ai
Frag den KI-Assistenten
Fragen zu diesem Artikel, zur Installation oder zu Hintergründen? Unser Assistent kennt diese Seite und läuft auf unserem eigenen Rechner, nicht in einer fremden Cloud.
Der Assistent ist eine KI (Gemma 4) und kann sich irren – wichtige Angaben bitte in der Quelle prüfen. Fragen werden nur zum Beantworten genutzt und nach einer Stunde gelöscht. Bitte keine persönlichen Daten eingeben.
Kommentare
Was meinst du dazu? Schon ausprobiert? Schreib es hier, ohne Anmeldung.
Kommentare sind öffentlich. Links sind nicht erlaubt, beleidigende Beiträge löschen wir. Deinen eigenen Kommentar kannst du in diesem Browser jederzeit wieder löschen. Mehr dazu in der Datenschutzerklärung.