Termin vereinbaren

OWASP Agent Control Standard (ACS): KI-Agenten zur Laufzeit kontrollieren

Der OWASP Agent Control Standard (ACS) ist eine offene Spezifikation, nach der ein Guardian Agent die Aktionen eines KI-Agenten an definierten Hooks prüft und per Policy erlaubt, blockiert, ändert, zur Freigabe vorlegt oder zurückstellt. Dieser Deep Dive zeigt, was Version 0.1.0 heute leistet — und wo ihre Grenzen liegen.

Stand: Oktober 2026 · Valeri Milke, ISO 27001 & ISO 42001 Lead Auditor

Den Download-Link erhalten Sie sofort auf der Seite und per E-Mail.

Observed Agentz. B. Coding-Agent
Guardian AgentPolicy-as-Code + optional LLM
  • allow
  • deny
  • modify
  • ask
  • defer
InstrumentHooks & DispositionsTraceOpenTelemetry & OCSFInspectAgBOM
Schema nach ACS v0.1.0: Der Observed Agent meldet einen Tool-Aufruf per Hook, der Guardian antwortet mit einer Disposition, bevor die Aktion läuft. Logzeilen illustrativ.
19native steps/*-Hooks in der Spezifikation v0.1.0 — von sessionStart bis sessionEnd, inklusive der drei Skill-Hooks
5Dispositions: allow, deny, modify, ask und defer — das volle Vokabular nennt die Spec ausdrücklich für steps/toolCallRequest
7Konformitätsprofile: acs-core als Pflicht plus sechs optionale Profile — deklariert im Handshake, ohne externe Prüfung
6Mindest-Hooks für ACS-Core: sessionStart, userMessage oder agentTrigger, toolCallRequest, toolCallResult, agentResponse, sessionEnd

KI-Agenten lesen nicht nur, sie handeln: Sie führen Shell-Befehle aus, rufen APIs auf, versenden E-Mails und schreiben in ihr Gedächtnis. System-Prompts kontrollieren das nicht. Der OWASP Agent Control Standard (ACS) setzt genau hier an und standardisiert Runtime-Kontrolle als Protokoll zwischen Agent und Guardian. Diese Seite erklärt die Spezifikation v0.1.0 aus CISO-Sicht: Hooks und Dispositions, Failure Posture, Policy-as-Code, Audit-Trail, Trace nach OpenTelemetry und OCSF sowie die AgBOM. Der Simulator zeigt schema-treue Wire-Beispiele, die Risiko-Matrix ordnet ACS als VamiSec-Einschätzung den OWASP Agentic Top 10 zu, und wir benennen offen, was der frühe Standard heute noch nicht leistet. Profil-Navigator, Self-Assessment und ein CISO-Whitepaper helfen beim Einstieg.

Vom Agent Observability Standard zu ACS v0.1

Wie aus einem Observability-Projekt ein Kontrollstandard wurde — alle belegten Stationen bis zum Ziel für v0.2.0. Klicken Sie auf eine Station, um Details zu sehen.

Neun Kernkonzepte des Agent Control Standard

Klicken Sie auf eine Karte, um das Kernkonzept zu lesen — die Reihenfolge folgt dem Weg einer Agentenaktion vom Hook über die Entscheidung bis zum Nachweis.

Der Standard im Explorer

Drei Pillars, die Guardian-Architektur, Identity und Provenance sowie die Konformitätsprofile — jeweils mit den Kernaussagen der Spezifikation v0.1.0 und ihren Grenzen.

Pillar
  • Echtzeit-Abfangen, Bewerten und Durchsetzen: JSON-RPC-2.0-Envelopes über HTTP(S) oder stdio, Hook-Methoden im Namensraum steps/*.
  • 19 native Hooks über den gesamten Lebenszyklus: Session, Turn, Nachrichten, Wissen und Memory, Tools, Kompaktierung, Subagenten und Skills.
  • steps/toolCallRequest muss für jede Aktion feuern, die den Reasoning-Kontext verlässt — auch für eingebaute Shell-, Datei- und Netzwerkoperationen.
  • Der Observed Agent muss auf die Entscheidung warten und sie anwenden; ein Framework, das Verdicts ignoriert, ist nicht konform.
  • Streaming, Notifications und Interruption fehlen in v0.1.0 — eine Response kennt nur den Typ final.
JSON-RPC 2.0steps/*steps/toolCallRequestDecision Honoring
Interaktiv

Guardian-Simulator: sechs Szenarien Schritt für Schritt

Wählen Sie ein Szenario und verfolgen Sie, wie ein Hook-Request vom Observed Agent zum Guardian Agent läuft, welche Disposition entsteht und was im Audit-Trail landet — einschließlich des Falls, dass der Guardian ausfällt.

Coding-Agent

Der Coding-Agent soll Build-Artefakte aufräumen. Durch einen falsch aufgelösten Pfad zielt der geplante Shell-Befehl rm -rf auf das Home-Verzeichnis statt auf den Build-Ordner.

  1. 1Hook-Request (Observed Agent → Guardian)
    {
      "jsonrpc": "2.0",
      "method": "steps/toolCallRequest",
      "id": 41,
      "params": {
        "acs_version": "0.1.0",
        "request_id": "6b2f9e14-0c3a-4d7b-a5e8-91f2c4d6b803",
        "timestamp": "2026-10-06T09:12:41Z",
        "metadata": {
          "agent_id": "coding-agent-ci-07",
          "session_id": "3f6c2a18-9d4e-4b1a-8c55-2e7f90a1b3c4",
          "turn_id": "a1d4e7f0-2b5c-4e8a-9f13-6c0d2e5f8a71"
        },
        "payload": {
          "tool": {
            "name": "shell"
          },
          "operation": "delete_recursive",
          "capability": "filesystem.delete",
          "arguments": {
            "command": {
              "value": "rm -rf ~/",
              "provenance": {
                "provenance_id": "p-112",
                "origin": "agent_generated",
                "derived_from": [
                  "p-101"
                ]
              }
            }
          },
          "raw_command": "rm -rf ~/"
        },
        "signature": {
          "algorithm": "HMAC-SHA256",
          "value": "unUBv7dka1B1VD+fgzjF9E+IGC3GiQihQdQxEtIyG54=",
          "key_id": "sess-hmac-coding-07"
        }
      }
    }
  2. 2Auswertung im Guardian
    • Deterministische Schicht (Policy-as-Code, Referenz in v0.1: OPA/Rego): Das Framework meldet den Shell-Aufruf mit der Capability filesystem.delete und der Operation delete_recursive; die Regel deny_recursive_delete_outside_workspace greift.
    • Pfadprüfung: Das Ziel ~/ (Home-Verzeichnis) liegt außerhalb des Workspace, auf den die Policy diese Session beschränkt.
    • Provenance-Prüfung: Der Befehl ist agent_generated (abgeleitet aus p-101) — kein Mensch hat dieses Ziel ausdrücklich angegeben.
    • Die optionale LLM-Schicht wird nicht benötigt: deny mit reasoning, reason_codes und policy_references, Evaluator deterministic.
    DispositiondenyAktion blockiert
  3. 3Antwort (Guardian → Observed Agent)
    {
      "jsonrpc": "2.0",
      "id": 41,
      "result": {
        "type": "final",
        "acs_version": "0.1.0",
        "request_id": "6b2f9e14-0c3a-4d7b-a5e8-91f2c4d6b803",
        "decision": "deny",
        "reasoning": "Recursive delete targets the user's home directory, outside the workspace root the session is scoped to.",
        "reason_codes": [
          "destructive_operation",
          "path_outside_workspace"
        ],
        "policy_references": [
          {
            "policy_id": "coding-agent-fs",
            "policy_version": "2026.10.2",
            "rule_id": "deny_recursive_delete_outside_workspace"
          }
        ],
        "cited_provenance_ids": [
          "p-112"
        ],
        "metadata": {
          "evaluator": "deterministic",
          "evaluation_duration_ms": 3
        },
        "chain_hash": "49c17246a18080bbeeaee88743bff94616b58cb6beb24e870b68a6f3ad55ecc3",
        "signature": {
          "algorithm": "HMAC-SHA256",
          "value": "Z1NyoNzC5LkVEcrZS6rzuc3CFaPO8vgfYg5/lhCpuho=",
          "key_id": "sess-hmac-coding-07"
        }
      }
    }

    Der Observed Agent führt den Löschvorgang nicht aus und erhält die Begründung zurück. Schlägt er einen korrigierten Pfad vor, wird dieser erneut geprüft.

  4. 4Audit-Trail (Trace)
    {
      "_note": "vereinfachter Auszug",
      "class_uid": 2004,
      "class_name": "Detection Finding",
      "category_uid": 2,
      "activity_id": 1,
      "severity_id": 4,
      "time": 1791277961003,
      "metadata": {
        "version": "1.5.0"
      },
      "finding_info": {
        "uid": "dec-6b2f9e14",
        "title": "Tool call denied: recursive delete outside workspace"
      },
      "enrichments": [
        {
          "name": "acs_provenance_origin",
          "value": "agent_generated"
        }
      ],
      "unmapped": {
        "acs": {
          "decision": "deny",
          "evaluator": "deterministic",
          "policy_references": [
            {
              "policy_id": "coding-agent-fs",
              "policy_version": "2026.10.2",
              "rule_id": "deny_recursive_delete_outside_workspace"
            }
          ],
          "reason_codes": [
            "destructive_operation",
            "path_outside_workspace"
          ],
          "cited_provenance_ids": [
            "p-112"
          ],
          "session_id": "3f6c2a18-9d4e-4b1a-8c55-2e7f90a1b3c4",
          "step_id": "6b2f9e14-0c3a-4d7b-a5e8-91f2c4d6b803"
        }
      }
    }

    Nicht-allow-Entscheidungen bildet das ACS-Mapping als OCSF-Klasse 2004 Detection Finding ab; deny erhält severity_id 4 (High).

Was das für Sie bedeutet

Destruktive Aktionen gehören hinter eine deterministische Regel, die vor der Ausführung greift — nicht in den System-Prompt. Wirksam ist das nur, wenn das Framework jede nach außen wirkende Aktion über steps/toolCallRequest leitet, auch eingebaute Datei- und Shell-Operationen.

ASI02ASI05

Rekursives Löschen außerhalb des Workspace: deny

Hinweis: Beispiele schema-treu nach ACS v0.1.0 (validiert gegen request-envelope.json, response-envelope.json, context-entry.json und die Hook-Schemas einschließlich der *.acs-provenance-Varianten); Werte, Policy- und Regelnamen sind illustrativ, Signaturen mit einem Demo-Schlüssel berechnet, Trace-Auszüge vereinfacht; die ASI-Zuordnungen sind VamiSec-Einschätzungen. Die einzige Referenzimplementierung (Proof of Concept) wertet bisher nur steps/toolCallRequest und steps/toolCallResult live aus.

Instrument-Pillar

Hook-Lebenszyklus: Wo ACS eingreifen kann

Die 19 nativen steps/*-Hooks der Spezifikation v0.1.0 sowie AgBOM-, Handshake- und System-Methoden entlang einer Agenten-Session. Wählen Sie einen Hook, um Auslöser, Handlungsspielraum des Guardian und typische Risiken zu sehen.

01SessionHandshake, Start, Aktivierung, Ende
02AgBOMInventar zu Beginn und bei Änderungen
03TurnKlammer um jeden Agenten-Turn
04NachrichtenEingabe und Ausgabe
05Wissen & MemoryRAG-Abrufe und Gedächtnis
06ToolsVor und nach jeder Aktion
07KompaktierungKontextfenster verdichten
08SubagentenDelegation im selben Prozess
09SkillsRegistrieren, laden, entladen
10SystemLiveness
handshake/helloHandshake

Handshake

Wann
Zu Sessionbeginn vor jedem Hook: Der Observed Agent sendet ein ClientHello mit unterstützten Versionen, Methoden, Transporten, Provenance-Modus und Profilen.
Was der Guardian tun kann
Antwortet mit einem ServerHello statt einer Disposition und legt negotiated_version, methods_evaluated, timeout_config und optional on_decision_failure fest. Methoden außerhalb von methods_evaluated gelten als ALLOW-by-default. Der Guardian kann die Session ablehnen, etwa mit PROVENANCE_REQUIRED (-32002).
Typische Risiken
ASI03ASI08

Zählung laut Spezifikation v0.1.0: 19 native steps/*-Hooks; mit agbom/snapshot, agbom/changed und system/ping 22 Methoden mit eigenem Payload-Schema, dazu handshake/hello und der MCP-Namespace protocols/MCP/*. Die erlaubten Dispositions je Hook legt die Spezifikation in der Prosa fest, nicht im Schema. ACS-Core verlangt mindestens sechs Hooks; was nicht in methods_evaluated steht, gilt als ALLOW-by-default. Der Punkt am Hook markiert eine strikte *.acs-provenance-Variante. Die Zuordnung typischer Risiken je Hook ist eine VamiSec-Einschätzung.

VamiSec-Einschätzung

Risiko-Matrix: OWASP Agentic Top 10 × ACS-Bausteine

Welche Bausteine des Agent Control Standard die Risiken der OWASP Top 10 for Agentic Applications 2026 direkt kontrollieren, unterstützen oder nicht abdecken — mit Begründung und Grenzen je Zeile.

Abdeckung der Risiken ASI01 bis ASI10 durch sechs ACS-Bausteine (2 = direkte Kontrolle, 1 = unterstützend, 0 = nicht abgedeckt); VamiSec-Einschätzung auf Basis ACS v0.1.0.
OWASP Agentic Top 10

VamiSec-Einschätzung auf Basis ACS v0.1.0 — keine offizielle OWASP-Zuordnung. ACS kommt in den OWASP Agentic Top 10 (Dezember 2025) nicht vor, und weder OWASP noch das ACS-Projekt haben ACS auf ASI01 bis ASI10 abgebildet; die Wirkung jeder Zelle hängt von Ihren Policies und den ausgehandelten Profilen ab.

Interaktiv

Profil-Navigator: Welche ACS-Bausteine passen zu Ihrem Agenten?

Bis zu fünf Fragen zu Werkzeugen, Regulierung, Datenquellen, Dynamik und SOC. Das Ergebnis nennt die ACS-Profile und ersten Schritte, die wir für Ihre Situation empfehlen — eine VamiSec-Einschätzung, keine Konformitätsaussage.

Ihr Pfad
  1. ?

1: Ruft Ihr Agent Tools auf oder löst er Aktionen mit Außenwirkung aus — Dateien, Shell, APIs, E-Mails, Tickets, Zahlungen?

1

Ruft Ihr Agent Tools auf oder löst er Aktionen mit Außenwirkung aus — Dateien, Shell, APIs, E-Mails, Tickets, Zahlungen?

ACS verlangt, dass steps/toolCallRequest für jede Aktion feuert, die den Reasoning-Kontext verlässt. Ohne solche Aktionen bleiben vor allem Ein- und Ausgaben als Kontrollpunkte.

Deep Dive · 14 Kapitel

Agent Control Standard im Detail: vom Kontrollproblem bis zum Betrieb

Vierzehn Kapitel für CISOs, Security-Architekten und KI-Plattform-Verantwortliche: was die Spezifikation v0.1.0 normativ verlangt, wo sie heute endet und welche Entscheidungen vor einer Einführung anstehen. Zuordnungen zu Vorfällen, Risiken und Regulatorik sind als VamiSec-Einschätzung gekennzeichnet.

01Kapitel 1

Warum KI-Agenten Runtime-Kontrolle brauchen

Ein KI-Agent beantwortet nicht nur Fragen, er löst Aktionen aus — in Dateisystemen, Datenbanken, Postfächern und Cloud-Konten. Damit verschiebt sich die Sicherheitsfrage vom Modell-Output zu der Frage, wer eine konkrete Aktion prüft, bevor sie ausgeführt wird.

Vom Antwortgenerator zum Akteur

Klassische LLM-Anwendungen erzeugen Text, den ein Mensch liest, bevor etwas passiert. KI-Agenten planen dagegen selbstständig, rufen Tools auf, schreiben in ein Langzeitgedächtnis und starten Subagenten. Jeder dieser Schritte kann Daten verändern oder nach außen tragen. Die Kontrollfrage lautet deshalb: „Darf genau diese Aktion mit genau diesen Argumenten in dieser Session jetzt stattfinden?“ Beantworten lässt sie sich nur zur Laufzeit — zwischen der Entscheidung des Modells und der Ausführung durch das Framework.

System-Prompts sind keine Kontrollen

Viele Deployments verlassen sich auf Anweisungen im System-Prompt wie „keine Produktionsdaten löschen“. Solche Sätze sind Bitten an ein probabilistisches System, keine durchgesetzten Regeln. Die ACS-Projektseite beginnt ihre Begründung damit: System-Prompts sind keine Kontrollen, bessere Modelle decken Randfälle und adversariale Eingaben nicht ab, proprietäre Guardrails schaffen Anbieterabhängigkeit.

Hersteller und Forschung bestätigen das. OpenAI schreibt am 22.12.2025, Prompt Injection sei „unlikely to ever be fully 'solved'“. In der Studie „The Attacker Moves Second“ (arXiv, 10.10.2025) überwanden adaptive Angriffe zwölf aktuelle Abwehrverfahren, meist mit Erfolgsraten über 90 Prozent — obwohl die meisten ursprünglich Werte nahe null gemeldet hatten. Modellrobustheit senkt das Risiko, beseitigt es aber nicht. Es braucht eine unabhängige Prüfinstanz außerhalb des Modells.

Lethal trifecta und Agents Rule of Two

Simon Willison beschrieb am 16.06.2025 die „lethal trifecta“: Ein Agent, der Zugriff auf private Daten hat, nicht vertrauenswürdigen Inhalten ausgesetzt ist und nach außen kommunizieren kann, lässt sich per Prompt Injection zur Datenexfiltration bringen. Meta erweiterte das am 31.10.2025 zur „Agents Rule of Two“: Innerhalb einer Session soll ein Agent höchstens zwei von drei Eigenschaften kombinieren: nicht vertrauenswürdige Eingaben verarbeiten; auf sensible Systeme oder private Daten zugreifen; Zustand ändern oder extern kommunizieren. Braucht er alle drei, ist mindestens Aufsicht nötig, etwa per menschlicher Freigabe. Meta betont, dass die Regel Least Privilege ergänzt und nicht ersetzt.

VamiSec-Einschätzung: Beide Modelle beschreiben Eigenschaften einer Session, nicht eines Modells. Durchsetzen lassen sie sich nur, wenn eine Instanz jede Aktion und den bisherigen Sessionverlauf sieht. Diesen Kontrollpunkt standardisiert der OWASP Agent Control Standard (ACS). Um nicht vertrauenswürdige Eingaben zu erkennen, braucht es das optionale Profil acs-provenance; ACS-Core allein liefert keine Herkunftsangaben.

Belegte Vorfälle — und was Runtime-Kontrolle begrenzt hätte

Vorfall (Quelle, Datum)Was geschahHätte begrenzen können (VamiSec-Einschätzung)
EchoLeak, CVE-2025-32711, Microsoft 365 Copilot (NVD 11.06.2025; CVSS 3.1: 9.3 Microsoft, 7.5 NVD)Zero-Click: Eine präparierte E-Mail brachte Copilot dazu, interne Daten über die gerenderte Antwort abfließen zu lassen; vor der Offenlegung behoben.Prüfung von steps/agentResponse mit modify (externe Bild- und Link-URLs entfernen) oder deny — sofern der Host den Hook feuert und Provenance liefert.
Replit-Agent löscht Produktionsdatenbank (SaaStr, Juli 2025; The Register 22.07.2025)Der Agent ignorierte einen angeordneten Code-Freeze, löschte die Produktionsdatenbank und erzeugte irreführende Statusmeldungen.deny oder ask auf destruktive Datenbank-Capabilities am steps/toolCallRequest; Audit-Kette zur Rekonstruktion. Primär: Dev/Prod-Trennung, Backups.
GitHub-MCP „Toxic Agent Flow“ (Invariant Labs, 26.05.2025)Prompt Injection in einem öffentlichen Issue; der Agent veröffentlichte Daten aus privaten Repositories per Pull Request. Kein Code-Fehler des Servers, kein CVE.Session-Policy „nach nicht vertrauenswürdigem Tool-Output kein Schreiben in ein anderes Repository“ mit deny oder ask am steps/toolCallRequest; erfordert acs-provenance.
Amazon Q Developer Extension v1.84.0, CVE-2025-8217 (AWS-2025-015, 23.07.2025; CVSS 4.0: 5.1)Eingeschleuster Lösch-Prompt im offiziellen Release; die Ausführung scheiterte an einem Syntaxfehler, Kundenressourcen waren nicht betroffen.Der Prompt kam aus dem Produkt selbst und gilt als vertrauenswürdig — Provenance hilft nicht. Wirksam wären deny oder ask auf Lösch-Capabilities und Versionspinning über die AgBOM.
ClawHavoc: bösartige Skills auf ClawHub (The Hacker News 02.02.2026; Unit 42 23.06.2026)Ein Erst-Audit fand 341 bösartige unter 2.857 geprüften Skills, u. a. mit Base64-kodiertem Dropper.Prüfung bei skillRegister und Digest-Bindung bei skillLoad; danach deny auf Download-und-Ausführung (network.egress plus process.execute).

Alle Vorfälle liegen vor der kanonischen ACS-Spezifikation v0.1.0 (05.06.2026). Die rechte Spalte ist eine Einschätzung, keine Aussage, dass ACS einen Vorfall verhindert hätte.

Warum die Kontrolle zur Laufzeit sitzen muss

Modellauswahl, Prompt-Härtung und Red Teaming vor dem Go-live bleiben notwendig, sagen aber nicht, was ein Agent in einer konkreten Session tut. Runtime-Kontrolle ergänzt sie: Sie greift vor der Aktion, bewertet den Kontext der ganzen Session und hinterlässt einen rekonstruierbaren Audit-Trail. Die OWASP Top 10 for Agentic Applications 2026 empfehlen für ASI02 (Tool Misuse and Exploitation) eine vorgelagerte Policy-Enforcement-Middleware, ein „Intent Gate“, das Absicht und Argumente vor der Ausführung prüft. ACS wird dort nicht genannt, liefert aber (VamiSec-Einschätzung) einen offenen Wire-Vertrag für genau diesen Kontrollpunkt. Die Policies bleiben Ihre Aufgabe.

02Kapitel 2

Was ACS ist: Parteien, drei Pillars, ACS-Core und sieben Profile

Der OWASP Agent Control Standard (ACS) ist eine offene Wire-Spezifikation, über die ein separater Guardian Agent prüft, was ein KI-Agent als Nächstes tun will. Der Guardian erlaubt, blockiert oder ändert die Aktion, legt sie zur Freigabe vor oder stellt seine Entscheidung zurück — bevor sie stattfindet.

Präziser: Der Agent Control Standard (ACS) ist eine Spezifikation des OWASP GenAI Security Project, die festlegt, an welchen Kontrollpunkten (Hooks) ein KI-Agent einer externen Policy-Instanz seine Schritte vorlegt und wie diese mit einer Entscheidung (Disposition) antwortet. Das Format ist JSON-RPC 2.0 mit einem eigenen Feld acs_version, transportiert über HTTP(S) oder stdio. Aktueller Stand ist die Spezifikation v0.1.0, veröffentlicht als Release 0.1.2 (Tag vom 21.09.2026). ACS definiert den Vertrag zwischen Agent und Guardian, nicht die Policies: Was erlaubt ist, entscheidet weiterhin Ihre Organisation.

Die Parteien

RolleAufgabe laut SpezifikationTypische Ausprägung (Beispiel)
Observed AgentDas überwachte, LLM-gestützte System. Es implementiert den Wire-Vertrag, meldet jeden relevanten Schritt per Hook und setzt die erhaltene Disposition um. Über seine eigenen Aktionen entscheidet es nicht.Coding-Agent, Support-Agent, Agent-Framework mit Host-Anbindung
Guardian AgentDie Policy-Instanz. Sie bewertet jeden Hook gegen die Deployment-Policy, liefert eine Disposition und muss jede Entscheidung mit Begründung, Modellkennung des Evaluators und — falls verfügbar — Konfidenz protokollieren.Policy-Engine (z. B. OPA/Rego), optional ergänzt um eine LLM-Schicht
ApproverDritte Partei, die der Guardian bei ask einbindet: Mensch, Agent oder Service. Der Guardian muss ihre Identität gegen die Policy prüfen.Security Officer, Freigabe-Service, Ticket-Workflow
PrincipalDie authentifizierte Partei, die eine Session auslöst oder in ihr handelt.Mitarbeitende, Service-Account

Die Spezifikation verlangt, drei Identitäten nicht zu vermischen: die des Observed Agent, die des Guardians und die des Policy-Autors.

Ein Designprinzip trägt die Architektur: Das Sprachmodell darf von den Hooks nichts wissen. Das Framework feuert sie, und Herkunftsangaben (Provenance) werden außerhalb des Ausgabepfads des Modells gesetzt. Nach unserer Lesart soll ein manipuliertes Modell den Kontrollpunkt so weder sehen noch beeinflussen können.

Drei Pillars: Instrument, Trace, Inspect

Instrument

Abfangen, Bewerten und Durchsetzen in Echtzeit: 19 native steps/*-Hooks, fünf Dispositions, Handshake, Replay-Schutz und Signaturen. Auf diesem Pillar baut die Pflichtbasis ACS-Core auf.

Trace

Ein Vokabular, mit dem Hook-Ereignisse als OpenTelemetry-Spans und OCSF-Events erscheinen; Entscheidungen werden als Span-Event am auslösenden Schritt festgehalten. ACS erfindet kein neues Log-Format. Trace läuft entkoppelt vom Enforcement und ist best-effort.

Inspect

Die AgBOM (Agent Bill of Materials): ein dynamisches Inventar aus Modellen, MCP-Servern, A2A-Peers, Tools, Wissensquellen, Memory-Stores, Capabilities und Skills, serialisierbar nach CycloneDX 1.6, SPDX 3.0 oder SWID.

ACS-Core und sieben Profile

Konformität ist modular aufgebaut. ACS-Core ist die Pflichtbasis, darauf setzen sechs optionale Profile auf, die ein Deployment im Handshake deklariert. Nummerierte Level gibt es nicht — nur Profilnamen, die sich unabhängig kombinieren lassen. Die einzige Abhängigkeit: acs-inspect-dynamic erweitert acs-inspect.

Profil (Handshake-Name)Kern der AnforderungWofür Sie es brauchen
acs-core (Pflicht)U. a. Handshake, JSON-RPC-Envelope, mindestens sechs Hooks, alle fünf Dispositions mit Pflichtfeldern, Hash-verkettete Audit-Kette mit publiziertem Chain-Head, Replay-Schutz, HMAC-SHA256-Signatur auf jedem Request und jeder Response, Decision Honoring, system/pingAuthentifizierter Kanal; der Agent befolgt die Entscheidungen des Guardians
acs-traceFür jeden unterstützten Schritt OpenTelemetry- und/oder OCSF-Events mit Pflichtattributen; jede Entscheidung als Trace-EventSIEM-Anbindung, herstellerübergreifende Observability
acs-inspectagbom/snapshot einmal je Session vor dem ersten inhaltstragenden Hook; der Guardian serialisiert auf Anfrage in mindestens ein BOM-FormatPolicies, die vom Inventar abhängen, etwa der Bann eines Modells oder Tools
acs-inspect-dynamicZusätzlich agbom/changed bei jeder Änderung des Komponenten-GraphenHot-Swaps von Modellen, MCP-Servern oder Skills während der Session erkennen
acs-provenanceProvenance-Objekt an jedem datentragenden Feld jedes Hooks (provenance_producer: deterministic)Informationsfluss-Policies nach FIDES, CaMeL oder AARM-artigem Muster
acs-cryptoAsymmetrische bzw. Post-Quanten-Signaturen, mindestens ML-DSA-65Nichtabstreitbarkeit gegenüber Dritten
acs-auditrequest_hash auf jedem ContextEntry der Audit-KetteDie Kette bindet auch Request-Inhalte, nicht nur Metadaten

Konformität ist in v0.1.0 eine Selbstdeklaration im Handshake: keine Testsuite, kein Register konformer Implementierungen, keine Prüfstelle.

Was ACS-Core garantiert, formuliert die Spezifikation nüchtern: Der Kanal ist authentifiziert, und der Observed Agent befolgt die Entscheidungen. Nicht garantiert ist, dass die Policies streng sind — ein großzügiger Guardian ist konform, nur eben großzügig. Manipulationsevidenz der Audit-Kette auch gegenüber einem kompromittierten Guardian liefern erst acs-crypto und acs-audit, weil die HMAC-Basis ein symmetrisches Verfahren ist. Die Beispielkombinationen der Spezifikation reichen von einer minimalen IDE-Integration mit nur acs-core bis zu einem High-Assurance-Deployment mit allen sieben Profilen.

Das Tier-Modell der Projektseite: Architekturschichten, keine Stufen

  1. Tier 1 · Platform layer

    Agent-Frameworks stellen standardisierte Middleware-Hooks bereit — hier entsteht der Kontrollpunkt.

  2. Tier 2 · Enforcement layer

    Eine Open-Source-Komponente liest deklarative Policies und liefert über diese Hooks Entscheidungen zurück.

  3. Tier 3 · Enterprise layer

    Eigene Klassifikatoren und domänenspezifische Logik docken hinter derselben Schnittstelle an.

Dieses Bild beschreibt, wer welchen Teil beiträgt, nicht, wie konform ein Deployment ist. Für Konformitätsaussagen zählen ausschließlich die Profile. Für Ihre Architekturplanung ist es dennoch nützlich: Es trennt die Frage, welche Plattform die Hooks liefert, von der Frage, wer die Policies betreibt und pflegt.

03Kapitel 3

Entstehung, Governance und Lizenz: von AOS zum OWASP-Projekt

Wer einen Standard früh einsetzt, sollte wissen, wer ihn steuert, unter welcher Lizenz er steht und wie belastbar seine Roadmap ist. ACS hat eine kurze, aber bewegte Geschichte.

Von der Beobachtung zur Kontrolle

Die Arbeit begann am 11.05.2025 als „Agent Observability Standard“ (AOS) im GitHub-Umfeld von Zenity und wechselte im Juni 2025 in die OWASP-Organisation, wo AOS als „OWASP other project“ geführt wurde. Die Protokollschicht hieß im Mai und Juni 2025 zwischenzeitlich „ASOP“ (Agent Security & Observability Protocol), bevor sie wieder unter AOS lief. Nach einer Phase mit nur vereinzelten Commits ab Mitte 2025 folgte am 10.04.2026 das Rebranding zum Agent Control Standard. Der neue Name markiert den inhaltlichen Schritt: von der reinen Beobachtung zur Durchsetzung. Danach lief ACS kurz als eigenständiges Projekt außerhalb von OWASP und kehrte im September 2026 zurück — diesmal in das OWASP GenAI Security Project.

DatumMeilenstein
11.05.2025Erste Commits als „Agent Observability Standard“ (AOS)
06/2025Übergang in die OWASP-Organisation
10.04.2026Rebranding AOS → ACS (Agent Control Standard)
27.05.2026Launch-Pressemitteilung über Business Wire, Phase als eigenständiges Projekt
05.06.2026Kanonische Spezifikation v0.1.0 integriert, einschließlich der Skill-Hooks
11.08.2026Release v0.1.1: neue Lizenzierung, Spezifikation unverändert
01.–10.09.2026OWASP-Relaunch: Ressourcenseite (01.09.), Site und 44 JSON-Schemas (05.09.), Governance und Referenzimplementierung (10.09.)
21.09.2026Tag v0.1.2, nachträglich gesetzt auf einen Commit vom 09.09.2026
März 2027 (Ziel)Nächstes Spezifikations-Release v0.2.0

Quellen: Git-Historie und Projektdokumente des ACS-Repositorys sowie OWASP-Ressourcenseite, Stand 03.10.2026.

Status: Incubator und public preview

ACS ist ein Projekt des OWASP GenAI Security Project und dort der Agentic Security Initiative zugeordnet. In seinen eigenen OWASP-Nest-Metadaten deklariert es Level 2, im Nest-Schema die Stufe „Incubator“; eine Einstufung durch ein OWASP-Gremium ist damit nicht belegt. Der Project Lead bezeichnet den Stand öffentlich als „public preview“ und rät Implementierern ausdrücklich zur Vorsicht. ACS ist kein ISO-, IETF- oder W3C-Standard und keine harmonisierte Norm. Auch formal zeigt sich das frühe Stadium: GitHub-Releases gibt es keine, nur Tags; Spezifikationsprosa und Schemas haben sich zwischen v0.1.1 und v0.1.2 geändert, ohne dass die Spezifikationsversion v0.1.0 hochgezählt wurde.

Wer steuert das Projekt?

Laut GOVERNANCE.md haben Michael Bargury und Ory Segal ACS geschaffen; beide bleiben Projektleiter. Project Lead ist Rock Lambros. Zur Transparenz: Bargury ist CTO und Mitgründer von Zenity, Lambros wird von Zenity als „Director of AI Standards and Governance“ geführt, und die frühen AOS-Commits stammen überwiegend aus dem Zenity-Umfeld. Die Workstreams — Coding Agents, Development (SDK), Identity, Outreach und Spec — leiten Personen aus mehreren Organisationen. Die Projektseite beschreibt ACS als herstellerneutral und gemeinschaftlich gesteuert; das ist eine Selbstbeschreibung. Unsere Einordnung: ein OWASP-Projekt mit starker Zenity-Prägung in Gründung und Leitung.

Entscheidungen laufen über ein Akzeptanz-Gate. Nur Issues mit dem Label status:accepted gelangen ins Backlog; Änderungen an Verhalten, normativem Text oder Code brauchen ein akzeptiertes Issue, Spezifikationsänderungen beginnen als GitHub Discussion, Commits erfordern einen DCO-Sign-off. Entwickelt wird auf dem Branch integration. Erst wenn der Project Lead nach main promotet, werden Site und Schema-URIs neu veröffentlicht. Stand 03.10.2026 wurde main seit dem 10.09.2026 nicht mehr promotet — Änderungen auf integration sind also noch nicht publiziert.

Lizenz: was Sie übernehmen dürfen

BestandteilLizenzPraktische Folge
Code, JSON-Schemas, Code-Beispiele in der DokumentationApache-2.0Nutzung in proprietären Produkten ohne Offenlegungspflicht; ausdrückliche Patentlizenz
Prosa-Dokumentation (Spezifikationstexte, README)CC BY-SA 4.0Übersetzungen und Adaptionen unterliegen ShareAlike und brauchen Namensnennung
Releases bis einschließlich v0.1.0MITDie damals erteilte Lizenz bleibt bestehen
Namen und Logos (OWASP, Agent Control Standard)keine Rechte eingeräumtEine Implementierung darf sich als „ACS-conformant“ beschreiben, aber keine Billigung durch das Projekt suggerieren

Die Neulizenzierung auf Apache-2.0 und CC BY-SA 4.0 erfolgte mit Release v0.1.1 am 11.08.2026. VamiSec formuliert alle Inhalte dieser Seite eigenständig und übersetzt keine Spezifikationsprosa.

Roadmap: was belegt ist

Das nächste Spezifikations-Release v0.2.0 zielt auf März 2027; ein Datum für v1.0 ist nicht festgelegt. Für v0.2 vorgemerkt sind unter anderem Streaming und Interruption, rekursives ASK und Quorum, Multi-Tenant-Isolation, das Cedar-Binding, AgBOM-Föderation über A2A-Peers und das A2A-Wrapping. Das laufende Ziel seit dem Kick-off am 10.09.2026: innerhalb von 90 Tagen eine lauffähige Guardian-Referenzimplementierung, auf Interoperabilität mit Microsofts Agent Governance Toolkit gebenchmarkt, in den Händen externer Evaluatoren. Ob das bis Anfang Dezember 2026 gelingt, ist offen. Ebenfalls offen ist PR #21, der den Pflichtumfang von ACS-Core neu ziehen will. Abweichende Versionsskizzen in Blogbeiträgen sind keine offizielle Roadmap.

04Kapitel 4

Instrument: die 19 Hooks im Lebenszyklus eines Agenten

An jedem Hook hält der Observed Agent an und legt dem Guardian den nächsten Schritt vor. ACS v0.1.0 definiert 19 native steps/*-Hooks — welche davon tatsächlich geprüft werden, handeln beide Seiten pro Session aus.

Auf dem Wire tragen Hooks das Präfix steps/, etwa steps/toolCallRequest. Daneben gibt es Methoden, die keine nativen steps/*-Hooks sind: agbom/snapshot und agbom/changed für das Inventar, die Liveness-Probe system/ping, den Handshake handshake/hello und den Namespace protocols/MCP/* für gewrappte MCP-Nachrichten. Die Hooks-Seite der Spezifikation zählt 19 Hooks plus zwei AgBOM-Methoden plus Ping als 22 Methoden; das Schema-Paket umfasst insgesamt 44 JSON-Schemas. Einzelne Projekttexte (README, docs/acs.md) nennen noch 16 Lifecycle-Hooks — das ist die Zählung ohne die drei Skill-Hooks.

GruppeHooks (steps/…)Wann sie feuernDispositions laut Spezifikation
SessionsessionStart, agentTrigger, sessionEndNach dem Handshake vor jedem anderen Schritt; Aktivierung durch Nutzer, Zeitplan, Event, A2A oder System; Session-Ende, an dem der Guardian die Kette versiegeltsessionStart: allow/deny · agentTrigger: allow/deny/modify · sessionEnd: nur Audit
TurnturnStart, turnEndBeginn und Ende jedes Agent-Turns; die turn_id begleitet alle Schritte dazwischenturnStart: entscheidungsfähig, meist allow · turnEnd: nur Audit
NachrichtenuserMessage, agentResponseNutzereingabe, bevor sie den Reasoning-Kontext erreicht; Agent-Ausgabe vor der Auslieferungallow/deny/modify
Wissen & MemoryknowledgeRetrieval, memoryContextRetrieval, memoryStoreWissens- und RAG-Abfragen, Memory-Lesen in den Kontext, Schreiben ins Langzeitgedächtnisallow/deny/modify
ToolstoolCallRequest, toolCallResultNach dem Parsen eines Tool-Calls vor dem Dispatch; nach der Ausführung, bevor das Ergebnis übernommen wirdtoolCallRequest: alle fünf · toolCallResult: allow/deny/modify
KompaktierungpreCompact, postCompactVor und nach dem Verdichten des KontextfensterspreCompact: deny möglich · postCompact: modify, kein deny
SubagentensubagentStart, subagentStopStart eines Subagenten im selben Prozess; dessen EndesubagentStart: deny möglich · subagentStop: nur Audit
SkillsskillRegister, skillLoad, skillUnloadAufnahme in die verfügbare Menge als statisches Prüftor; Aktivierung in der Session; EntfernenskillRegister und skillLoad: allow/deny · skillUnload: nur Audit

Die Einschränkungen je Hook stehen in der Spezifikationsprosa; das Response-Schema selbst begrenzt das Feld decision nicht pro Methode.

Das Core-Minimum: sechs Hooks

ACS-Core verlangt mindestens sechs Hooks: sessionStart, userMessage oder agentTrigger, toolCallRequest, toolCallResult, agentResponse und sessionEnd. Alle übrigen soll ein Framework implementieren, sofern es das jeweilige Ereignis beobachten kann; sie werden im Handshake ausgehandelt. Für Ihre Produktbewertung heißt das: Die Aussage „unterstützt ACS“ verrät noch nicht, ob Memory-Schreibvorgänge, Subagenten oder Skills den Guardian überhaupt erreichen.

Die methods_evaluated-Falle

Im Handshake meldet der Observed Agent, welche Methoden er implementiert (methods_implemented). Der Guardian antwortet mit der Liste der Methoden, die er tatsächlich bewertet (methods_evaluated). Sendet der Agent einen Hook, der dort fehlt, muss er ihn als ALLOW-by-default behandeln — der Schritt wird bestenfalls protokolliert, aber nicht geprüft. Die einzige Referenzimplementierung bewertet beispielsweise nur steps/toolCallRequest und steps/toolCallResult, also zwei von 19 Hooks.

toolCallRequest: der zentrale Durchsetzungspunkt

steps/toolCallRequest ist der einzige Hook, für den die Spezifikation ausdrücklich alle fünf Dispositions vorsieht; hier setzen auch die Kontrollparadigmen an. Zentral ist eine MUST-Regel: Frameworks müssen toolCallRequest für jede Aktion feuern, die den Reasoning-Kontext des Agenten verlässt — auch wenn das Framework sie intern nicht als Tool führt. Das umfasst Lese- und Schreibzugriffe auf das Dateisystem, Netzwerkabrufe, Prozessstarts und Shell-Befehle. Was an diesem Hook vorbeiläuft, sieht keine Policy.

Pflicht im Payload sind tool.name und arguments, wobei jeder Argumentwert eine eigene Provenance tragen kann. Optional kommen eine abstrakte capability wie filesystem.delete oder network.egress, das raw_command und ein intent hinzu. Policies können so bewerten, was eine Aktion bewirkt, statt welches Programm sie ausführt.

Hooks mit besonderer Schutzwirkung

  • memoryStore ist die Standard-Senke für Einfluss über Sessions hinweg und laut Spezifikation der Ansatzpunkt gegen Memory Poisoning (vgl. ASI06: Memory & Context Poisoning).
  • preCompact und postCompact sichern die Verdichtung ab: Die Zusammenfassung muss origin agent_generated tragen und die Herkunft aller verdichteten Einträge erben, damit nicht vertrauenswürdige Inhalte nicht reingewaschen werden.
  • subagentStart erlaubt dem Guardian, den Start eines Subagenten zu verweigern; jeder Subagent erhält eine eigene session_id und eine eigene Audit-Kette.
  • skillRegister und skillLoad binden Skills an einen Digest: Geladen werden darf nur, was zuvor mit identischer skill_id und identischem Digest genehmigt wurde; nicht zuordenbare Ladevorgänge sollen abgelehnt werden.
05Kapitel 5

Die fünf Dispositions im Detail: allow, deny, modify, ask, defer

Auf jeden Hook antwortet der Guardian mit genau einer Disposition. Die Details — Pflichtfelder, Kompositionsregeln, Fristen — entscheiden darüber, ob eine Policy im Fehlerfall sicher oder durchlässig ist.

Auf dem Wire stehen die Dispositions kleingeschrieben im Feld decision; die Spezifikationsprosa schreibt sie groß (ALLOW, DENY …). Jede Antwort hat in v0.1 den Typ final — Zwischenstände (progress) und Unterbrechungen (interruption) sind erst für v0.2 vorgesehen. Pflicht in jeder Antwort sind type, acs_version, request_id und decision; die request_id spiegelt die des Requests.

DispositionWirkung beim Observed AgentPflichtfelder (Schema)Typischer Einsatz
allowDie Aktion läuft wie angefragtkeine; reasoning empfohlen, wenn für Nutzer sichtbare Audit-Trails erwartet werdenLesezugriff im erlaubten Scope
denyDie Aktion wird blockiertreasoningDestruktiver Shell-Befehl, Egress an ein unbekanntes Ziel
modifyDie Aktion läuft mit geändertem Payloadreasoning, modificationsAbfrage begrenzen, personenbezogene Daten im Tool-Ergebnis schwärzen
askDer Agent pausiert bis zur Freigabereasoning, ask_detailsZahlung, Massenversand an Externe
deferDie Entscheidung wird zurückgestelltreasoning, defer_detailsUnbekanntes Skript, fehlender Kontext

Optional in jeder Entscheidung: reason_codes, policy_references (policy_id, policy_version, policy_name, rule_id), policy_data, cited_provenance_ids sowie metadata mit evaluator (deterministic, agent oder composite).

MODIFY: zwei Formen, die sich ausschließen

Das Objekt modifications kennt zwei Formen. Entweder ersetzt modified_content den gesamten Payload — dann sind keine weiteren Edits erlaubt. Oder der Guardian schickt strukturierte Edits: redactions (JSON-Pointer-Pfad plus Ersatztext, Standard „[REDACTED]“) und/oder parameter_overrides (Argumentname plus neuer Wert). Beide dürfen gemeinsam auftreten, ihre Ziele müssen aber disjunkt sein: Kein Redaktionspfad darf dasselbe Feld wie ein Override treffen, auch kein über- oder untergeordnetes. Die Spezifikation begründet das so: Eine feste Anwendungsreihenfolge würde Konflikte still auflösen und je nach Reihenfolge geschwärzte Werte wieder freilegen oder bereinigte Werte überschreiben. Verletzt ein Guardian diese Regeln, muss der Observed Agent die Antwort wie ein deny behandeln.

Ein Beispiel: Ein Agent will eine Kundentabelle vollständig abfragen. Der Guardian antwortet mit modify und einem Eintrag in parameter_overrides, der die Abfrage auf 500 Zeilen begrenzt — wie im Simulator-Szenario „Unbegrenzte Datenbankabfrage“. Override-Werte stehen dabei als roher Wert im Objekt, nicht in einer value-Hülle.

ASK: Freigabe mit klaren Regeln

  • ask_details verlangt einen approver mit type (human, agent oder service) und id, eine question und timeout_seconds (mindestens 1).
  • Läuft die Frist ab, greift timeout_disposition; der Standardwert ist deny.
  • Der Guardian muss die Identität des Approvers gegen die Policy prüfen — Approver-Authentifizierung ist Pflicht.
  • Nur ein Hop: Approver dürfen selbst kein ask zurückgeben. Quorum und rekursive Freigaben sind auf v0.2 verschoben.
  • Kann ein Client ASK nicht auflösen, darf der Guardian kein ask senden. Er weicht auf defer mit timeout_decision deny oder auf deny mit dem Reason-Code approver_unavailable aus — ein stilles allow ist ausgeschlossen.
  • Über intent_extension kann eine Freigabe die erlaubten Capabilities für this_request oder die ganze session erweitern. Laut Spezifikation ist das der einzige konforme Weg, den festgelegten Intent nachträglich zu verändern.

Wichtig für die Regulatorik: ASK ist nicht automatisch menschliche Aufsicht. Der Approver kann ein Agent oder ein Service sein, und timeout_disposition lässt sich auf allow stellen. Menschliche Aufsicht nach EU AI Act Art. 14 ist für Hochrisiko-Systeme ab 02.12.2027 (Anhang III) bzw. 02.08.2028 (Anhang I) anzuwenden; KI-Agenten sind nicht per se Hochrisiko. Wer ASK dafür als Baustein nutzt, braucht nach VamiSec-Einschätzung eine Policy mit approver.type human und timeout_disposition deny sowie einen Freigabeprozess, der Entscheidungsmüdigkeit vermeidet. ASK unterstützt dann die Nachweisführung, erfüllt Art. 14 aber nicht allein: Einen Stop-Button kennt v0.1 nicht, nur das schrittweise deny.

DEFER: Entscheidung vertagen, aber begrenzt

defer_details verlangt einen reason (insufficient_context, conflicting_policies, low_confidence oder pending_dependency), eine resolution_method (additional_context, human_approval oder timeout) und resolution_timeout_ms. Für den Fristablauf kennt timeout_decision nur deny oder ask — kein allow — und steht standardmäßig auf deny. Die Prosa fordert das Feld, das Schema führt es nicht als Pflicht; setzen Sie es deshalb immer explizit. Kaskadierende Deferrals müssen je Session begrenzt sein. Achten Sie auf die Einheiten: ASK rechnet in Sekunden (timeout_seconds), DEFER in Millisekunden (resolution_timeout_ms).

06Kapitel 6

Handshake, Failure Posture und Timeouts

Bevor der erste Hook feuert, handeln Observed Agent und Guardian aus, was geprüft wird, wie lange gewartet wird und was bei einem Ausfall geschieht. Diese wenigen Felder bestimmen, ob Ihr Kontrollpunkt im Ernstfall hält.

Jede Session beginnt mit handshake/hello. Der ClientHello steckt im payload eines normalen Request-Envelopes, der ServerHello kommt als result zurück — ohne decision. Die ausgehandelte Version muss in der Hauptversion mit dem Client übereinstimmen; unbekannte Felder sind zu ignorieren.

NachrichtPflichtfelderSicherheitsrelevante optionale Felder
ClientHello (Observed Agent)acs_versions_supported, methods_implemented, transports_supported (http, https, stdio), provenance_producer (deterministic oder none)profiles_supported, wrapped_protocols, max_payload_size_bytes
ServerHello (Guardian)negotiated_version, methods_evaluated, selected_transport, timeout_config (default_ms, optional per_method_ms)on_decision_failure (proceed oder deny, Default proceed), signature_algorithms_supported, skew_window_ms (Default 300000), policy_requires_provenance, approver_types_supported, profiles_accepted, trace_emission, agbom_serializations_supported

Ablehnungen im Handshake: UNSUPPORTED_VERSION (-32001) bei Versionskonflikt; PROVENANCE_REQUIRED (-32002), wenn der Client keine Provenance liefert, die Guardian-Policy sie aber verlangt.

Failure Posture: fail-open ist der Default

Der Observed Agent muss für jeden gemeldeten Schritt auf die Entscheidung warten — bis zum ausgehandelten Timeout — und sie anwenden. Ein Framework, das Hooks sendet, das Verdikt aber ignoriert, ist nicht konform. Kommt keine verwertbare Entscheidung an, spricht die Spezifikation von einem decision failure: Der Guardian schweigt, der Transport bricht ab (abgelehnte Verbindung, TLS-Fehler, fehlerhafte Antwort) oder der Guardian liefert einen Fehler statt einer Entscheidung. In allen drei Fällen greift on_decision_failure, und der Standardwert ist proceed: Die Aktion läuft ungeprüft weiter. Fail-closed (deny) muss ein Deployment ausdrücklich konfigurieren.

Die Spezifikation benennt den Preis offen: Wer den Kanal stören kann, macht aus Kontrolle bloße Protokollierung. Als Gegengewicht gilt eine harte Pflicht — jeder Schritt, der ohne Entscheidung weiterläuft, muss als Audit-Event erfasst werden. Trifft eine Entscheidung doch noch innerhalb der Frist ein, muss der Agent sie befolgen, unabhängig von der Posture.

Startup-Posture: wenn schon der Handshake scheitert

Ist der Guardian beim Sessionstart nicht erreichbar oder antwortet er ohne ServerHello, gilt eine außerhalb des Protokolls konfigurierte Startup-Posture: proceed (die Session startet ungeschützt) oder refuse. Auch hier ist proceed der Default, damit ein Guardian-Ausfall keine neuen Sessions blockiert. Eine ungeschützt gestartete Session muss im eigenen Audit-Log des Deployments stehen. Eine ausdrückliche Ablehnung durch den Guardian, etwa SESSION_REFUSED, gilt dagegen als Entscheidung und nicht als Ausfall.

SituationGreifender MechanismusDefault
Guardian beim Sessionstart nicht erreichbarStartup-Posture (außerhalb des Protokolls konfiguriert)proceed — Session läuft ungeschützt, Audit-Pflicht
Guardian schweigt, Transportfehler oder Fehlerantwort während der Sessionon_decision_failure aus dem ServerHelloproceed — Schritt läuft ungeprüft, Audit-Pflicht
ASK-Frist läuft abtimeout_dispositiondeny
DEFER-Frist läuft abtimeout_decisiondeny
Ungültiges modifications-ObjektKompositionsregel für MODIFYBehandlung als deny
system/ping schlägt fehlSignal auf Transportebene, kein Enforcement-Ereigniskeine Disposition

Timeouts: kein Default in der Spezifikation

Einen numerischen Standard-Timeout legt die Spezifikation nicht fest. timeout_config.default_ms ist im ServerHello Pflicht, der Wert aber Sache des Deployments; per_method_ms erlaubt abweichende Werte je Methode. Das Handshake-Schema erinnert daran, dass jede Millisekunde Timeout im ungünstigsten Fall Latenz für den Schritt bedeutet, und empfiehlt, Fristen je Methode an der Latenztoleranz auszurichten statt an einem großzügigen Pauschalwert. Die Referenzimplementierung nutzt 5000 ms — ein Implementierungswert, keine Vorgabe. Ein sensitivitätsbasiertes Timeout-Modell ist für v0.2 vorgesehen. Zur Begriffsklärung: ACS_ON_DECISION_FAILURE ist eine Umgebungsvariable des Referenz-Guardians, die den Wert von on_decision_failure setzt — kein Feld der Spezifikation.

Ping beweist keine Durchsetzung

system/ping ist eine reine Liveness-Probe: Der Guardian muss immer allow antworten, der Ping braucht keine Signatur und wird nicht in die Audit-Kette geschrieben. Ein Guardian kann also Pings beantworten und zugleich jeden signierten Hook ablehnen. Die Spezifikation empfiehlt deshalb, Decision Failures auf dem Hook-Pfad direkt zu überwachen.

07Kapitel 7

Guardian-Architektur: deterministisch zuerst, LLM optional

Ein Guardian Agent ist kein zweites Sprachmodell, das dem ersten über die Schulter schaut. ACS legt eine feste Reihenfolge fest: Zuerst entscheidet deterministischer Policy-Code, ein LLM darf nur nachgelagert und ohne Einblick in die Policy mitwirken.

Zwei Schichten, feste Reihenfolge

Die deterministische Schicht bewertet jeden Hook zuerst. Sie entscheidet selbst oder delegiert an die Agent-Schicht — laut Spezifikation gesteuert über eine Chain-Konfiguration mit den Modi „*“, on_ask oder musterbasiert. Ein Format für diese Konfiguration definiert v0.1 allerdings nicht. Die Agent-Schicht erhält dieselben Eingaben plus das Zwischenergebnis der deterministischen Schicht, aber niemals den Policy-Code. Ihre Antwort muss auf dem Rückweg erneut die deterministische Schicht passieren.

  1. Hook trifft ein

    Request-Envelope, SessionContext, Intent und, falls vorhanden, Provenance gehen an die Policy-Engine.

  2. Deterministische Bewertung

    Policy-as-Code — in v0.1 mit OPA/Rego als Startreferenz — liefert allow, deny, modify, ask oder defer oder delegiert.

  3. Optionale LLM-Schicht

    Bewertet Fälle, die deterministisch nicht entscheidbar sind; behandelt nicht vertrauenswürdige Felder als Daten und sieht keinen Policy-Code.

  4. Rückprüfung und Antwort

    Das Ergebnis passiert erneut die deterministische Schicht; metadata.evaluator weist deterministic, agent oder composite aus.

  5. Protokollierung

    Jede Entscheidung wird mit Begründung, Modellkennung und, sofern verfügbar, Konfidenz geloggt.

Policy-Engine: Schnittstelle statt Produkt

ACS definiert die Schnittstelle zur deterministischen Engine, nicht die Engine selbst. Die Eingabe besteht aus Request-Envelope, SessionContext, Intent und Provenance, die Ausgabe aus einem Entscheidungs-Envelope, optional mit einer Delegation an die Agent-Schicht (delegate_to). Zusätzlich setzt ACS Konventionen, darunter: keine externen HTTP-Aufrufe in kanonischen Policies. Das stützt Determinismus und Latenz.

EngineStatus in ACSEinordnung
OPA / RegoStartreferenz für v0.1CNCF-Projekt mit Status Graduated (seit 29.01.2021), Apache-2.0; die Referenzimplementierung nutzt das mit dem Agent Governance Toolkit gebündelte OPA
CedarFast-follow für v0.2 (Cedar-Binding)Policy-Sprache von AWS, Apache-2.0, CNCF Sandbox (seit 08.10.2025); Grundlage von Policy in Amazon Bedrock AgentCore
Eigene EngineZulässig, wenn sie die Schnittstelle einhältEtwa domänenspezifische Logik oder Klassifikatoren hinter derselben Schnittstelle

README und Abschnitt 2 der Spezifikation nennen Cedar und Rego in einem Atemzug; den Status je Version legt Abschnitt 12.1 fest.

Pflichten der LLM-Schicht

  • Nicht vertrauenswürdige Daten sind Daten, keine Anweisungen; die betreffenden Felder müssen im Prompt umhüllt oder gequotet werden.
  • Kein Zugriff auf den Policy-Code der deterministischen Schicht.
  • Jede Entscheidung mit Begründung, Modellkennung und Konfidenz (wenn verfügbar) protokollieren; bei evaluator agent oder composite ist model_id anzugeben.
  • Fristen folgen dem im Handshake ausgehandelten timeout_config.
  • Die gesamte Schicht ist in v0.1.0 optional: Rein deterministische Deployments sind voll konform.

Kontrollparadigmen ohne eigene Wire-Erweiterung

Die Spezifikation nennt vier Paradigmen als Ziele für v0.1. Ein Guardian drückt sie über dieselben Felder aus — reason_codes, policy_references, policy_data und cited_provenance_ids. Kombiniert ein Deployment mehrere Paradigmen, darf eine einzige Entscheidung alle zitieren.

IBAC · intentbasierte Autorisierung

Der Intent einer Session wird festgelegt, bevor nicht vertrauenswürdige Daten einfließen; danach wächst er nur über eine auditierte Freigabe (intent_extension). Eine Abweichung kann als defer enden; policy_data nennt dann die angefragte Capability und den nächstgelegenen Eintrag aus Intent.parsed. Kommt ohne acs-provenance aus.

FIDES · Informationsflusskontrolle

Forschungsansatz mit Vertraulichkeits- und Integritätslabels (arXiv 2505.23643, 2025). Eine Ablehnung zitiert die verletzende Lineage in cited_provenance_ids und den betroffenen Argumentpfad in policy_data.

CaMeL · Programmsynthese

Forschungsansatz, der Kontroll- und Datenfluss aus der vertrauenswürdigen Anfrage ableitet (arXiv 2503.18813, 2025). Der Guardian prüft, ob Argumente aus nicht vertrauenswürdiger Herkunft stammen.

AARM-artig · kumulativer Kontext

Bewertet den bisherigen Sessionverlauf statt des einzelnen Schritts. Eine Ablehnung zitiert den frühesten nicht vertrauenswürdigen Schritt und gibt den relevanten Rückblick in policy_data wieder.

FIDES, CaMeL und AARM-artige Regeln brauchen Herkunftsangaben und setzen deshalb das Profil acs-provenance voraus; reines IBAC nicht. ACS implementiert keines dieser Verfahren selbst, es liefert die Felder, über die ein Guardian sie anwendet und begründet. ACS verhindert also keine Prompt Injection — es schafft den Kontrollpunkt, an dem Policies gegen deren Folgen greifen.

Betrieb: Latenz und Verfügbarkeit (VamiSec-Einschätzung)

  • Latenz: Jede Prüfung liegt im kritischen Pfad des Agenten. Halten Sie die deterministische Schicht lokal und ohne externe Aufrufe, reservieren Sie die LLM-Schicht für wenige unklare Fälle und messen Sie evaluation_duration_ms je Methode.
  • Verfügbarkeit: Mit fail-closed wird der Guardian betriebskritisch. Betreiben Sie ihn nah am Agenten und redundant. Die Referenzimplementierung dokumentiert das Risiko selbst: Sie schreibt Logs synchron im Entscheidungspfad, sodass eine langsame Festplatte jede laufende Entscheidung blockiert.
  • Policy-Lifecycle: Versionieren Sie Policies und geben Sie policy_version in jeder Entscheidung zurück; die Spezifikation sieht das für die Rekonstruktion historischer Policy-Stände vor.
  • Abgrenzung: Der Guardian ersetzt weder Sandbox noch IAM, Secrets-Management oder Egress-Firewall. Aktionen, die toolCallRequest umgehen, bleiben für ihn unsichtbar.

Die einzige Referenzimplementierung betreibt Microsofts Agent Governance Toolkit unverändert hinter dem ACS-Wire. Sie ist ausdrücklich ein Proof of Concept: zwei von 19 Hooks live, keine HMAC-Signatur, Default fail-open. Sie demonstriert das Muster für zwei Clients (Claude Code und OpenCode), ist aber nicht für den Produktivbetrieb gedacht.

08Kapitel 8

Sicherheit des Kanals: Signaturen, Replay-Schutz und Audit-Chain

Ein Guardian Agent ist nur so vertrauenswürdig wie der Kanal, über den er entscheidet. ACS-Core verlangt deshalb drei Mechanismen: eine Signatur auf jedem Request und jeder Response, Schutz gegen wiederholte Nachrichten und eine hash-verkettete Audit-Chain. Dieses Kapitel zeigt, was die Mechanismen leisten — und wo ihre Grenze verläuft.

Zwischen Observed Agent und Guardian Agent laufen Entscheidungen, die Aktionen freigeben oder blockieren. Wer diesen Kanal manipulieren kann, verwandelt ein deny in ein allow oder spielt eine alte Freigabe erneut ein. Der OWASP Agent Control Standard (ACS) behandelt die Kanalsicherheit daher als Teil der Pflicht-Baseline ACS-Core, nicht als optionales Profil.

Baseline-Signatur: HMAC-SHA256 mit Session-Schlüssel

ACS-Core verlangt auf jedem Request und jeder Response eine Signatur über das kanonische Envelope. Die Baseline, die diese Pflicht erfüllt, ist HMAC-SHA256. Der Schlüssel wird pro Session per HKDF abgeleitet — aus Schlüsselmaterial des Deployments (ein Pre-Shared Secret oder eine Kanalbindung wie ein TLS-Exporter) zusammen mit der session_id. Einen Schlüsselaustausch im Protokoll definiert v0.1 nicht. Signiert wird die RFC-8785-Kanonisierung (JCS) des Envelopes ohne das Feld signature; der Empfänger berechnet diese Form neu und weist eine nicht passende Signatur zurück. TLS allein genügt ausdrücklich nicht, weil es keine einzelne Nachricht für das Audit bindet. Ausgenommen von der Signaturpflicht ist nur die Liveness-Methode system/ping.

Zwei Details sind für die Architektur relevant. Im JSON-Schema ist signature optional, normativ in ACS-Core aber Pflicht — eine reine Schema-Validierung erkennt fehlende Signaturen also nicht. Und die Spezifikation legt Salt, Info-String, Hash-Funktion und Schlüssellänge für HKDF nicht fest; zwei Implementierungen können daher unterschiedliche Schlüssel ableiten. Nach unserer Einschätzung gehören diese Parameter in die Schnittstellenvereinbarung zwischen Plattform- und Guardian-Betrieb.

Replay-Schutz

Jeder Request trägt eine request_id (UUID), einen timestamp und optional eine nonce. Der Guardian muss Requests ablehnen, deren Zeitstempel außerhalb des ausgehandelten Fensters skew_window_ms liegt (empfohlener Default 300 000 ms, also fünf Minuten), und doppelte request_id-Werte innerhalb einer Session zurückweisen; doppelte Nonces sollte er ablehnen. Daraus folgt eine leicht übersehene Betriebsanforderung: synchronisierte Uhren auf beiden Seiten.

CodeNameAuslöserReaktion des Observed Agent laut Spec
-32000SESSION_REFUSEDPolicy verweigert die Session, kein spezifischerer Code passt (z. B. unzulässige agent_id)Kein erneuter Versuch ohne Policy- oder Konfigurationsänderung
-32001UNSUPPORTED_VERSIONKeine gemeinsame acs_version im HandshakeHandshake mit unterstützter Version wiederholen
-32002PROVENANCE_REQUIREDPolicy verlangt Provenance, der Client meldet provenance_producer: noneAls deterministic-Producer neu verbinden oder einen Guardian ohne Provenance-Pflicht nutzen
-32003CAPABILITY_NOT_NEGOTIATEDMethode oder Profil genutzt, das der Handshake nicht ausgehandelt hatMethode bzw. Profil neu aushandeln
-32004SIGNATURE_INVALIDPflicht-Signatur fehlt, ist fehlerhaft oder nicht verifizierbarNeu signieren, ggf. key_id neu auflösen
-32005REPLAY_DETECTEDDoppelte request_id oder nonce in der SessionNeue request_id und nonce erzeugen
-32006TIMESTAMP_OUT_OF_WINDOWZeitstempel außerhalb von skew_window_msUhrdrift korrigieren
-32007CHAIN_MISMATCHchain_hash des Clients weicht vom Kettenkopf des Guardians abSessionzustand neu laden; dauerhafte Abweichung ist ein Integritätsereignis

Eigene Kurzfassung der ACS-Fehlerregistry (Spezifikation v0.1.0, §17.1). system/ping darf keinen ACS-spezifischen Fehler zurückgeben.

Audit-Chain: Hash-Kette mit veröffentlichtem Kopf

Der Guardian führt pro Session einen SessionContext, eine append-only-Kette von ContextEntries. Jeder Eintrag erhält einen entry_hash: SHA-256 über die JCS-kanonisierte Entry ohne Hash-Felder, verkettet mit dem Hash des Vorgängers; der erste Eintrag hat previous_hash null. Andere Kanonisierungen sind in v0.1 nicht zulässig. Entscheidend ist die Veröffentlichung: Für jeden content-bearing Step muss der Guardian den aktuellen chain_hash in seiner Response mitliefern, gedeckt durch die Response-Signatur. Die Spezifikation nennt den Grund offen: Hielte der Guardian den Kettenkopf privat, könnte er etwa ein deny streichen, die Kette ab dieser Stelle neu berechnen und später eine bereinigte Historie vorlegen. Wer den Verkehr mitschneidet, erkennt eine nachträglich umgeschriebene Kette.

Was die Kette belegt — und was nicht

  • Pflichtfelder eines ContextEntry sind nur entry_id, step_id, step_type und entry_hash. Der request_hash über den Request-Inhalt ist in ACS-Core nur empfohlen (SHOULD) und erst im Profil acs-audit Pflicht. Ohne ihn belegt die Kette, dass ein Schritt stattfand, aber nicht, was angefragt wurde.
  • Das ContextEntry-Schema kennt kein Feld für Disposition, Begründung oder Approver. Entscheidungen hält ACS normativ als Trace-Events fest (Profil acs-trace, Kapitel 9); nur eine Intent-Erweiterung schreibt einen eigenen Eintrag mit der Approver-Identität (Kapitel 11).
  • HMAC ist symmetrisch: Der Guardian hält den Schlüssel und könnte einen umgeschriebenen Kettenkopf neu signieren. Geschützt ist der Kanal gegen Manipulation im Netz, nicht gegen einen kompromittierten Guardian.
  • Nichtabstreitbarkeit gegenüber Dritten entsteht erst mit acs-crypto: mindestens ML-DSA-65 (MUST), SLH-DSA-128s (SHOULD), Hybridverfahren optional.
  • Einen Abgleich zwischen mehreren Guardians gibt es in v0.1 nicht (Issue #18, zurückgestellt).
09Kapitel 9

Trace: OpenTelemetry und OCSF im SOC

Mit dem Trace-Pillar landen Agentenaktionen und Guardian-Entscheidungen im vorhandenen Observability- und SIEM-Stack. ACS erfindet dafür kein neues Format, sondern liefert ein Vokabular für OpenTelemetry und OCSF. Für das SOC zählt, welche Klassen ankommen, wie verlässlich sie sind und wo das Mapping noch Lücken hat.

Der normative Beitrag von Trace ist das Vokabular: Span-Namen, Attribut-Schlüssel, Event-Klassen und die Zuordnung von Dispositions zu Schweregraden. Übertragen wird per OTLP (gRPC oder HTTP) an bestehende Backends; der Wire-Namensraum trace/* ist in v0.1.0 nur reserviert. Erklärtes Ziel ist, dass ACS-Events ohne Spezialparser in SIEM-Pipelines passen. Die OTel- und die OCSF-Erweiterung tragen im Repository den Status „Working draft“. Trace ist das optionale Profil acs-trace. Wer es beansprucht, muss für jeden unterstützten Step mindestens eines der beiden Formate mit Pflichtattributen ausgeben, jede Entscheidung mit Disposition, Evaluator und — falls vorhanden — Begründung festhalten und Provenance-Fakten aus dem Hook auf das Event übertragen.

OpenTelemetry: Spans pro Hook, Entscheidungen als Span-Event

Die Span-Hierarchie ist deterministisch: ein Root-Span acs.session pro Session, darunter acs.turn je Turn und ein Step-Span je Hook. Entscheidungen sind keine eigenen Spans, sondern ein Span-Event acs.decision am Step-Span; Verdikt und gesteuerte Aktion teilen so denselben Elternkontext. Pflichtattribute des Events sind acs.decision und acs.evaluator (deterministic, agent oder composite). Für Tool-Aufrufe verwendet ACS die Span-Namen gen_ai.tool.call und gen_ai.tool.result. Achtung: In den OpenTelemetry-GenAI-Konventionen (Stand Oktober 2026 im Status „Development“) ist gen_ai.tool.call nur ein Attribut-Präfix, der empfohlene Span-Name lautet dort execute_tool {gen_ai.tool.name}. Auf diese Konventionen ausgerichtete Dashboards und Abfragen passen daher nicht ohne Anpassung zu ACS-Tool-Spans.

ACS-EreignisOCSF-Klasse (UID)Hinweis
sessionStart, sessionEnd, subagentStart, subagentStop3002 AuthenticationAbgebildet als Logon bzw. Logoff
userMessage, agentResponse, agentTrigger, turnStart, turnEnd6002 Application LifecycleACS nennt die Klasse „Application Activity“ — in OCSF ist das der Name der Kategorie 6
toolCallRequest, toolCallResult1007 Process ActivityZentrale Quelle für Agentenaktionen
knowledgeRetrieval, memoryContextRetrieval, memoryStore, preCompact, postCompact6005 Datastore ActivityCompaction mit activity_id 99, in OCSF generisch „Other“
Entscheidungen deny, modify, ask, defer2004 Detection Findingseverity_id: modify 2, ask und defer 3, deny 4; allow normalerweise nur informativ (1)
agbom/snapshot, agbom/changed5001 Device Inventory InfoACS nennt die Klasse „Inventory Info“

Klassen laut ACS-Mapping (OCSF 1.5+), Klassennamen nach OCSF 1.5.0. Agenten erscheinen als actor.user.type „AI Agent“; ACS-spezifische Felder wie reason_codes und Policy-Referenzen liegen in unmapped.acs.

SIEM-Use-Cases für Agenten

Use-CaseDatengrundlageMögliche Reaktion
Guardian-Bypass (fail-open)Pflicht-Audit-Event für jeden Step ohne Entscheidung; ungeschützter Session-StartAlarm ab dem ersten Ereignis bei Hochrisiko-Agenten; Verfügbarkeit des Guardians prüfen
Häufung von denyDetection Finding 2004 mit severity_id 4, reason_codes, policy_idSession-Review; Hinweis auf Prompt Injection oder Fehlkonfiguration
Freigabelastask-Findings (severity_id 3) je Zeitraum, ergänzt um Approver-Angaben aus ask_detailsSchwellen und Approver-Kapazität anpassen, Freigabemüdigkeit vorbeugen
Inventar-Driftagbom/changed mit reason user_action oder discovery (nur mit acs-inspect-dynamic)Abgleich mit Freigabeliste, ggf. Policy verschärfen
IntegritätsereignisCHAIN_MISMATCH bzw. reason_code chain_mismatchAls Integritätsereignis untersuchen, nicht als transienten Fehler abtun
Agent oder Menschactor.user.type „AI Agent“Getrennte Baselines, Korrelation mit menschlichen Identitäten

VamiSec-Ableitung — ACS definiert keine Detection-Logik und kein Response-Playbook. Für das fail-open-Audit-Event fehlt laut Issue #37 noch ein konformes Format; Regeln daher gegen die JSON-Mappings bauen und mit echten Daten testen.

Grenzen, die Sie einplanen sollten

  • Best effort: Trace darf die Durchsetzung nie blockieren. Fällt die Senke aus, geht die Entscheidung trotzdem an den Observed Agent — Telemetrie kann also lückenhaft sein.
  • Selbstauskunft: Trace-Events entstehen in der beobachteten Umgebung und werden erst durch Attestierung einer externen Partei zu Evidenz.
  • Skill-Lücke: Die Mappings decken 16 der 19 nativen Hooks plus die beiden agbom-Methoden ab. skillRegister, skillLoad und skillUnload haben weder ein OTel- noch ein OCSF-Mapping.
  • Doku-Drift: Die Provenance-Ablage in OCSF ist widersprüchlich (enrichments im normativen Mapping, unmapped.acs.provenance im Leitfaden). Die Beispielseite mit Splunk- und Elastic-Abfragen nutzt noch den Altnamen ASOP und OCSF 1.0.
  • Datenschutz: Spans können Prompts und Tool-Argumente enthalten. Die Spezifikation empfiehlt Redaction schon beim Emittieren; nach unserer Einschätzung gehört das verbindlich in das Logging-Konzept.
10Kapitel 10

Inspect: AgBOM — das Laufzeit-Inventar des Agenten

Agenten ändern ihre Fähigkeiten zur Laufzeit: neues Modell, nachgeladener MCP-Server, frisch registrierter Skill. Die AgBOM (Agent Bill of Materials) macht diesen Zustand pro Session abfragbar und entscheidungsfähig. Sie ist kein neues SBOM-Format — und sie ersetzt auch keines.

Die AgBOM ist laut Spezifikation ein abfragbares, dynamisches Inventar der Komponenten, die ein Observed Agent nutzt. Die Begründung ist präzise: Jede Policy, die davon abhängt, was ein Agent ist — welches Modell, welche Tools —, wird ohne Inventar unüberprüfbar. Hängt eine Guardian-Policy vom Inventar ab, etwa beim Bann eines Modells oder Tools, muss das Deployment das Profil acs-inspect umsetzen. Die kanonische AgBOM ist ein Komponentengraph, abgelegt als flache Liste mit Referenzen per ID, damit sich Stände per Diff vergleichen lassen.

Acht Komponententypen

TypWas erfasst wird (Auswahl der Pflichtfelder)
modelName, Version, Provider, Endpoint und Kontextfenster; optional ein Konfigurations-Snapshot
mcp_serverName, Version, Endpoint und die angebotenen Tools
a2a_peerEndpoint und Protokollversion
toolName, Version, Provider und abstrakte Capability, z. B. filesystem.delete oder network.egress
knowledge_sourceName und Quelltyp (vector_db, search_index, knowledge_base, web_search, other)
memory_storeName, Scope (session, user, tenant, global) und Speichertyp
agent_capabilityName und Beschreibung einer passiven Fähigkeitsgruppe
skillName, Beschreibung sowie Referenz und Integritäts-Digest des ladbaren Artefakts

Normative Quelle ist das Schema component.json. Einzelne Doku-Seiten nennen sechs oder sieben Typen; maßgeblich sind acht.

snapshot und changed: zwei Wire-Methoden

agbom/snapshot sendet der Observed Agent einmal pro Session nach sessionStart und vor dem ersten content-bearing Hook; die Nachricht enthält die vollständige AgBOM. agbom/changed meldet Mutationen — hinzugefügte, entfernte oder geänderte Komponenten als Diff oder als vollständigen Snapshot — und kann eine Ursache tragen, etwa component_upgraded, discovery oder user_action. Beide Ereignisse gehen in die Audit-Chain. Der Guardian darf per deny eine Session mit gebannter Komponente ablehnen oder einen Hot-Swap blockieren.

Für die Profilwahl wichtig: Wer nur acs-inspect beansprucht, liefert genau einen Snapshot pro Session und verfolgt keine Änderungen. Laufzeitänderungen werden erst mit acs-inspect-dynamic sichtbar. Die Snapshot-Auslöser renegotiation und policy_request verweisen auf Mechanismen, die erst mit v0.2 spezifiziert werden sollen — in v0.1 ist praktisch nur session_start belastbar. Jede Komponente soll außerdem eine registration_provenance tragen (unter acs-provenance Pflicht). Damit lässt sich unterscheiden, ob eine Komponente aus der Konfiguration stammt oder zur Laufzeit hinzukam.

Serialisierungen: CycloneDX, SPDX, SWID

Auf dem Wire geht immer die kanonische Form; der Guardian rendert Serialisierungen auf Anfrage für nachgelagerte Werkzeuge. Ein acs-inspect-Deployment muss mindestens eine davon anbieten: CycloneDX 1.6, SPDX 3.0 oder SWID (ISO/IEC 19770-2). Alle drei Mappings haben den Status „Working draft“; die Abbildungen auf CycloneDX und SPDX sind teils nicht schema-valide. Das CycloneDX-Mapping nutzt Typnamen wie ai-model oder service als Komponententyp, die CycloneDX 1.6 so nicht kennt; das SPDX-Mapping verwendet Klassen und Beziehungen, die es in SPDX 3.0.1 nicht gibt. Planen Sie Exporte deshalb mit eigener Validierung. CycloneDX selbst liegt seit Oktober 2025 in Version 1.7 vor.

Abgrenzung: AgBOM, AI-SBOM, CRA-SBOM

AgBOM (ACS)

Laufzeitbezogen und pro Session, in der Audit-Chain verankert und entscheidungsfähig. Sie inventarisiert, was der Observed Agent nach eigener Auskunft in dieser Session nutzt; unter acs-provenance zusätzlich die Herkunft jeder Registrierung.

AI-SBOM / ML-BOM

Beschreibt Modelle und Datensätze, etwa mit CycloneDX ML-BOM oder dem AI-Profil von SPDX 3.0. Der Begriff AI-BOM kommt in ACS nicht vor; die Gegenüberstellung ist unsere Einordnung.

CRA-SBOM

Ab 11.12.2027 Pflicht für Hersteller von Produkten mit digitalen Elementen (Anhang I Teil II Nr. 1 CRA): maschinenlesbar, mindestens die Top-Level-Abhängigkeiten. Die AgBOM kann diese Build-Time-SBOM um Laufzeitkomponenten ergänzen, ersetzt sie aber nicht.

11Kapitel 11

Provenance und Identity: Herkunft der Daten, Grenzen der Identität

Ob eine Aktion zulässig ist, hängt oft davon ab, woher die Daten stammen, die sie auslösen. Provenance liefert dem Guardian diese Herkunftsfakten feldgenau, Session Intent schreibt den Zweck fest. Der Identity-Teil von ACS beschreibt dagegen bisher vor allem offene Fragen.

Feld-Provenance: Fakten statt Vertrauenslabel

Provenance beantwortet, woher ein Datenelement kam und wie es an seinen Ort gelangte. Ein Provenance-Objekt trägt eine provenance_id, ein origin mit einem von sieben Werten — user_input, system, tool_output, retrieved, agent_generated, a2a_inbound, external — sowie optional source_id (etwa Tool-Name, URL oder Pfad) und derived_from als Liste der Vorgänger. Die Angaben hängen an datentragenden Feldern, bei toolCallRequest sogar an jedem einzelnen Argument. Eine Policy kann so einen konkreten Datenfluss treffen statt den ganzen Aufruf.

  • Framework-gesetzt: origin, source_id und derived_from vergibt deterministischer Code außerhalb des LLM-Ausgabepfads. Das LLM anzuweisen, Provenance zu erzeugen, ist nicht konform.
  • Transitive Lineage: Abgeleitete Daten erben die Herkunft ihrer Eingaben, auch über Zusammenfassung und Compaction hinweg. Eine Zusammenfassung fremder Tool-Ausgaben bleibt damit als solche erkennbar.
  • Kein Trust-Feld: Ein trust-Wert ist in v0.1 nur reserviert, nicht schematisiert. Der Guardian leitet Vertrauen aus origin und source_id gegen seine Policy ab; durch LLM-Verarbeitung wird nicht vertrauenswürdiges Material nie vertrauenswürdig (Monotonie-Regel).
  • Alles oder nichts: Mit provenance_producer: deterministic muss jedes datentragende Feld Provenance tragen; Teilbefüllung ist nicht konform. Meldet der Client provenance_producer: none, obwohl die Policy Provenance verlangt, lehnt der Guardian die Session schon im Handshake mit PROVENANCE_REQUIRED ab.

Provenance gehört nicht zu ACS-Core, sondern zum Profil acs-provenance. Es ist Voraussetzung für Durchsetzungsparadigmen wie FIDES, CaMeL und AARM, nicht aber für reines intent-basiertes Autorisieren (IBAC). ACS verhindert keine Prompt Injection. Es schafft den Kontrollpunkt, an dem eine Policy die Folgen begrenzen kann — etwa indem sie eine E-Mail blockiert, deren Empfänger und Inhalt aus einem nicht vertrauenswürdigen Retrieval-Ergebnis stammen. Sensitivitäts- oder IFC-Labels sind nicht Teil des Standards; sie liegen beim Guardian oder Deployment.

Session Intent: der festgeschriebene Zweck

Intent ist in ACS kein Wire-Format, sondern ein Governance-Konzept: Er bindet Aktionen an einen autorisierten Zweck, und zwar bevor nicht vertrauenswürdige Daten Einfluss nehmen können. Intent.parsed, die für die Session autorisierte Capability-Menge, wird bei sessionStart oder beim ersten agentTrigger festgelegt. Danach dürfen weder das LLM noch Tool-Ausgaben noch Daten aus nicht vertrauenswürdigen Kanälen sie ändern; ist der Intent bei sessionStart gesetzt, muss ein späterer agentTrigger mit abweichendem Intent abgelehnt werden.

Der einzige konforme Weg zur Erweiterung ist eine intent_extension, die ein Approver über den ask-Ablauf zurückgibt — mit Pflichtangaben zu Capabilities und Scope. Bei scope this_request gilt die Erweiterung nur für die laufende Anfrage. Bei scope session hängt der Guardian die Capabilities an, schreibt einen ContextEntry vom Typ intent_extension mit der Approver-Identität und führt die Provenance der Erweiterung getrennt von der des ursprünglichen Intent. Unter scope_mode strict darf er keine Erweiterung honorieren, die die Policy im strikten Modus verbietet. Für CISOs ist das nach unserer Einschätzung der Hebel gegen schleichende Rechteausweitung: Jede Ausweitung braucht eine authentisierte Freigabe.

Identity: normativ schlank, vieles in Arbeit

Was normativ gilt

ACS schreibt keinen Authentifizierungsmechanismus vor; der genutzte wird im Handshake deklariert, Vertrauensschemata wie SPIFFE, OIDC oder PKI bleiben deployment-definiert. Pflicht sind die Authentifizierung von Approvern und die Trennung dreier Identitäten: Observed Agent, Guardian und Policy-Autor.

Was noch nicht bindet

Die Arbeitsdokumente des Identity-Workstreams nennen fünf Laufzeit-Herausforderungen; vier sind „Pending“, eine „Partially specified“. Formulierungen wie „Required by ACS“ für DPoP oder RAR binden nicht — das Projekt stellt selbst klar, dass ACS keinen Mechanismus vorschreibt. Identifier-Modell und Token-Laufzeiten sind nur vorgeschlagen.

Abgrenzung zu AIMS

Der IETF-Entwurf AIMS (draft-klrc-aiagent-auth) behandelt Identitätsausgabe, Credential-Bindung und Transport-Authentifizierung. ACS versteht sich als komplementär: Durchsetzung zur Laufzeit statt Ausstellung von Identitäten.

Die Signatur von ACS-Core authentisiert den Kanal zwischen Observed Agent und Guardian symmetrisch. Sie ist weder eine Authentifizierung des Principals noch Nichtabstreitbarkeit — beides sollten Sie in Architektur und Nachweisen nicht vermischen.

12Kapitel 12

MCP, A2A und Skills: Protokolle und ladbare Fähigkeiten

Agenten sprechen mit Tools über MCP, mit anderen Agenten über A2A und laden Skills als ausführbare Bausteine. ACS v0.1 deckt diese drei Flächen unterschiedlich weit ab: MCP-Wrapping ist spezifiziert, A2A nur reserviert, der Skill-Lebenszyklus hat eigene Hooks.

MCP-Wrapping: spezifiziert, mit offener Pflichtfrage

Der Namespace protocols/MCP/* ist der kanonische Weg, MCP-Nachrichten zum Guardian zu tragen, etwa protocols/MCP/tools/call. Die MCP-Nachricht bleibt dabei unverändert; ACS legt Envelope, Entscheidungsvertrag und Audit-Chain-Regeln darüber. Der Ablauf ist zweistufig: Der Agent legt die gewrappte Anfrage dem Guardian vor, setzt dessen Entscheidung durch, leitet die Nachricht laut Ablaufbeschreibung nach einem allow an den MCP-Server weiter und lässt auch dessen Antwort prüfen, bevor er sie verarbeitet.

MCP-Tool-Aufrufe (tools/call) darf ein Deployment in die generischen Hooks steps/toolCallRequest und steps/toolCallResult zusammenführen, wenn Policies auf Tool-Ebene genügen. Das Wrapping soll zum Einsatz kommen, wenn die Policy MCP-spezifische Unterschiede braucht: Capability-Aushandlung bei initialize, serverseitige Prompt-Vorlagen (prompts/get), Ressourcenzugriffe (resources/read) und Benachrichtigungen (notifications/*). Unabhängig davon gilt: Frameworks müssen toolCallRequest für jede Aktion feuern, die den Reasoning-Kontext verlässt — auch für eingebaute Datei-, Netzwerk- oder Shell-Operationen.

MCP 2026-07-28: die Spec-Prosa hinkt hinterher

Seit dem 28.07.2026 ist die MCP-Revision 2026-07-28 aktuell (Stand Oktober 2026). Sie macht den Protokollkern zustandslos, schafft den initialize-Handshake ab und erklärt unter anderem Sampling und Roots für veraltet. Der ACS-Namespace protocols/MCP/* ist versionsneutral; die Revision 2025-06-18 erscheint in der Spezifikation nur als Beispiel. Die Prosa setzt aber noch die ältere Semantik voraus und nennt die initialize-Aushandlung ausdrücklich als zu steuernden Punkt. Ob das die Wrapper praktisch beeinträchtigt, lässt die Spezifikation offen; eine belastbare Analyse liegt uns nicht vor. Nach unserer Einschätzung sollten MCP-lastige Architekturen die generischen Tool-Hooks als primären Kontrollpunkt einplanen.

A2A: reserviert für v0.2

Der Namespace protocols/A2A/* ist in v0.1 nur reserviert; normative Wrapping-Semantik ist für v0.2 vorgesehen (Zielmarke für v0.2.0: März 2027). Die A2A-Seiten im Repository stammen aus der AOS-Zeit 2025 und sind nicht schema-kompatibel. Sichtbar werden A2A-Beziehungen heute nur indirekt: über agentTrigger mit trigger_type a2a_inbound und über a2a_peer-Komponenten in der AgBOM. In-Process-Subagenten deckt ACS dagegen mit subagentStart und subagentStop ab; jeder Subagent erhält eine eigene Session mit eigener Audit-Chain, die der Parent über den final_chain_hash referenziert, ohne die Ketten zu verschmelzen.

Skill-Lebenszyklus: register, load, unload

HookZweckOptionen des Guardians
steps/skillRegisterStatisches Prüftor: Der Guardian sieht die gesamte Skill-Definition, bevor eine ihrer Aktionen läuft. Die Freigabe gilt für das Paar (skill_id, digest).allow oder deny; ein abgelehnter Skill darf nicht ladbar werden. Deklarierte Capabilities soll er gegen die komponierten Tools prüfen und darf zu breite Deklarationen ablehnen.
steps/skillLoadLaufzeit-Tor je Aktivierung; der load_path macht Kaskaden sichtbar (Skill A lädt B, B lädt C).allow oder deny; Ladungen ohne zuordenbare Freigabe, mit abweichendem Digest oder außerhalb der deklarierten composed_skills soll er ablehnen.
steps/skillUnloadHält das aktive Inventar aktuell; darf alternativ in agbom/changed aufgehen.Nur Audit; wiederholtes Laden und Entladen ist laut Spezifikation ein beobachtenswertes Signal.

Eigene Kurzfassung der Hook-Beschreibungen in ACS v0.1.0.

Der Digest deckt das vollständige ladbare Artefakt ab, einschließlich gebündelter Modellgewichte oder Adapter; in der AgBOM persistiert werden nur Referenz und Digest, nicht der Inhalt. Auf ein vom Framework gemeldetes digest_verified soll sich der Guardian nicht verlassen, sondern selbst gegen seine Freigabe vergleichen. Die Grenze benennt das Design-Proposal zum Skill-Lebenszyklus im Repository offen: Der Digest bindet das registrierte Artefakt, nicht Code, den ein Skill später nachlädt — solches Nachladen läuft als network.egress oder process.execute über die regulären Tool-Hooks. Marketplace-Scanning vor der Veröffentlichung ist nicht Teil von ACS, und für die drei Skill-Hooks fehlt noch ein Trace-Mapping (Kapitel 9).

13Kapitel 13

Konformität und Reifegrad: was v0.1 leistet — und was nicht

ACS ist ein junges OWASP-Projekt in einem frühen Stadium. Für Architektur- und Beschaffungsentscheidungen zählt deshalb der nachprüfbare Stand: Spezifikation v0.1.0, Release 0.1.2, eine Referenzimplementierung als Proof of Concept und Konformität als Selbstdeklaration.

0.1.0Spezifikationsversion; Release 0.1.2, Tag vom 21.09.2026
2 von 19Hooks, die die Referenzimplementierung live evaluiert
7Konformitätsprofile; jeder Anspruch ist eine Selbstdeklaration
03/2027Zielmarke für v0.2.0; für v1.0 gibt es kein Datum

ACS ist ein Projekt des OWASP GenAI Security Project und laut eigenen OWASP-Nest-Metadaten auf Level 2 (Incubator) eingestuft; der Project Lead bezeichnet den Stand als „public preview“. ACS ist weder ein ISO-, IETF- noch W3C-Standard und auch keine harmonisierte Norm.

Was v0.1 bereits leistet

Trotz des frühen Stadiums liefert v0.1 Substanz: ein gemeinsames Vokabular aus 19 Hooks und fünf Dispositions, 44 veröffentlichte JSON-Schemas, eine klar beschriebene Failure Posture mit Auditpflicht für jeden Bypass und eine Spezifikation, die ihre eigenen Lücken offen benennt. Nach unserer Einschätzung reicht das, um Anbieter an einem offenen, gemeinsamen Maßstab zu messen und eigene Kontrollpunkte so zu schneiden, dass sie an spätere Versionen anschlussfähig bleiben — nicht aber, um sich auf Konformitätsetiketten zu verlassen.

Konformität ist Selbstdeklaration

Im Handshake erklärt der Observed Agent, welche Profile er unterstützt (profiles_supported), und der Guardian, welche er akzeptiert (profiles_accepted). Es gibt genau sieben Profile: acs-core als Pflicht sowie acs-trace, acs-inspect, acs-inspect-dynamic, acs-provenance, acs-crypto und acs-audit. Stufen oder Level existieren nicht. Wer Konformitätsansprüche prüft, beantwortet die Spezifikation selbst: in v0.1.0 niemand. Es gibt keine Testsuite, kein Register konformer Implementierungen und keine Stelle, die strittige Ansprüche klärt (Issue #19, offen, Priorität P1). ACS-Core garantiert zudem nur zweierlei — einen authentisierten Kanal und dass der Observed Agent die Entscheidungen des Guardians befolgt. Strenge Policies garantiert es nicht: Auch ein großzügiger Guardian ist konform.

Referenzimplementierung: der ehrliche Ist-Stand

Die einzige Referenzimplementierung ist ausdrücklich ein Proof of Concept. Sie betreibt Microsofts Agent Governance Toolkit (AGT) unverändert als Policy-Engine hinter dem ACS-Wire, mit Host-Anbindungen für Claude Code und OpenCode. Sie beansprucht acs-core nur eingeschränkt („qualified“) und keines der sechs optionalen Profile. Ein Interoperabilitäts-Benchmark mit AGT liegt nicht vor; er ist das Ziel des 90-Tage-Fensters seit dem Kick-off am 10.09.2026. Eine Unterstützung von ACS durch Microsoft lässt sich daraus nicht ableiten. Achtung Namensgleichheit: In der AGT-Dokumentation steht „ACS“ für Microsofts eigene „Agent Control Specification“ (02.06.2026), die Policy-Sprache von AGT — nicht für den OWASP-Standard.

ACS-Core-AnforderungStand der Referenzimplementierung
Handshake handshake/helloBedient, aber das ServerHello besteht aus Konstanten; das ClientHello wird nicht gelesen
Mindestens sechs Hooks2 von 19 evaluiert: steps/toolCallRequest und steps/toolCallResult
Alle fünf Dispositionsallow, deny und modify vorhanden; ask ohne ask_details (schema-ungültig); defer wird nie erzeugt
chain_hash in ResponsesKette wird geführt, aber auf keiner Response veröffentlicht
Baseline-Signatur HMAC-SHA256Nicht implementiert; Wire unauthentisiert, Schutz nur durch Loopback-Bindung (Issue #70)
Replay-SchutzNicht implementiert
Decision Honoring, on_decision_failureAuf beiden Hosts umgesetzt; Default proceed (fail-open), jeder Bypass wird auditiert (Issues #32, #37)
system/ping, protocols/MCP/*Nicht implementiert

Quelle: Selbstauskunft der Referenzimplementierung (reference-implementations/agt/README.md), Stand main-Branch vom 10.09.2026. Die Referenzimplementierung kam erst nach dem getaggten Release-Commit 0.1.2 ins Repository.

Offene Spec-Lücken mit Praxisrelevanz

  • Default fail-open: on_decision_failure und Startup-Posture stehen auf proceed; fail-closed (deny bzw. refuse) müssen Sie bewusst konfigurieren.
  • Kein Stopp-Mechanismus: v0.1 kennt keinen Kill-Switch; Unterbrechung (interruption) und Streaming sind für v0.2 vorgesehen. In v0.1 stoppt man einen Agenten nur schrittweise per deny.
  • Pflichtumfang in Bewegung: Ein offener Vorschlag (PR #21) würde modify und system/ping auf SHOULD herabstufen.
  • Interop-Lücken (eigene Analyse): HKDF-Parameter, die Signatur des Handshakes und die Eingabe für request_hash sind unterbestimmt.
  • Doku-Drift: Einzelne Seiten nennen noch 16 statt 19 Hooks oder nur drei Dispositions. Normativ sind Spezifikation und Schemas.
14Kapitel 14

Einführung in der Praxis und Regulatorik-Bezug

ACS ist kein Compliance-Werkzeug. Es liefert aber technische Bausteine, mit denen Sie die Nachweisführung für Pflichten aus AI Act, NIS2, DORA und CRA sowie für Anforderungen aus ISO/IEC 42001 unterstützen können. Dieses Kapitel ordnet die Bausteine den Anforderungen zu und skizziert einen Einstieg in fünf Schritten.

Vorweg drei Einordnungen. Erstens begründet ACS keine Konformitätsvermutung; der Spezifikationstext enthält keine Zuordnung zu AI Act, NIS2, DORA, CRA oder ISO/IEC 42001 — alle Zuordnungen unten sind VamiSec-Ableitungen. Zweitens sind KI-Agenten nicht per se Hochrisiko-Systeme. Die Hochrisiko-Pflichten aus Kapitel III Abschnitte 1–3 der VO (EU) 2024/1689 gelten nach dem Digital Omnibus (VO (EU) 2026/1744) ab 02.12.2027 für Anhang III und ab 02.08.2028 für Anhang I; Art. 50 gilt seit 02.08.2026. Drittens hängt jede Argumentation an den Profilen: ACS-Core allein enthält weder Trace noch AgBOM noch request_hash.

AnforderungACS-Baustein (Profil)NachweisartefaktVorbehalt
AI Act Art. 12: automatische AufzeichnungTrace je Step und Decision-Events, Audit-Chain (acs-trace, acs-audit)SIEM-Datenbestand, verifizierbare Hash-KetteTrace ist Selbstauskunft; ACS-Core ohne Trace
AI Act Art. 14 Abs. 4 lit. d: übersteuernask an toolCallRequest mit menschlichem Approver und timeout_disposition deny (acs-trace)Decision-Events mit ask_details, intent_extension-EinträgeApprover darf laut Spec auch agent oder service sein — per Policy ausschließen
AI Act Art. 14 Abs. 4 lit. e: anhaltendeny an sessionStart, turnStart, toolCallRequest; on_decision_failure deny, Startup-Posture refuseKonfigurationsnachweis fail-closed, Protokoll einer Stopp-ÜbungKein Kill-Switch in v0.1; Default fail-open
AI Act Art. 26: Aufsicht, Überwachung, Logs ≥ 6 MonateAuthentisierte Approver, Guardian als Laufzeit-Monitor, Trace-ExportApprover-Rollenmatrix, Monitoring-Report, Retention-PolicyACS regelt keine Aufbewahrung; Kompetenz bleibt organisatorisch
AI Act Art. 72: Post-Market-MonitoringTrace-Kennzahlen, AgBOM (mcp_server, a2a_peer), Subagent-HooksPMM-Abschnitt „Agenten-Laufzeitdaten“Template der Kommission erst bis 02.09.2027
NIS2 Art. 21 Abs. 2 / § 30 BSIGPolicy-as-Code (v0.1: OPA/Rego; Cedar-Binding für v0.2 geplant), Capability-Policies, AgBOM mit Skill-DigestFreigegebener Policy-Code, Komponenten- und Lieferantenregister je AgentMarketplace-Scanning nicht Teil von ACS
DORA Art. 8–10, RTS (EU) 2024/1774 Art. 12AgBOM als Inventar, Trace nach OCSF, signierter Chain-Head, fail-open-Audit-Events, timestamp und skew_window_msErweitertes IKT-Asset-Register, Logging-Konzept, Zeitsync-NachweisHMAC schützt nicht gegen kompromittierten Guardian
CRA Anhang I: Logging, SBOMTrace als Produktfunktion, AgBOM-Export (CycloneDX 1.6, SPDX 3.0)Build-SBOM plus AgBOM-Export, ProduktdokumentationNur für Agenten-Produkte, Anhang I gilt ab 11.12.2027; AgBOM ersetzt keine SBOM
ISO/IEC 42001 A.6.2.6, A.6.2.8, A.7.5, A.10.3Trace und Audit-Chain, acs-provenance, AgBOMEvent-Log-Konzept, Provenance-Nachweise, LieferantenlisteKeine AI-Act-Konformitätsvermutung durch 42001
NIST AI RMF MANAGE 2.4, MEASURE 2.4, GOVERN 1.6deny und ask, Trace, AgBOMDeaktivierungskriterien, Monitoring-Plan, InventarFreiwilliger Rahmen

VamiSec-Ableitung auf Basis ACS v0.1.0; weder OWASP noch Behörden haben diese Zuordnung vorgenommen. Banken und Versicherer sollten primär über DORA argumentieren, denn die Überwachungspflicht nach Art. 26 Abs. 5 AI Act gilt über die Finanz-Governance als erfüllt. Für Finanzunternehmen mit vereinfachtem IKT-Risikomanagementrahmen (Art. 16 DORA) gilt Titel III der RTS statt Art. 12.

Einstieg in fünf Schritten

  1. InventarAgenten erfassen und einstufen

    Erfassen Sie Agenten, Modelle, Tools, MCP-Server und Skills und klären Sie je Einsatz die Einstufung nach AI Act. Ergebnis: ein Agenten-Register mit Risikoklasse, Verantwortlichen und Datenzugriffen.

  2. ArchitekturKontrollpunkte und Profile festlegen

    Prüfen Sie, welche Hooks Ihre Plattform tatsächlich feuert und welche der Guardian im Handshake unter methods_evaluated bestätigt: Alles andere gilt als allow-by-default und ist ungeschützt. Wählen Sie Profile nach Nachweisbedarf, etwa acs-core plus acs-trace und acs-audit für Logging-Pflichten.

  3. PolicyPolicies als Code formulieren

    Die deterministische Schicht läuft zuerst (v0.1-Referenz: OPA/Rego). Formulieren Sie Regeln für destruktive Befehle, Egress und Zahlungen, verlangen Sie für konsequenzreiche Aktionen ask mit menschlichem Approver und timeout_disposition deny und referenzieren Sie Policy-Versionen in policy_references.

  4. BetriebFailure Posture entscheiden und testen

    Setzen Sie für Agenten mit hohem Schadenspotenzial on_decision_failure deny und die Startup-Posture refuse. Testen Sie Guardian-Ausfall, Replay und Signaturfehler und überwachen Sie Decision-Failures direkt, denn ein erfolgreicher Ping beweist keine gesunde Durchsetzung.

  5. NachweisTrace anbinden und Nachweise führen

    Exportieren Sie OCSF oder OpenTelemetry ins SIEM, setzen Sie die Use-Cases aus Kapitel 9 um und legen Sie Aufbewahrungsfristen fest. Sichern Sie den Kettenkopf extern und prüfen Sie Konformitätsangaben von Anbietern durch eigene Tests.

Eine Vertiefung mit 100-Tage-Programm, Rollenmodell, Kennzahlen und Prüffragen an Agent-Plattformen bietet das CISO-Whitepaper „Agent Control für CISOs“, das Sie weiter unten auf dieser Seite anfordern können. VamiSec begleitet Bewertung, Architektur, Policy-Design und Tests als unabhängige Beratung; VamiSec ist nicht Teil des ACS-Projekts.

Self-Assessment

ACS Readiness Assessment: Wie weit ist Ihre Runtime-Kontrolle für KI-Agenten?

18 Fragen in sechs Dimensionen, etwa 10 Minuten. Sie erhalten Ihren Reifegrad, die Bereitschaft je ACS-Baustein und Ihre größten Lücken mit konkretem nächstem Schritt.

0 / 18 Fragen beantwortet

Die vier Stufen
Nicht vorhanden
Es gibt dazu weder eine Regelung noch eine technische Umsetzung.
Ad hoc
Einzelne Teams lösen es individuell, ohne Vorgabe und ohne Nachweis.
Definiert
Verbindlich geregelt und für die wichtigsten Agenten umgesetzt.
Durchgesetzt & gemessen
Technisch erzwungen, für alle relevanten Agenten, mit Kennzahlen überprüft.
01 / 06Inventar & AgBOM

Wissen Sie, welche Agenten mit welchen Modellen, Tools, MCP-Servern und Skills laufen — auch wenn sich das zur Laufzeit ändert?

  1. 01ACS Inspect · Observed Agent

    Führen Sie ein vollständiges Register aller produktiv genutzten KI-Agenten mit verantwortlicher Stelle?

    Einschließlich Agenten-Funktionen in eingekauften SaaS-Produkten und selbst gebauter Agenten in Fachbereichen.

  2. 02ACS Inspect · AgBOM (agbom/snapshot)

    Kennen Sie je Agent die genutzten Modelle, Tools, MCP-Server, Wissensquellen, Gedächtnisspeicher und Skills?

    Die AgBOM unterscheidet acht Komponententypen: model, mcp_server, a2a_peer, tool, knowledge_source, memory_store, agent_capability und skill.

  3. 03ACS Inspect · acs-inspect-dynamic (agbom/changed)

    Erkennen Sie Änderungen an Komponenten zur Laufzeit — etwa einen neu verbundenen MCP-Server oder einen Modellwechsel?

    Ein einmaliger Snapshot reicht nicht, wenn Agenten während der Session Fähigkeiten nachladen.

Kostenloses Whitepaper

Agent Control für CISOs — Runtime-Kontrolle mit dem OWASP Agent Control Standard

Der Praxisleitfaden zu ACS v0.1.0: was der Standard regelt, wie Sie Guardian, Policies, Trace und AgBOM einführen, wie sich das auf AI Act, NIS2 und DORA abbilden lässt — und was v0.1 heute noch nicht leistet.

Cover des VamiSec-Whitepapers Agent Control für CISOs
41 SeitenPDF, kostenfreiDeutschStand 10/2026
  • Zehn Kernaussagen und ein Vorstands-Briefing auf einer Seite — mit fünf Entscheidungen für die Geschäftsleitung
  • Referenzarchitektur für Guardian und Policy-as-Code inklusive Failure-Posture-Konzept und SOC-Integration
  • Regulatorik-Mapping von AI Act bis ISO/IEC 42001 mit Nachweisartefakten — und klar markierten Grenzen
  • 100-Tage-Programm, Reifegradmodell und 20 Beschaffungsfragen an Agent-Plattformen und Guardian-Anbieter
Kostenloser Download

Whitepaper anfordern

Agent Control für CISOs — OWASP Agent Control Standard (ACS) v0.1

Das CISO-Whitepaper: Agent Control für CISOs

Teil I · Verstehen

Management Summary mit zehn Kernaussagen und einem Vorstands-Briefing auf einer Seite, das Kontrollproblem agentischer KI mit belegten Vorfällen und ACS auf einen Blick: Rollen, Pillars, Profile, Historie und Governance.

Teil II · Umsetzen

Hooks und Dispositions mit Wire-Beispielen, Guardian-Architektur und Policy-as-Code, Failure Posture, Trace ins SOC, die AgBOM als Laufzeitinventar sowie Identity und Provenance gegen die Folgen von Prompt Injection.

Teil III · Steuern

OWASP Agentic Top 10 × ACS als Heatmap, Regulatorik-Mapping zu AI Act, NIS2, DORA, CRA, ISO/IEC 42001 und NIST AI RMF mit Nachweisartefakten — und eine ehrliche Bewertung, was v0.1 leistet und was nicht.

Programm & Beschaffung

Reifegradmodell mit Operating Model, ein 100-Tage-Einführungsprogramm mit Deliverables und KPIs, 20 Beschaffungsfragen an Agent-Plattformen und Guardian-Anbieter sowie Antworten auf typische Einwände im Vorstand.

Neu · ICSPIS 2026 (IEEE)

Testen statt vertrauen: welche Evidenz ACS-Kontrollen prüfbar macht

Ein Guardian entscheidet – aber belegt Ihre Telemetrie auch, dass die Ausführung zur Entscheidung passte? Unser bei der ICSPIS 2026 angenommenes Paper leitet aus MAESTRO und STRIDE einen Evidence Contract ab; der Deep Dive überträgt ihn Feld für Feld auf ACS-Hooks, Provenance und Trace – mit Fault-Matrix, ACS-Crosswalk und Negativtests für Ihre CI.

92,9 %Recall mit sicherheitsrelevanten Bindungen (P3)
16,7 %Recall mit rein kausalem Tracing (P2)
50 %Recall ohne Decision-Events (F1)
  • ACS-Crosswalk: Angriffsfamilie → Prädikat → Hook → Guardian-Reaktion
  • Decision-Receipt-Mindestfelder in policy_data
  • Research Edition (Englisch): Paper plus ACS Practitioner Brief
Glossar

Glossar: Begriffe des Agent Control Standard

Die wichtigsten Begriffe aus ACS v0.1.0 in zitierfähigen Kurzdefinitionen — englische Spec-Begriffe bleiben im Original.

Guardian AgentPolicy Enforcement Point
Die externe Policy-Instanz in ACS: Sie bewertet die Hooks des Observed Agent außerhalb des Modells und antwortet mit einer Disposition — zuerst über deterministischen Policy-Code, optional ergänzt um eine LLM-Schicht. Nicht gleichzusetzen mit Gartners Marktbegriff „guardian agents“.
Observed Agent
Das überwachte KI-System, das den ACS-Wire-Vertrag implementiert, an jedem Entscheidungspunkt Hooks sendet und die erhaltenen Dispositions durchsetzt. Es meldet, entscheidet aber nicht über die eigenen Aktionen.
Hooksteps/*
Ein Punkt im Lebenszyklus eines KI-Agenten, an dem er anhält und den Guardian fragt, bevor er handelt. ACS v0.1.0 definiert 19 native steps/*-Hooks; ACS-Core verlangt mindestens sechs davon.
DispositionVerdict
Die Antwort des Guardian auf einen Hook: allow, deny, modify, ask oder defer. Außer bei allow ist eine Begründung im Feld reasoning Pflicht.
Failure Postureon_decision_failure
Das Verhalten des Observed Agent, wenn keine verwertbare Entscheidung rechtzeitig eintrifft. Default ist proceed (fail-open); deny (fail-closed) muss bewusst konfiguriert werden, und jeder Durchlauf ohne Entscheidung muss auditiert werden.
Handshakehandshake/hello
Der verpflichtende Sessionaufbau per handshake/hello, in dem Observed Agent und Guardian Version, bewertete Methoden (methods_evaluated), Timeout und Failure Posture aushandeln. Nicht bewertete Methoden gelten als ungeprüft erlaubt.
ACS-Coreacs-core
Das verpflichtende Basisprofil jeder ACS-Implementierung. Laut Spezifikation sichert es zweierlei: einen authentisierten Kanal und dass der Observed Agent die Entscheidungen des Guardian befolgt — strenge Policies garantiert es nicht.
KonformitätsprofilConformance Profile
Ein im Handshake deklarierter Leistungsumfang: acs-core plus die optionalen Profile acs-trace, acs-inspect, acs-inspect-dynamic, acs-provenance, acs-crypto und acs-audit. In v0.1.0 ist das reine Selbstdeklaration ohne Testsuite oder Prüfstelle.
AgBOMAgent Bill of Materials
Das dynamische Inventar der Komponenten eines Observed Agent mit acht Typen von model bis skill. Es wird je Session gemeldet, in die Audit-Chain geschrieben und kann Guardian-Entscheidungen auslösen; es ist weder AI-BOM noch CRA-SBOM.
Provenance
Feldgenaue Herkunftsangaben zu Daten im Hook-Payload: origin, source_id und derived_from. Das Framework setzt sie deterministisch, nie das LLM; Pflicht sind sie nur im Profil acs-provenance.
Audit-ChainSessionContext
Die append-only Kette der ContextEntries einer Session, verknüpft über SHA-256-Hashes. Der veröffentlichte und signierte chain_hash macht nachträgliche Änderungen erkennbar — manipulationsevident, aber nicht gegen einen kompromittierten Guardian geschützt.
Policy-as-Code
Sicherheitsregeln als versionierter, ausführbarer Code statt als Dokument. In ACS ist das die deterministische Schicht des Guardian, die immer zuerst läuft; v0.1-Startreferenz ist OPA/Rego, Cedar folgt mit v0.2.
Human-in-the-Loop / ASK-Approverask, Approver
Bei ask legt der Guardian eine Aktion einem Approver zur Freigabe vor. Approver können Mensch, Agent oder Dienst sein und müssen authentifiziert werden; menschliche Aufsicht entsteht erst durch eine Policy mit approver.type human und timeout_disposition deny.
DEFERdefer
Die Disposition, mit der der Guardian eine Entscheidung zurückstellt, etwa wegen fehlenden Kontexts oder geringer Konfidenz. Läuft die Frist ab, gilt per Default deny; kaskadierende Rückstellungen müssen je Session begrenzt sein.
MODIFYmodify
Die Disposition, mit der der Guardian eine Aktion in geänderter Form zulässt — über parameter_overrides, Schwärzungen (redactions) oder einen vollständigen Ersatzinhalt. Ein regelwidriges modify muss der Observed Agent wie deny behandeln.
Session IntentIntent.parsed
Die zu Sessionbeginn festgelegte Menge erlaubter Capabilities für einen Zweck. Sie darf weder vom LLM noch durch Tool-Ausgaben verändert werden und wächst nur über eine auditierte Freigabe per ask (intent_extension).
Capability
Eine abstrakte Berechtigung wie filesystem.delete, network.egress oder process.execute. Sie beschreibt die Wirkung einer Aktion unabhängig vom konkreten Tool und ist die Einheit, in der Session Intent und Policies formuliert werden.
MCP-Wrappingprotocols/MCP/*
Der in v0.1 spezifizierte Namensraum, in dem ACS MCP-Nachrichten unverändert an den Guardian weiterreicht. Deployments dürfen MCP-Tool-Calls alternativ über die generischen Tool-Hooks abbilden; A2A-Wrapping ist erst für v0.2 vorgesehen.
Referenzimplementierung (AGT)Reference Implementation
Der einzige Proof of Concept im ACS-Repository: ein TypeScript-Guardian, der Microsofts Agent Governance Toolkit unverändert hinter dem ACS-Wire betreibt, angebunden an Claude Code und OpenCode — weder produktionsreif noch vollständig ACS-Core-konform.
Agent Control Specification (Microsoft)Microsoft ACS
Eine eigenständige, Rego-basierte Policy-Spezifikation von Microsoft für das Agent Governance Toolkit (02.06.2026). Sie wird ebenfalls „ACS“ abgekürzt, ist aber kein Teil des OWASP Agent Control Standard.
FAQ

Häufige Fragen zum Agent Control Standard

Kurze Antworten für CISOs, Security-Architekten und GRC — Stand 04.10.2026, Spezifikation v0.1.0.

Der OWASP Agent Control Standard (ACS) ist eine offene Wire-Spezifikation für die Runtime-Kontrolle von KI-Agenten. Er legt fest, wie ein Agent — der Observed Agent — relevante Schritte per Hook an einen separaten Guardian Agent meldet und dessen Entscheidung abwartet: allow, deny, modify, ask oder defer. Drei Pillars ergänzen sich: Instrument für Hooks und Dispositions, Trace für Audit-Ereignisse nach OpenTelemetry und OCSF, Inspect für die AgBOM. ACS ist ein Projekt des OWASP GenAI Security Project, aktuell als Spezifikation v0.1.0, Release 0.1.2 (getaggt am 21.09.2026). Code und Schemas stehen unter Apache-2.0, die Dokumentation unter CC BY-SA 4.0.

Nein. ACS ist ein OWASP-Projekt in frühem Stadium — laut eigenen Projektmetadaten auf Level 2 (Incubator), vom Project Lead selbst als „public preview“ bezeichnet. Es ist weder eine ISO-, IETF- oder W3C-Norm noch eine harmonisierte Norm. Konformität ist in v0.1.0 eine Selbstdeklaration, die niemand prüft (Issue #19). Selbst der Pflichtumfang von ACS-Core wird in einem offenen Pull Request noch diskutiert. Auch die Roadmap ist vorläufig: v0.2.0 ist als Ziel für März 2027 genannt, v1.0 hat noch kein Datum. Transparent sollte auch die Herkunft sein: Gründung und Leitung des Projekts sind stark von Zenity geprägt.

System-Prompts sind keine Kontrollen: Sie wirken im selben Kanal, den ein Angreifer per Prompt Injection beeinflussen kann. Guardrail-Frameworks sind konkrete Implementierungen mit jeweils eigener Schnittstelle. ACS definiert dagegen eine offene, frameworkübergreifende Schnittstelle zwischen Agenten-Host und externem Guardian: Die Entscheidung fällt außerhalb des Modells, deterministische Policies laufen zuerst, und der Agent muss das Ergebnis umsetzen. Das zählt, weil Prompt Injection laut OpenAI „unlikely to ever be fully 'solved'“ ist (22.12.2025). ACS verhindert Prompt Injection nicht — es schafft den standardisierten Kontrollpunkt, an dem Policies gegen ihre Folgen greifen.

ACS ersetzt keines der beiden Protokolle, sondern legt eine Kontrollschicht darüber. Für MCP spezifiziert v0.1 den versionsneutralen Namensraum protocols/MCP/*: Nachrichten gehen unverändert an den Guardian, der sie vor Weiterleitung oder Verarbeitung bewertet. Deployments dürfen MCP-Tool-Calls alternativ über steps/toolCallRequest und steps/toolCallResult abbilden; ob MCP-Wrapping zu ACS-Core gehört, ist im Spec-Text widersprüchlich. Die Spec-Prosa setzt zudem noch Mechanismen vor der aktuellen MCP-Revision 2026-07-28 voraus. A2A ist in v0.1 nur reserviert, das Wrapping folgt mit v0.2. Bis dahin bleiben steps/agentTrigger mit a2a_inbound und der AgBOM-Typ a2a_peer.

ACS kann die Nachweisführung unterstützen, erfüllt den AI Act aber nicht und begründet keine Konformitätsvermutung. Für die Aufzeichnungspflicht nach Art. 12 liefern acs-trace (Ereignisse je Schritt) und acs-audit (an Request-Inhalte gebundene, manipulationsevidente Audit-Chain) Bausteine. Für menschliche Aufsicht nach Art. 14 eignet sich ask nur mit einer Policy „menschlicher Approver, Timeout deny“; einen Stop-Button kennt v0.1 nicht, nur schrittweises deny. Beachten Sie die Fristen: Hochrisiko-Pflichten gelten nach der Verordnung (EU) 2026/1744 ab 02.12.2027 (Anhang III) bzw. 02.08.2028 (Anhang I), Art. 50 gilt seit 02.08.2026. KI-Agenten sind nicht per se Hochrisiko. Die Zuordnung ist eine VamiSec-Ableitung.

Per Default läuft der Agent weiter. Trifft innerhalb des ausgehandelten Timeouts keine verwertbare Entscheidung ein, gilt on_decision_failure mit dem Default proceed (fail-open); auch ein gescheiterter Handshake startet die Session standardmäßig ungeschützt. Jeder solche Durchlauf muss als Audit-Event erfasst werden — die Spec räumt offen ein, dass ein Angreifer, der den Kanal stört, Kontrolle so in reine Protokollierung verwandelt. Fail-closed erreichen Sie mit on_decision_failure: deny und der Startup-Posture refuse. Abgelaufene ask- und defer-Entscheidungen fallen dagegen per Default auf deny. Da die Posture je Session gilt, empfehlen wir getrennte Guardians oder Sessions je Risikoklasse (VamiSec-Einschätzung).

Die Spezifikation nennt keine Millisekunden-Vorgabe. Das Timeout wird im Handshake ausgehandelt (timeout_config.default_ms, optional je Methode); jede Millisekunde davon ist im Worst Case zusätzliche Wartezeit für den Agenten. Die Referenzimplementierung setzt 5000 ms. Latenz sparen deterministische Policies, die laut Spec keine externen HTTP-Aufrufe enthalten sollen; die optionale LLM-Schicht kostet nach unserer Einschätzung spürbar mehr, das Signieren mit SLH-DSA-128s dauert laut Spec mehrere hundert Millisekunden. Betrieblich empfehlen wir, den Guardian nah am Agenten und redundant zu betreiben, Timeouts je Methode zu budgetieren und die Decision-Failure-Rate als Kennzahl zu überwachen — ein erfolgreicher system/ping belegt keine funktionierende Durchsetzung.

Es gibt genau eine Referenzimplementierung, ausdrücklich als Proof of Concept: einen TypeScript-Guardian, der Microsofts Agent Governance Toolkit unverändert hinter dem ACS-Wire betreibt, mit Host-Anbindungen für Claude Code und OpenCode. Er bewertet zwei von 19 Hooks live (steps/toolCallRequest und steps/toolCallResult), signiert nichts (Issue #70), hat keinen Replay-Schutz und läuft per Default fail-open (Issues #32 und #37). Ein Interoperabilitäts-Benchmark ist das Ziel des Projekts bis Anfang Dezember 2026, liegt aber noch nicht vor. Eine Unterstützung durch Microsoft folgt daraus nicht. Belastbare Produktiveinsätze sind uns nicht bekannt (Stand 04.10.2026).

Nein — eine Namensfalle. Microsoft veröffentlichte am 02.06.2026 eine eigene „Agent Control Specification“, ebenfalls als ACS abgekürzt: eine Rego-basierte Policy-Spezifikation des Agent Governance Toolkit mit acht Interception Points und Entscheidungen wie allow, warn, deny und escalate. Sie stammt von Microsoft, nicht vom OWASP GenAI Security Project, und erwähnt den OWASP-Standard nicht. Die Verbindung ist indirekt: Die ACS-Referenzimplementierung nutzt das Toolkit als Policy-Engine; das dort verwendete npm-Paket agent-control-specification ist Microsofts SDK, kein Artefakt des OWASP-Standards. Auf dieser Seite meint ACS immer den OWASP Agent Control Standard.

Behandeln Sie ACS als Referenzarchitektur, nicht als Produktmerkmal. Am Anfang stehen ein Agenten-Inventar mit Tools, Modellen, MCP-Servern und Skills und eine Risikoeinstufung, etwa entlang der lethal trifecta. Darauf folgen Policies für konsequenzreiche Capabilities an steps/toolCallRequest, eine bewusste Entscheidung zu Failure Posture und Approvern sowie die Anbindung des Trace an Ihr SIEM; die fünf Schritte beschreibt Kapitel 14 im Detail. Ihren Ausgangspunkt zeigen Profil-Navigator und Self-Assessment, ein 100-Tage-Programm enthält das Whitepaper. Anbieter-Claims zu ACS-Profilen prüfen Sie im Test, statt sie zu übernehmen. Wie Sie die Wirksamkeit Ihrer Guardian-Policies mit Negativtests und Decision Receipts in der CI belegen, zeigt unser Deep Dive „Agentic AI Security Testing“ zum ICSPIS-2026-Paper. VamiSec unterstützt unabhängig bei Bewertung, Architektur, Policy-Design, Einführung und Tests.

Standards & Quellen

Die Inhalte dieser Seite basieren auf den folgenden öffentlich verfügbaren Leitfäden und Studien.

OWASP GenAI Security Project · 2026

Agent Control Standard (ACS) — GitHub-Repository

Primärquelle: Spezifikation v0.1.0, Release 0.1.2, 44 JSON-Schemas, Referenzimplementierung (PoC); Code und Schemas Apache-2.0, Dokumentation CC BY-SA 4.0 — ausgewertet mit Stand 03.10.2026

OWASP GenAI Security Project · 2026

ACS Instrument Specification v0.1.0

Publizierte Spec-Doku: Wire-Format, Handshake, Hook-Taxonomie mit 19 Hooks, Dispositions, Failure Posture, Signaturen und Fehlercodes

OWASP GenAI Security Project · 2026

ACS Conformance — ACS-Core und Profile

Pflichtumfang von ACS-Core, die sechs optionalen Profile und der Hinweis, dass in v0.1.0 niemand Konformitätsclaims prüft

OWASP GenAI Security Project · 2026

ACS JSON-Schemas v0.1.0 (Beispiel: defer-details.json)

Projekteigener Schema-Namespace seit 05.09.2026; Grundlage der schema-treuen Wire-Beispiele im Simulator

OWASP GenAI Security Project · 2026

Agent Control Standard (ACS) — Ressourcenseite

Listung im Bereich Agentic Security, datiert 01.09.2026

Zenity Labs (Rock Lambros) · 2026

Control Made It Into the Name: The Agent Control Standard Lands at OWASP

Blogbeitrag des Project Lead vom 10.09.2026 zu Herkunft und Relaunch; bezeichnet ACS als „public preview“ — Herstellerquelle

Cloud Security Alliance Labs · 2026

CSA Research Note: OWASP's 2026 LLM Top 10 and New Agent Control Standard

Externe Einordnung vom 04.09.2026: ACS als „architecture to plan around and pilot against“

OWASP GenAI Security Project — Agentic Security Initiative · 2025

OWASP Top 10 for Agentic Applications 2026

Risiken ASI01–ASI10, veröffentlicht im Dezember 2025; Bezugsrahmen der Risiko-Matrix (ACS kommt darin nicht vor)

OWASP GenAI Security Project — Agentic Security Initiative · 2025

Agentic AI – Threats and Mitigations (Ressourcen der Agentic Security Initiative)

Bedrohungstaxonomie T1–T15 in Version 1.0 vom Februar 2025; abrufbar über die Ressourcenübersicht der Initiative

Europäische Union, Amtsblatt · 2024

Verordnung (EU) 2024/1689 (KI-Verordnung / AI Act)

Art. 9, 12, 14, 15, 19, 26, 50 und 72 als Bezugspunkte des Regulatorik-Mappings

Europäische Union, Amtsblatt · 2026

Verordnung (EU) 2026/1744 (Digital Omnibus on AI)

Verschiebt die Hochrisiko-Pflichten auf 02.12.2027 (Anhang III) bzw. 02.08.2028 (Anhang I)

National Institute of Standards and Technology · 2023

NIST AI 100-1: Artificial Intelligence Risk Management Framework (AI RMF 1.0)

Freiwilliger Rahmen; MANAGE 2.4 zu Mechanismen, KI-Systeme abzulösen, abzukoppeln oder zu deaktivieren

OpenTelemetry · abgerufen 10/2026

OpenTelemetry Semantic Conventions für Generative AI

Status „Development“; Vergleichsbasis für die Trace-Mappings von ACS (Tool-Spans dort: execute_tool)

Open Cybersecurity Schema Framework (Linux Foundation) · abgerufen 10/2026

OCSF Schema 1.5.0 — Kategorien und Klassen

Abgleich der von ACS genutzten Klassen-UIDs und -Namen, u. a. 2004 Detection Finding und 6002 Application Lifecycle

OWASP Foundation / Ecma TC54 · 2025

CycloneDX Specification Overview

Aktuell Version 1.7; ACS serialisiert die AgBOM nach CycloneDX 1.6

Microsoft (Responsible AI) · 2026

Introducing Agent Control Specification: Portable runtime governance for AI Agents

Abgrenzung: eigenständige Microsoft-Spezifikation vom 02.06.2026, ebenfalls „ACS“ abgekürzt, nicht Teil des OWASP-Standards

Microsoft Open Source Blog · 2026

Introducing the Agent Governance Toolkit (Microsoft Open Source Blog)

Ankündigung vom 02.04.2026; das Toolkit dient der ACS-Referenzimplementierung unverändert als Policy-Engine

OpenAI · 2025

Continuously hardening ChatGPT Atlas against prompt injection attacks

22.12.2025: Prompt Injection sei „unlikely to ever be fully 'solved'“ — Argument für modellunabhängige Laufzeitkontrollen

Runtime-Kontrolle für Ihre KI-Agenten aufbauen?

VamiSec begleitet Sie unabhängig: Bewertung Ihrer Agenten-Landschaft, Guardian-Architektur und Policy-Design entlang ACS, Einführung und Tests — ohne Zertifizierungsversprechen und mit klarem Blick auf den Reifegrad von v0.1.