Technik13. August 202614 Min. Lektüre

Tiefer Einblick in die Technik: Erkennung gefährlicher Toolketten und Run-Level-Agent-Missbrauch

Wie KLA akkumulierte Lauffakten an Workflow-Kontrollpunkten auswertet, um gefährliche Tool-Aufruf-Kombinationen zu erkennen, die die Aufrufrichtlinie nicht erkennen kann.

Antonella Serine

Antonella Serine

Gründerin, KLA

Gründerin von KLA. Sie entwickelt die unabhängige Kontrollebene für die Laufzeit-Governance regulierter KI-Agenten im Rahmen des EU AI Act.

Erkennungseinheit

Der Lauf. Deterministische Prüfpunktregeln werten akkumulierte Werkzeugfakten aus: Aufrufzahlen, deklarierte Bezeichner, numerische Summen und Maxima pro Aufruf.

Kontrollpunkt

Ein Workflow policy_gate nach einem Agentenschritt. Es löst allow, warn, require_approval oder block auf, bevor die Ausführung fortgesetzt wird.

Faktengrenze

Nur in der Registrierung deklarierte Bezeichnerwerte und endliche Zahlen werden in die Lauffakten aufgenommen. Rohe Werkzeugeingaben, Freitext und Aufrufreihenfolge bleiben außen vor.

Beweise

Bei einer Prüfpunkterkennung bleibt die Standardrichtlinienentscheidung mit Regel-ID, Ursachencodes und den ausgewerteten Run-Fact-Feldern auf dem vorhandenen Prüf- und Vorfallpfad bestehen.

Ein Agent kann jede Richtlinienprüfung pro Anruf bestehen und trotzdem etwas tun, was kein Prüfer unterschreiben würde. Jeder Anruf in read customer PII -> summarize -> send to an external webhook kann einzeln genehmigt werden, und hundert Zahlungen zu je 45 können jeweils einen Genehmigungsschwellenwert von 500 erreichen. KLA behandelt diese Klasse mit Prüfpunkten auf Laufebene: Der Ausführungsarbeiter sammelt sichere, in der Registrierung deklarierte Fakten über die Toolaufrufe, die ein Lauf abgeschlossen hat, und ein Workflow-Richtlinien-Gate wertet deterministische Regeln für diese gesammelten Fakten aus, bevor der Lauf fortgesetzt wird. Eine übereinstimmende Regel führt zu denselben vier Ergebnissen wie jede andere KLA-Richtlinienentscheidung (allow, warn, require_approval oder block) und behält dieselben Entscheidungs-, Vorfall- und Beweisdatensätze bei. Dieser ausführliche Einblick behandelt, was die Lauffakten enthalten, die drei ausgelieferten Regelvorlagen, wo sich der Prüfpunkt befindet und den Prüfdatensatz, der eine Erkennung erzeugt.

Dieser Artikel erweitert die in MCP-Prüfung: Sichern und Steuern jedes Tool-Aufrufs beschriebene Ebene pro Anruf und die Eindämmungsschicht in der KI-Agent-Kill-Switch-Architektur. Alle Beispielketten, Werkzeugnamen und Schwellenwerte sind synthetisch.

Die Lücke: individuell erlaubte Anrufe, die zu Missbrauch führen

Die Richtlinie pro Anruf beantwortet eine Frage gut: Darf dieser Auftraggeber dieses Tool hier und jetzt mit diesen Argumenten ausführen? Eine Zulassungsliste pro Anruf verfügt über keinen Speicher und kann daher nicht beantworten, ob dieser Anruf angesichts dessen, was der Lauf bereits bewirkt hat, gefährlich ist. Drei synthetische Muster zeigen die Lücke.

Ein Supportmitarbeiter kann einen Kundendatensatz lesen, Text zusammenfassen und einen Benachrichtigungs-Webhook aufrufen. Jede Fähigkeit hat einen legitimen Nutzen. Die Kombination innerhalb eines Laufs verschiebt regulierte Daten an ein externes Ziel. Ein Zahlungsagent kann Zahlungen unter einer Genehmigungsschwelle von 500 einreichen; Sechzig solcher Anrufe in einem Lauf bewegen 25.000 ohne eine einzige menschliche Entscheidung. Ein Retrieval-Agent, der Kunden auflisten darf, und ein Export-Tool, das Dateien schreiben darf, sind beide unauffällig; Eine Aufzählung mit anschließendem Massenexport ist eine Exfiltrationsform wie aus dem Lehrbuch.

Der Fehlermodus ist die Zusammensetzung. Jedes Tor sah einen erlaubten Aufruf, und das gefährliche Objekt (die Sequenz, das Aggregat, der werkzeugübergreifende Datenfluss) existierte nie als einzelne Richtlinieneingabe. Die Run-Level-Erkennung macht dieses Objekt auswertbar.

Synthetische Ketten, bei denen jeder einzelne Anruf die Richtlinien pro Anruf durchläuft
KetteUrteile pro AnrufWichtige Eigenschaft auf Run-Ebene
PII-Datensatz lesen, zusammenfassen, an externen Webhook sendenallow, allow, allowDer geheime oder vertrauliche Abruf erfolgt gleichzeitig mit einem externen Versand in einem Durchgang
Sechzig Zahlungen zu je 45 unter einem Schwellenwert von 500allow x 60Die Anzahl der Anrufe und der Gesamtbetrag überschreiten eine Grenze, während jeder Anruf unter der Obergrenze pro Anruf bleibt
Kunden auflisten und dann 8.000 Datensätze exportierenallow, allowDie Aufzählung erfolgt zusammen mit einem Export, dessen deklariertes Datensatzvolumen einen Schwellenwert überschreitet
Lesen Sie die Connector-Anmeldeinformationen und registrieren Sie dann einen neuen ausgehenden Connectorallow, allowDie durch ein Werkzeug erworbene Fähigkeit wird im selben Lauf durch ein anderes Werkzeug ausgegeben

Was ein Run-Checkpoint tatsächlich sieht

KLA-Richtlinien werten JSON-Logikausdrücke über ein typisiertes GateContext aus. Die Regeln pro Aufruf lauten context.action: der Toolname, die Argumente und das Ziel eines vorgeschlagenen Aufrufs. Die Run-Checkpoint-Regeln lesen context.run.tools: ein Akkumulator, den der Ausführungsarbeiter während eines Laufs verwaltet und der durch einen sicheren Faktschlüssel pro Tool verschlüsselt ist.

Jeder Tool-Eintrag enthält vier Fakten. calls zählt abgeschlossene Vorgänge, wobei die Schlüssel für wiederholte Vorgänge dedupliziert werden, sodass ein temporärer Wiederholungsversuch die Anzahl nicht erhöhen kann. argValues enthält deduplizierte, begrenzte, in der Registrierung deklarierte, bezeichnerförmige Werte. numericSums enthält die Summen der in der Registrierung deklarierten endlichen numerischen Eingaben. numericMaximums hält das Maximum pro Feld während des Laufs, ein ungeordnetes Aggregat, das verhindert, dass eine wiederholte Regel mit niedrigem Wert mit einer kleinen Anzahl von Aufrufen mit hohem Wert übereinstimmt.

Die Projektionsgrenze ist bewusst schmal. Ein Registrierungstool meldet sich über metadata.run_fact_arg_keys, metadata.run_fact_numeric_keys und optional metadata.run_fact_key an; Jede deklarierte Feldliste akzeptiert höchstens 32 Schlüssel. Projection wird neben dem Tool-Executor ausgeführt, und die Beobachtung, die in den Temporal-Workflow übergeht, enthält die Mandanten-ID, die Ausführungs-ID, den codierten Tool-Schlüssel, einen undurchsichtigen Operations-Digest und die deklarierten Werte. Rohe Werkzeugeingaben, freier Text, numerische Zeichenfolgen und die Ereignisreihenfolge überschreiten diese Grenze nie, sodass Lauffakten nicht zu einer Schattenkopie sensibler Nutzlasten werden können.

Kumulierte Lauffakten, sobald sie vom Prüfpunkt empfangen werden (context.run)
{
  "Werkzeuge": {
    „secret_read“: {
      „Anrufe“: 1,
      "argValues": {},
      "numericSums": {},
      "numericMaximums": {}
    },
    „external_send“: {
      „Anrufe“: 1,
      "argValues": {},
      "numericSums": {},
      "numericMaximums": {}
    },
    "zahlung_submit": {
      „Anrufe“: 12,
      „argValues“: {
        „beneficiary_id“: [
          „bene-2201“,
          „bene-2207“,
          „bene-2213“
        ]
      },
      "numericSums": {
        "Betrag": 4620
      },
      „numericMaximums“: {
        "Betrag": 480
      }
    }
  }
}
  • Eigentum: Der Temporal-Workflow ist Eigentümer des Akkumulators und lehnt Beobachtungen von einem anderen Mandanten ab oder wird vor der Aggregation ausgeführt.
  • Grenzen: Eindeutige Vorgangsidentitäten und beibehaltene Bezeichnerwerte sind begrenzt, sodass ein Chatty-Tool den Workflow-Status nicht erhöhen kann.
  • Genehmigungsbindung: Ein Tool, dessen Ausgabe mit einem Gatter versehen ist, trägt seinen Fakt erst bei, nachdem sein eigenes Ausgabegatter zur Genehmigung aufgelöst wurde. Ein blockierter Anruf, eine Ablehnung der Safe-Anzeige oder eine Genehmigung für ein anderes Tor lässt nichts zu.
  • Fakten zum Vorkommen: Ein Tool mit einer expliziten Run-Fact-Deklaration zeichnet einen calls-Eintrag auf, auch wenn es keinen Bezeichner oder kein numerisches Feld deklariert, sodass eine Richtlinie erfordern kann, dass die Überprüfung tatsächlich ausgeführt wurde.

Drei deterministische Regelvorlagen, mandantenkonfiguriert

buildDangerousToolChainRules in @kla/shared generiert drei deterministische Regeln für eine Mandantenrichtlinienversion. Der Mandant stellt die Namen der Registrierungstools, die numerischen Feldnamen, die Schwellenwerte und das Ergebnis bereit, das jede Regel auflösen soll: warn, require_approval oder block, mit einer Genehmigergruppe, für die die Genehmigung gilt.

Die erste Vorlage entspricht einem Lauf, bei dem ein konfiguriertes Secret-Retrieval-Tool und ein konfiguriertes External-Send-Tool beide vor dem Prüfpunkt abgeschlossen wurden. Die zweite Option gleicht die Kundenaufzählung ab, die gleichzeitig mit einem Export erfolgt, dessen deklarierte Datensatzanzahl das konfigurierte Volumen erreicht. Die dritte Methode gleicht wiederholte Aktionen mit geringem Wert ab: Die Anrufanzahl und die Gesamtmenge erreichen ihre Schwellenwerte, während das Maximum pro Anruf bei oder unter der konfigurierten Grenze bleibt, was die strukturelle Signatur der Schwellenwertaufteilung darstellt.

Bei den generierten Regeln handelt es sich um normale Richtlinienregeln. Sie werten in der normalen Richtlinienversion des Mandanten über dieselbe Engine aus wie jede Regel pro Aufruf, im deterministischen Modus, mit stabilen Regel-IDs und Ursachencodes. Die folgende Richtlinie bettet die genaue Ausgabe des Hilfsprogramms für eine synthetische Vorlage ein; Der Geschwistertest in diesem Repository generiert es aus @kla/shared neu und beweist, dass die beiden übereinstimmen und dass das Dokument anhand des veröffentlichten PolicyVersion-Schemas validiert wird.

Schemagültige Prüfpunktrichtlinie, generiert von buildDangerousToolChainRules
{
  „schemaVersion“: „1.0.0“,
  „policyId“: „pol_run_tool_chain_checkpoints“,
  „workspaceId“: „workspace-regulated-operations“,
  „name“: „Tool-Chain-Prüfpunkte ausführen“,
  „description“: „Wertet akkumulierte Lauffakten an Workflow-Kontrollpunkten auf gefährliche Tool-Call-Kookkurrenzen und Aggregate aus.“,
  „status“: „Entwurf“,
  „Version“: „1.0.0“,
  „policyKind“: „guardrail“,
  "Umfang": {
    „workflowIds“: [],
    "agentIds": [],
    "stepIds": [],
    „Umgebungen“: [
      „Produkt“
    ]
  },
  „defaultDecision“: „allow“,
  „Regeln“: [
    {
      „ruleId“: „run-tool-chain-secret-then-external“,
      „name“: „Geheimer Abruf und externer Versand treten gleichzeitig auf“,
      „description“: „Erkennt konfigurierte Secret-Retrieval- und External-Send-Aufrufe, die vor einem Prüfpunkt gleichzeitig auftreten. Version 1 legt keine Aufrufreihenfolge fest.“,
      „wann“: {
        „Ausdruck“: {
          „und“: [
            {
              ">": [
                {
                  „var“: „context.run.tools.secret_read.calls“
                },
                0
              ]
            },
            {
              ">": [
                {
                  „var“: „context.run.tools.external_send.calls“
                },
                0
              ]
            }
          ]
        }
      },
      „dann“: {
        „Entscheidung“: „block“,
        „reason“: „Der Lauf hat ein Geheimnis abgerufen und vor diesem Prüfpunkt ein externes Ziel erreicht.“,
        „reasonCodes“: [
          „run_chain_secret_then_external“
        ]
      },
      „Ausführung“: {
        „Modus“: „deterministisch“
      },
      „Beweis“: {
        „evaluatedFields“: [
          „context.run.tools.secret_read.calls“,
          „context.run.tools.external_send.calls“
        ],
        „artifactRefs“: []
      }
    },
    {
      „ruleId“: „run-tool-chain-enumeration-then-export“,
      „name“: „Kundenaufzählung und großer Export treten gleichzeitig auf“,
      „description“: „Erkennt konfigurierte Kundenaufzählungen und große Exportfakten, die vor einem Prüfpunkt gleichzeitig auftreten. Version 1 legt keine Anrufreihenfolge fest.“,
      „wann“: {
        „Ausdruck“: {
          „und“: [
            {
              ">": [
                {
                  „var“: „context.run.tools.customer_enumeration.calls“
                },
                0
              ]
            },
            {
              ">=": [
                {
                  „var“: „context.run.tools.customer_export.numericSums.record_count“
                },
                500
              ]
            }
          ]
        }
      },
      „dann“: {
        „Entscheidung“: „require_approval“,
        „reason“: „Der Lauf zählte Kunden auf und exportierte Datensätze über das konfigurierte Volumen hinaus.“,
        „reasonCodes“: [
          „run_chain_enumeration_then_export“
        ],
        „approverGroup“: „security_reviewers“
      },
      „Ausführung“: {
        „Modus“: „deterministisch“
      },
      „Beweis“: {
        „evaluatedFields“: [
          „context.run.tools.customer_enumeration.calls“,
          „context.run.tools.customer_export.numericSums.record_count“
        ],
        „artifactRefs“: []
      }
    },
    {
      „ruleId“: „run-tool-chain-repeated-low-value-actions“,
      „name“: „Wiederholte Aktionen mit geringem Wert überschreiten den Gesamtschwellenwert“,
      „description“: „Erkennt konfigurierte wiederholte Aktionen, deren jede deklarierte Menge bei oder unter der konfigurierten Grenze pro Aufruf liegt und deren Gesamtheit den konfigurierten Schwellenwert überschreitet.“,
      „wann“: {
        „Ausdruck“: {
          „und“: [
            {
              ">=": [
                {
                  „var“: „context.run.tools. payment_submit.calls“
                },
                10
              ]
            },
            {
              ">=": [
                {
                  „var“: „context.run.tools. payment_submit.numericSums.amount“
                },
                4000
              ]
            },
            {
              "<=": [
                {
                  „var“: „context.run.tools. payment_submit.numericMaximums.amount“
                },
                500
              ]
            }
          ]
        }
      },
      „dann“: {
        „Entscheidung“:„require_approval“,
        „reason“: „Wiederholte Zahlungen unterhalb der Grenze pro Anruf haben den Gesamtschwellenwert überschritten.“,
        „reasonCodes“: [
          „run_chain_repeated_low_value“
        ],
        „approverGroup“: „zahlungen_reviewers“
      },
      „Ausführung“: {
        „Modus“: „deterministisch“
      },
      „Beweis“: {
        „evaluatedFields“: [
          „context.run.tools. payment_submit.calls“,
          „context.run.tools. payment_submit.numericSums.amount“,
          „context.run.tools. payment_submit.numericMaximums.amount“
        ],
        „artifactRefs“: []
      }
    }
  ]
}

Wo sich der Kontrollpunkt befindet und was passiert, wenn er entdeckt wird

KLA-Richtlinienregeln werden an Abfangpunkte entlang des geregelten Ausführungspfads angehängt: input, tool_call, tool_result, step_output und Workflow-Richtlinien-Gates. Die Durchsetzung pro Anruf bleibt vor jedem Nebeneffekt bei tool_call, genau wie im MCP-Prüfungsleitfaden beschrieben. Ausführungsfakten werden nur für Workflow-policy_gate-Schritte bereitgestellt, daher lässt eine Kettenregel interceptionPoint nicht festgelegt und löst an den Prüfpunkten aus, die der Workflow-Autor nach Agentenschritten platziert. Ein Kontrollpunkt sieht die Fakten der vor diesem Gate abgeschlossenen Anrufe und seine Entscheidung wird vor der Ausführung eines späteren Schritts aufgelöst; Die bereits ausgeführten Anrufe führen ihre eigenen Entscheidungsaufzeichnungen pro Anruf.

Die Platzierung ist eine Entwurfsentscheidung mit demselben Charakter wie die Platzierung einer Datenbankbeschränkung. Ein Prüfpunkt nach jedem Agentenschritt begrenzt, wie viel ein Lauf zwischen den Auswertungen zusammensetzen kann. Ein einziger Kontrollpunkt vor dem daraus resultierenden letzten Schritt (dem Senden, dem Export, der Stapelfreigabe) konzentriert die Überprüfung dort, wo der irreversible Effekt auftritt. Beide Platzierungen verwenden dieselben Regeln und erzeugen dieselben Datensätze.

Bei einer Übereinstimmung folgt die Entscheidung der Standard-KLA-Semantik. block beendet den Vorgang und eine nicht erreichbare Richtlinien-Engine löst Fail-Closed in denselben Terminalstatus auf. require_approval pausiert den Workflow und leitet eine Entscheidungsanfrage an die konfigurierte Genehmigergruppe weiter, und die Ausführung wird nur bei einer autorisierten Genehmigung fortgesetzt. warn lässt den Lauf weiterlaufen und erzeugt ein überprüfbares Signal. Vorfallauslöser werden über den vorhandenen Richtlinienentscheidungspfad ausgelöst, an den auch eine laufbezogene Eindämmung wie der Kill-Schalter angehängt wird, wenn eine Erkennung eine Suspendierung des Agenten über die aktuelle Ausführung hinaus erfordert.

Mehrschichtige Durchsetzung während des gesamten Laufs
SchichtBewertetFängeFehlt
Gate pro Anruf (tool_call)Ein vorgeschlagener Aufruf: Tool, Argumente, Ziel, PrinzipalUnautorisierte Tools, schlechte Argumente, falsches ZielAlles, was nur anrufübergreifend sichtbar ist
Ausgangsgatter (tool_result / step_output)Eine produzierte Ausgabe vor der VeröffentlichungInhalte, die gegen die Richtlinien verstoßen, verlassen einen SchrittGesamteffekt vieler kleiner Ausgaben
Prüfpunkt ausführen (policy_gate über context.run)Kumulierte Anzahlen, Bezeichner, Summen und Maxima für den gesamten bisherigen LaufGefährliches gleichzeitiges Auftreten, Schwellenwertaufteilung, Aufzählung plus ExportvolumenAufrufreihenfolge, Cross-Run-Muster, statistische Anomalien
Eindämmung (Kill-Schalter)Betreiber oder ausgelöstes Urteil über den Agenten selbstEin kompromittierter oder treibender Agent über Läufe hinwegZum Aufruf ist ein Erkennungs- oder Bedienersignal erforderlich

Der Beweis, den eine Entdeckung liefert

Eine Checkpoint-Erkennung erstellt keinen maßgeschneiderten Datensatztyp. Der Prüfpunkt wertet über die gleiche Policy-Gate-Aktivität aus wie jedes andere Gate, sodass die persistente Entscheidung die Richtlinien-ID und -Version, die übereinstimmende Regel-ID, die aufgelöste Entscheidung, den Grund und die Ursachencodes, den Determinismusmodus und die ausgewerteten Felder enthält, die für diese Regeln die Run-Fact-Pfade selbst sind, wie z. B. context.run.tools.payment_submit.numericSums.amount. Die Entscheidung landet auf dem bestehenden Prüfungs-, Vorfallauslöser- und Beweispfad.

Diese Wiederverwendung ist für die Überprüfung wichtig. Im Audit Trail liest sich eine blockierte Kette wie jede andere blockierte Aktion: ein Akteur, ein Gate, eine Richtlinienversion, eine Regel, ein Ursachencode wie run_chain_repeated_low_value und ein Endergebnis, verbunden mit der Ausführung durch die Ausführungskennung. Ein Prüfer, der bereits eine Entscheidung pro Anruf überprüfen kann, kann mit demselben Verfahren eine Kettenentscheidung überprüfen, und die von der Regel ausgewerteten Zahlen (zwölf Anrufe, insgesamt 4.620, ein Maximum pro Anruf von 480) sind im Entscheidungskontext vorhanden, ohne dass daneben Rohzahlungsnutzlasten vorhanden sind.

Wenn das Ergebnis require_approval ist, zeigt die Entscheidungsanforderung dem Prüfer die übereinstimmende Regel, den Grund und die aggregierten Fakten, die den Schwellenwert überschritten haben, und die Genehmigung oder Ablehnung wird über den Standardablauf an diese Anfrage gebunden. Der versiegelte Beweisexport enthält dann den gesamten Bogen: die pro Anruf zugelassenen Genehmigungen, die jede Tatsache zuließen, die Kontrollpunktentscheidung, die die Zusammensetzung erfasste, die menschliche Entscheidung, wo eine erforderlich war, und den Endstatus des Laufs.

Zuordnung der Beispiele zu OWASP-Agenten-Bedrohungskategorien

Die OWASP Top 10 for Agentic Applications, Version 2026 benennt die Bedrohungsklassen, gegen die diese Kontrollen vorgehen. Der Runtime Controls and Evidence Guide ordnet alle zehn Kategorien KLA-Kontrollen zu, und der EU AI Act Crosswalk ordnet sie Regulierungsartikeln zu. In der folgenden Tabelle werden nur die Runlevel-Erkennungen in diesem Frame platziert.

Run-Level-Erkennungen anhand von OWASP-ASI-Kategorien
Synthetische KetteOWASP-KategorieSteuerung auf Run-Ebene
Geheimer Abruf, der gleichzeitig mit einem externen Versand erfolgtASI02 Werkzeugmissbrauch und -ausbeutungDie Kookkurrenzregel blockiert die Ausführung am Prüfpunkt, bevor spätere Schritte ausgeführt werden
Aufzählung plus MassenexportvolumenASI02 Werkzeugmissbrauch und -ausbeutung; ASI09 Ausnutzung des Vertrauens zwischen Menschen und AgentenDer numerische Summenschwellenwert leitet eine Entscheidungsanforderung mit dem angezeigten Gesamtvolumen weiter
Schwellenwertsplitting-ZahlungenASI01 Agent Goal Hijack; ASI09 Ausnutzung des Vertrauens zwischen Menschen und AgentenDie Zähl-, Aggregations- und Maximalregel pro Anruf stellt die menschliche Zustimmung wieder her, die der Aufteilung entgangen ist
Fähigkeit, die in einem Werkzeug erworben und in einem anderen ausgegeben wirdASI03 Identitäts- und PrivilegienmissbrauchKoexistenzregel über die Erwerbs- und Ausgabeinstrumente; Die Eindämmung eskaliert zum Notausschalter
Driften Sie während eines Laufs auf eines der oben genannten Punkte zuASI10 SchurkenagentenCheckpoint-Entscheidungen führen zu Vorfallauslösern, dem Standardpfad zur Ausführung und der Suspendierung von Agenten

Grenzen der Version 1

Die ausgelieferte Implementierung gibt ihre Grenzen an, und ein Sicherheitsingenieur sollte diese berücksichtigen. Regeln werten deklarierte Zählungen, Bezeichner und numerische Aggregate aus; Version 1 behält die Aufrufreihenfolge nicht bei oder leitet sie nicht ab. Daher wird eine Regel für das gemeinsame Vorkommen ausgelöst, unabhängig davon, ob der geheime Lesevorgang vor oder nach dem externen Senden erfolgt ist. Für eine Exfiltrationskontrolle ist diese Asymmetrie akzeptabel, da beide Ordnungen einer Überprüfung bedürfen. Regeln prüfen keine Rohnutzlasten, Modellbegründungen oder statistische Anomaliewerte.

Fakten leben im aktuellen Temporal-Workflow-Status. Es gibt keinen geordneten dauerhaften Aktionsereignisspeicher, keine Vorgängerinferenz und keine Korrelation zwischen unabhängigen Läufen, sodass eine auf zwei Läufe aufgeteilte Kette einen Prüfpunkt für einen einzelnen Lauf umgeht. An einem Kontrollpunkt werden nur Anrufe angezeigt, die vor diesem Gate abgeschlossen wurden. Ein Folgeaufruf, der nach dem letzten Kontrollpunkt eines Laufs platziert wird, wird allein durch seine Pro-Aufruf- und Ausgabe-Gates gesteuert. Die Routenplatzierung verbleibt beim Workflow-Autor.

Die Produktionseinführung erfordert drei vom Mandanten kontrollierte Schritte: Registrierungsdeklarationen für die tatsächlich verwalteten Tools, eine veröffentlichte Mandantenrichtlinienversion mit den generierten Regeln und einen Workflow policy_gate, der nach dem relevanten Agentenschritt platziert wird. Der Codepfad und seine deterministischen Vorrichtungen werden in der Plattform ausgeliefert; Die Schwellenwerte und Ergebnisse sind Governance-Entscheidungen, die jeder Mieter im Hinblick auf seine eigene Risikobereitschaft trifft.

Häufig gestellte Fragen

Warum übersehen die Zulassungslisten pro Anruf gefährliche Toolketten?

Ein Gate pro Anruf wertet eine vorgeschlagene Aktion aus, ohne dass eine Erinnerung an die Ausführung besteht. Gefährliche Ketten bestehen aus einzeln zugelassenen Aufrufen, sodass das wichtige Objekt (die Kombination, die Gesamtmenge, das Exportvolumen) niemals als Eingabe für eine einzelne Entscheidung pro Aufruf erscheint.

Erkennt KLA die Reihenfolge der Werkzeugaufrufe in einem Lauf?

Version 1 wertet ungeordnete Fakten aus: Anrufanzahl, deklarierte Bezeichnerwerte, numerische Summen und Maxima pro Anruf. Eine Kookkurrenzregel stimmt unabhängig davon überein, welcher Aufruf zuerst kam, und die Regelbeschreibungen geben dies an. Der geordnete Aktions-Ereignisverlauf liegt außerhalb des Lieferumfangs.

Welche Daten gelangen in den Run-Fact-Akkumulator?

Nur Werte, die von der Tool-Registrierung deklariert werden: bezeichnerförmige Zeichenfolgen unter deklarierten Argumentschlüsseln und endliche Zahlen unter deklarierten numerischen Schlüsseln sowie eine Aufrufanzahl pro Tool. Rohe Werkzeugeingaben, freier Text, numerische Zeichenfolgen und die Ereignisreihenfolge werden an der Projektionsgrenze ausgeschlossen, bevor die Beobachtung den Workflow erreicht.

Was passiert, wenn eine Kettenregel übereinstimmt?

Der Prüfpunkt löst das vom Mandanten konfigurierte Ergebnis durch Standardrichtliniensemantik auf. block beendet den Lauf, require_approval pausiert ihn und leitet eine Entscheidungsanfrage an die konfigurierte Genehmigergruppe weiter, und warn zeichnet ein überprüfbares Signal auf. Vorfallauslöser und Beweisaufzeichnungen folgen dem bestehenden Richtlinien-Entscheidungspfad.

Wie erscheint eine Entdeckung im Audit Trail?

Als standardmäßige Richtlinienentscheidung, die mit dem Lauf verbunden ist: Richtlinien-ID und -Version, übereinstimmende Regel-ID, Entscheidung, Ursachencodes und die ausgewerteten Run-Fact-Felder wie Anrufanzahl und numerische Summen. Zu den Exporten versiegelter Beweise gehören die Entscheidungen pro Anruf, die jeden Sachverhalt zuließen, und die Kontrollpunktentscheidung, die die Zusammensetzung auffing.

Kann ein Agent der Entdeckung entgehen, indem er eine Kette auf mehrere Läufe aufteilt?

Ja, innerhalb von Version 1. Fakten sind auf einen Lauf beschränkt und unabhängige Läufe sind nicht korreliert. Zu den kompensierenden Kontrollen gehören Grenzwerte pro Anruf, Ausgangstore an den Folgewerkzeugen, die Platzierung von Kontrollpunkten vor irreversiblen Schritten und die Eindämmung auf Agentenebene durch den Notausschalter.

Die wichtigsten Erkenntnisse

Die Run-Level-Erkennung schließt die Lücke zwischen der Autorisierung pro Aufruf und dem Verhalten, über das sich ein Prüfer tatsächlich Sorgen macht: die Komposition. Der mitgelieferte Mechanismus ist klein und überprüfbar: von der Registrierung deklarierte Fakten, drei deterministische Regelvorlagen, ein Prüfpunkt am vorhandenen Richtlinientor und die standardmäßigen Entscheidungs- und Beweisdatensätze. Überlagern Sie es mit den anrufspezifischen Kontrollen im MCP-Prüfungsleitfaden, dem Kategorie-für-Kategorie-Programm im OWASP-Laufzeitkontrollleitfaden und dem Eindämmungsdesign in der Kill-Switch-Architektur. Testen Sie Ihre aktuellen Beweise anhand dieser Klasse mit dem Agent Audit Readiness Assessment.

In Aktion sehen

Bereit, Ihre Compliance-Nachweise zu automatisieren?

Buchen Sie eine 20-minütige Demo, um zu sehen, wie KLA Ihnen hilft, Human Oversight nachzuweisen und auditfertige Annex IV Dokumentation zu exportieren.

Tiefer Einblick in die Technik: Erkennung gefährlicher Toolketten und Run-Level-Agent-Missbrauch | KLA Blog