Advanced (Aktualisiert: 19.5.2026)

Sicheres Agent Harness fur Claude Code und Codex: Rechte, Prufung und Rollback

Ein praktisches Agent Harness fur Claude Code und Codex mit Policy, Plan, Verifikation und Recovery.

Sicheres Agent Harness fur Claude Code und Codex: Rechte, Prufung und Rollback

Starke Agenten brauchen ein starkes Gelander

Am Anfang wirkt Claude Code oder Codex wie ein Prompt-Problem. Fur kleine Anderungen stimmt das. Sobald ein Agent aber Deployment, SaaS-APIs, lokale Dateien, Publishing oder E-Mail-Versand beruhrt, wird das eigentliche Problem die Ausfuhrungsstruktur.

Diese Struktur nenne ich Agent Harness: Rechte, Arbeitsplan, Verifikation, Logs und Rollback. Der Agent darf denken und Anderungen vorschlagen, aber nicht beliebige Befehle ohne Kontrolle ausfuhren.

Fur das Grundkonzept hilft zuerst der Harness-Engineering-Guide. Konkrete Risiken finden Sie in Claude Code Security Failure Cases.

User request
  |
  v
Agent
  |
  v
[1] Policy layer       Erlauben, nachfragen, verbieten
[2] Plan layer         Reihenfolge der Schritte
[3] Verification layer Erfolg maschinell prufen
[4] Recovery layer     Fehler gezielt zurucknehmen
  |
  v
Files / shell / SaaS APIs / deploy

Claude Code dokumentiert Settings, Permissions, Hooks und MCP getrennt. Gute Einstiege sind Claude Code settings, Hooks reference und MCP.

Beispiel: Artikel veroffentlichen

Ein Artikel-Publish ist kein einzelner Schritt.

1. Analytics der letzten 7 Tage lesen
2. Thema in der Nahe eines wachsenden Clusters wahlen
3. Bestehende Artikel auf Duplikate prufen
4. Ausgangsartikel schreiben
5. Alle Sprachversionen erstellen
6. Frontmatter, Slug und Links prufen
7. Build ausfuhren
8. Live-URL prufen
9. Commit und Push

Ohne expliziten Plan erledigt der Agent oft den sichtbaren Teil und vergisst Ubersetzungen, Build oder Live-Check.

SaaS: Lesen, Erzeugen und Senden trennen

Wenn ein Agent Firmen recherchiert und Outreach-Mails vorbereitet, sollten die Grenzen klar sein.

OperationAutomatischGrund
Offentliche Seiten lesenJaGeringes Risiko
Lokale CSV speichernJaPrufbar
Beispielseite erzeugenJaVor Veroffentlichung prufbar
Mail entwerfenJaNoch nicht gesendet
Mail sendenGenehmigungExterne Wirkung

Lesen und Entwerfen kann automatisch laufen. Senden, Deployen und Produktionsanderungen brauchen eine Zustimmung.

Policy layer: allow, ask, deny

Eine kleine Policy reicht fur den Start.

{
  "allowCommands": [
    "npm run build",
    "npm run test",
    "node scripts/content-trend-report.mjs"
  ],
  "askCommands": [
    "git push",
    "wrangler pages deploy",
    "node scripts/outreach-send-mails.mjs --send"
  ],
  "denyCommands": [
    "rm -rf",
    "git reset --hard",
    "curl * | sh",
    "npm publish"
  ],
  "protectedPaths": [
    ".env",
    ".env.local",
    "claudecode-lab-sheets-f54fc47c68f0.json"
  ]
}

In Claude Code kann eine Projekteinstellung ahnliche Regeln ausdrucken.

{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "permissions": {
    "allow": [
      "Bash(npm run build)",
      "Bash(npm run test *)",
      "Bash(node scripts/content-trend-report.mjs *)"
    ],
    "ask": [
      "Bash(git push *)",
      "Bash(wrangler pages deploy *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git reset --hard *)",
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./claudecode-lab-sheets-f54fc47c68f0.json)"
    ]
  }
}

Konkrete Regeln sind besser als Hinweise wie “sei vorsichtig mit Secrets”.

Verification layer: Erfolg als Befehl

Ein Build reicht nicht. Die Live-Seite, AdSense, Analytics und mobile Darstellung sollten gepruft werden.

const url = process.argv[2];
const response = await fetch(url, { redirect: "follow" });

if (!response.ok) {
  throw new Error(`Page returned ${response.status}: ${url}`);
}

const html = await response.text();
const checks = [
  ["title", /<title>.+<\/title>/i],
  ["description", /<meta name="description"/i],
  ["adsense", /ca-pub-2125588229998303/i],
  ["analytics", /G-3YR0LE68MJ/i]
];

for (const [name, pattern] of checks) {
  if (!pattern.test(html)) throw new Error(`Missing ${name}`);
}

Bei Code-Artikeln kann Playwright zusatzlich prufen, ob pre, code oder table auf Mobilbreite uberlaufen.

Recovery layer: Anderungen protokollieren

Gefahrlich ist nicht nur der Fehler. Gefahrlich ist ein Fehler ohne Anderungsprotokoll.

{
  "runId": "2026-05-19-article-001",
  "topic": "agent harness security",
  "changedFiles": [
    "site/src/content/blog/claude-code-codex-agent-harness-security.mdx"
  ],
  "commands": [
    "node scripts/content-trend-report.mjs --days 7",
    "npm run build"
  ],
  "status": "deployed"
}

In Git ist gezielte Wiederherstellung sicherer als ein grober Reset.

git status --short
git diff -- site/src/content/blog/target-article.mdx
git revert <bad-commit>

Fazit

Agentenqualitat ist nicht nur Prompt-Qualitat. In echten Workflows kommt sie aus dem Harness.

  • Policy: erlauben, fragen, blockieren
  • Plan: Schritte vor der Ausfuhrung klar machen
  • Verification: Erfolg mit Befehlen beweisen
  • Recovery: Fehler gezielt reparieren

Claude Code und Codex unterscheiden sich, aber beide brauchen dasselbe Prinzip: einen sicheren Arbeitsweg statt unbegrenzter Ausfuhrungsfreiheit.

#claude-code #codex #agent-harness #security #permissions #automation
Kostenlos

Kostenloses PDF: Claude-Code-Spickzettel in 5 Minuten

Trag einfach deine E-Mail-Adresse ein – wir senden dir den A4-Spickzettel als PDF sofort zu.

Wir behandeln deine Daten sorgfältig und senden niemals Spam.

Masa

Über den Autor

Masa

Ingenieur, der Claude Code intensiv nutzt. Betreibt claudecode-lab.com, ein Tech-Medium in 10 Sprachen mit über 2.000 Seiten.