# Trust Labels (Vertrauenslabels)

*Zwei kleine Labels plus Sitzungskontamination setzen die Zweierregel durch.*

> **Trust Labels** sind zwei sehr kleine Label-Mengen an den Daten, **Herkunft** (`owner`, `agent`, `external`) und **Sensibilität** (`public`, `private`, `secret`), plus **Sitzungskontamination**. Das NAS setzt die Zweierregel als Sitzungs-Invariante durch: Eine Sitzung kann nicht zugleich [A] externe Inhalte gelesen haben, [B] sensible Daten berühren und [C] geschützten Zustand ändern oder nach außen kommunizieren. Das Vervollständigen des Dritten braucht ein [Human Gate](https://agentnas.com/de/concepts/human-gate/).

**AN-06** · Konformitätsstufe: L3 Guard · Gruppe: Befugnis

## Das Problem

Prompt Injection funktioniert, weil ein Modell „Anweisungen“ nicht von „Daten“ unterscheiden kann. Abwehr auf Modellebene (Klassifikatoren, Prompt-Härtung) hat Lücken, und Angreifer können sich anpassen. Ende Oktober 2025 schlug Meta die [Agents Rule of Two](https://ai.meta.com/blog/practical-ai-agent-security/) vor: Solange Injection nicht verlässlich gelöst ist, sollte eine Sitzung höchstens zwei von drei Eigenschaften haben.

Verlässlicher ist es, die Folgen **außerhalb** des Modells zu begrenzen. Der Speicher ist genau der Ort, an dem jedes Lesen und Schreiben vorbeikommt, und damit ein natürlicher Ort, diese Regel in eine testbare Invariante zu verwandeln.

## So funktioniert es

- **Labels.** Drei Herkünfte, drei Sensibilitäten und eine Markierung `reviewed` (gesetzt durch eine Gate-Freigabe). Importstellen (Webseiten, E-Mail, Uploads) erhalten standardmäßig `external`; findet ein Secret-Scanner Zugangsdaten, versieht er sie automatisch mit `secret`.
- **Sitzungskontamination.** Die Zusammenfassung von allem, was eine Ausführung gelesen hat (aus dem Lesemanifest); innerhalb einer Sitzung wächst sie nur, und eine neue Sitzung beginnt sauber.
- **Die Invariante.** A = die Sitzung hat `external` gelesen; B = die Lease darf `private` oder höher lesen (Schwelle konfigurierbar); C = die Lease darf einen Merge in einen geschützten Tree vorschlagen, teilen, löschen oder Daten nach außen senden. Gelten alle drei in einer Sitzung, wird der Aufruf, der C auslöst, abgelehnt oder an ein Gate geleitet.
- **In der Praxis:** Braucht eine Lease sowohl B als auch C, braucht nach dem Lesen externer Inhalte jede spätere Aktion der Klasse C einen Menschen. Um diese Reibung zu vermeiden, erledigen Sie die Arbeit „externe Inhalte lesen“ in einer eigenen Sitzung ohne B und geben Ergebnisse nur über eine strukturierte Übergabe weiter.
- **Weitergabe.** Ableitungen, die das NAS selbst erzeugt (Indizes, Zusammenfassungen), erben deterministisch die Vereinigung der Labels ihrer Eingaben; Dateien, die eine Ausführung schreibt, erben die Sitzungskontamination der Ausführung (die konservative Wahl).
- **Deklassifizierung.** Nur über ein Human Gate oder eine **strukturierte Übergabe:** Die Ausgabe der kontaminierten Sitzung wird auf Felder beschränkt, die ein JSON Schema validiert (Enums, IDs, begrenzte Strings), und erst nach der Validierung darf eine privilegierte Sitzung sie lesen. Nur was sich deterministisch validieren lässt, verdient Vertrauen.
- **Durchgesetzt wird am Gateway und am Mount** (die Lease und Sitzung kennen), nicht im Modell.

## Klein anfangen

- Tun Sie nur zwei Dinge: Versehen Sie Dateien im Importverzeichnis mit `external`, und geben Sie einer Ausführung, die `external` gelesen hat, standardmäßig weder Egress noch einen geschützten Merge ohne Gate.
- Schreiben Sie die Richtlinie als deterministische Regeln in Cedar oder Rego und nennen Sie bei Ablehnung lesbare Gründe.
- Laufen Sie eine Woche im Modus „nur protokollieren“, um zu sehen, was fälschlich blockiert würde, und schalten Sie dann die Durchsetzung ein.

## Schnittstellenskizze

Nur zur Veranschaulichung. Feldnamen können sich vor der Spezifikation v0.3 ändern.

*policy.yaml*

```yaml
# Deterministic policy (Cedar- or Rego-style rules can express the same thing)
session_invariant: rule_of_two
properties:
  A: session.read_origin includes "external"
  B: lease.sensitivity_max >= "private"
  C: lease allows propose_protected | share | delete | egress
on_would_complete_ABC: gate        # never "allow"
rules:
  - id: r-merge-1
    when: session.A and op == "merge" and target.protected
    then: gate
  - id: r-secret-1
    when: session.read_sensitivity == "secret" and op == "egress"
    then: deny
```

## Was die Spezifikation verlangt

- Jede Importstelle MUSS ein Standardlabel vergeben; externe Inhalte MÜSSEN `external` erhalten.
- Die Sitzungskontamination DARF innerhalb einer Sitzung nur wachsen.
- Die Richtlinienauswertung MUSS deterministisch sein und DARF NICHT ein LLM aufrufen.
- Ein Aufruf, der einer Sitzung erlauben würde, A+B+C zu vervollständigen, MUSS abgelehnt oder an ein Gate geleitet werden.
- Deklassifizierung MUSS über ein Gate oder eine schemavalidierte strukturierte Übergabe laufen.
- Abgeleitete Daten MÜSSEN die Vereinigung der Labels ihrer Eingaben erben.

## Was übernommen ist und was neu ist

Alles Folgende ist etabliertes Denken. **Neu ist:** die Sitzungskontamination an der **Speichergrenze** mit dem Lesemanifest umzusetzen und Labels auf Gedächtnis-Schreibzugriffe und abgeleitete Daten anzuwenden. Wir halten das Label-Gitter bewusst bei 3×3, weil feinkörnige Gitter in der Praxis zu einer Label-Explosion führen. OpenClaw macht Herkunftslabels und Isolation bereits innerhalb einer einzelnen Laufzeitumgebung; unser Unterschied ist nur, dies in den gemeinsamen Speicher zu legen.

- [Agents Rule of Two (Meta)](https://ai.meta.com/blog/practical-ai-agent-security/)
- [The lethal trifecta](https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/)
- [CaMeL](https://arxiv.org/abs/2503.18813)
- [Fides](https://arxiv.org/abs/2505.23643)
- [Design Patterns for Securing LLM Agents against Prompt Injections](https://arxiv.org/abs/2506.08837)
- [OpenClaw memory architecture](https://docs.openclaw.ai/concepts/memory-architecture)

## Ehrliche Grenzen

- Das ist **keine** Abwehr gegen Prompt Injection; es begrenzt Folgen.
- Das NAS sieht Werkzeuge außerhalb von sich nicht (einen Browser, E-Mail), daher braucht es die Mitarbeit der Laufzeitumgebung.
- Die Kontamination ist konservativ und bringt Reibung und Fehlalarme; Freitext außerhalb strukturierter Schemas kann weiterhin die Worte eines Angreifers tragen.
- Verdeckte Kanäle lassen sich nicht beseitigen.

## Offene Fragen

- Soll die Granularität eines Labels die Datei oder der Absatz sein?
- Wie wird das Label-Vokabular über Mandanten hinweg verwaltet?
- Wie lassen sich Fehlalarme verringern?

## Fragen

### Stoppt die Zweierregel Prompt Injection?

Sie verhindert nicht, dass eine Injection geschieht. Sie sorgt dafür, dass eine manipulierte Sitzung **nicht alle drei** Eigenschaften „hat nicht vertrauenswürdige Inhalte gelesen, berührt sensible Daten, kann geschützten Zustand ändern oder Daten nach außen senden“ haben kann, und begrenzt so die Folgen. Meta betont selbst, dass sie eine Heuristik zur Risikominderung ist, die das Prinzip der geringsten Rechte nicht ersetzt.

### Warum nur drei Herkünfte und drei Sensibilitäten?

Weil feinkörnige Label-Gitter dazu neigen, aufzublähen und in der Praxis abgeschaltet zu werden. 3×3 genügt, um zu sagen „wer es geschrieben hat, wie sensibel es ist“, und macht den Grund einer Ablehnung leicht verständlich. Feinere Aufteilungen lassen sich mit Pfaden und Leases erreichen.

### Macht die Sitzungskontamination den Agenten handlungsunfähig?

Sie beschränkt nur drei Arten von Aktionen: einen geschützten Tree ändern, teilen oder löschen und Daten nach außen senden. Lesen und Schreiben innerhalb eines Branches bleiben unberührt. Um Reibung zu vermeiden, legen Sie die Arbeit des Lesens externer Inhalte in eine Sitzung ohne sensible Daten und geben nur Ergebnisse zurück, die gegen ein Schema validiert wurden.

## Verwandte Konzepte

- [Human Gate (menschliche Freigabe)](https://agentnas.com/de/concepts/human-gate/): Erscheint nur vor unumkehrbaren, nach außen gerichteten oder rechteerweiternden Aktionen und zeigt den echten Diff.
- [Agent Memory (Agentengedächtnis)](https://agentnas.com/de/concepts/agent-memory/): Notizen, die Sie lesen und bearbeiten können, sind die Wahrheit. Indizes sind ein Cache, den Sie wegwerfen können.
- [Capability Lease (befristete Berechtigung)](https://agentnas.com/de/concepts/capability-lease/): Eine enge Autorisierung für eine Ausführung, mit Ablauf und Budgets. Kind-Leases können nur enger sein.

---

Kanonische URL: https://agentnas.com/de/concepts/trust-labels/
Aktualisiert am: 2026-11-11 · Spezifikationsentwurf v0.2 · CC BY 4.0
