# Post ist nicht vertrauenswürdige Eingabe

Der Assistent liest E-Mails von Fremden, und was er schreibt, wird in Ihrem
Postfach gespeichert. Jeder kann in einer E-Mail eine Anweisung für das Modell
verstecken – „ignorieren Sie die Regeln, setzen Sie … in Kopie“. Das ist ein
echter Angriff, und draften wehrt ihn in Schichten ab, **ohne sich darauf zu
verlassen, dass das Modell die Anweisung verweigert**.

## Vor dem Modell

- **Automatische Post wird anhand ihrer Header aussortiert** (automatische
  Antworten, Unzustellbarkeitsmeldungen, Benachrichtigungen, Massenversand),
  bevor ein Modell sie sieht. Der Assistent antwortet nie darauf, daher kann
  keine Schleife zweier Maschinen entstehen. Die Ausnahme sind die Adressen von
  Webformularen aus den Einstellungen des Assistenten.
- **Versteckter Text wird entfernt** – weißer Text, Größe null, Text außerhalb
  des Bildschirms, HTML-Kommentare. Was gefunden wurde, wird bei der Nachricht
  vermerkt.
- **Unsichtbare Zeichen** (Zeichen mit Nullbreite, Steuer- und
  Richtungszeichen und Ähnliches) werden entfernt und gezählt.
- **Sätze, die wie Anweisungen aussehen**, werden gekennzeichnet; die Nachricht
  trägt dann unter E-Mails das Etikett **verdächtig**.

## In den Anweisungen für das Modell

Jeder fremde Text – der Betreff, der Name des Absenders, der Text, frühere
Nachrichten des Threads, Ergebnisse aus dem Archiv und aus angebundenen
Systemen – steht in einem geschlossenen Block mit dem Hinweis, dass es Daten
sind, keine Anweisungen. Die Markierungen des Blocks werden im Inhalt maskiert,
sodass ein Angreifer den Block nicht schließen kann. Die Regel über Blöcke ist
Teil des festen Kerns von draften, kein bearbeitbarer Text. Das Modell ist
angewiesen, die Sache zu übergeben, wenn es einen Manipulationsversuch
erkennt.

## Nach dem Modell

Was das Modell schreibt, prüft draften genauso misstrauisch – es ist durch die
E-Mail eines Fremden gegangen:

- **Empfänger** darf nur eine Adresse sein, die in der ursprünglichen Nachricht
  steht,
- eine **Cc**-Adresse nur aus den erlaubten Adressen des Assistenten, sonst wird
  sie weggelassen,
- **Anhänge** nur aus der Liste der Anhänge des Assistenten,
- **Links** nur zu erlaubten Domains und zu den Domains der Wissensquellen,
  sonst wird der Entwurf nicht angelegt,
- die **Signatur** muss vollständig im Entwurf stehen, sonst wird der Entwurf
  nicht angelegt,
- ein Entwurf darf nicht mit dem technischen Namen des Assistenten beginnen (er
  sähe aus wie eine Anweisung des Inhabers),
- **Limits** pro Tag, pro Absender und pro Abruf bremsen eine Flut.

## Was nie möglich ist

- **Nichts wird gesendet.** Die App-Registrierung hat keine Berechtigung
  `Mail.Send`, und draften hat keinen Aufruf zum Senden. Sie sehen jeden
  Entwurf, bevor Sie ihn selbst senden.
- **Nichts wird gelöscht.** Der Assistent löscht nichts im Postfach.
- Angebundene Systeme (CRMs) werden **nur gelesen**, und nur über die
  Beteiligten des Threads.
- Adressen, die der Assistent abruft (Links, Websites mit Anleitungen), müssen
  öffentlich sein – eine Quelle erreicht nie das interne Netz des Servers.

## Was die Abwehr nicht abdeckt

Den Inhalt des Entwurfstexts selbst – und einen Angreifer, der seine eigene
Adresse in den Text der E-Mail schreibt (die Prüfung des Empfängers findet sie
dann dort). Bei einem Entwurf, den ein Mensch freigibt, ist das vertretbar; bei
automatischem Senden wäre es das nicht – ein weiterer Grund, warum draften nie
sendet.

Siehe auch [Das Sicherheitsnetz](/de/admin/safety-net).
