Guides · Implementation

AI agent control evaluation kit

Evaluate the path from an agent request to a real effect. Use a reusable checklist with any implementation, and reproduce a separate export-integrity exercise with the public AAES verifier.

By AAESPublished Reviewed

This page describes AAES Govern’s controls. AAES Operate has private-work permissions, operational reviews and recorded-spend limits; it does not include Govern. About AAES Govern

Download the kit

The checklist and procurement questions are free to reuse under CC BY 4.0. The Python runner uses the standard library and is Apache-2.0 licensed. No account is needed for these materials or the public verifier.

The blank control checklist reports no completed control tests. The recorded results concern only the separate synthetic export exercise described below.

Define the evaluation before running it

Choose one workflow and an authorized test environment with synthetic data and controlled effects. Name the agent, accountable person, provider operations, credentials, routes, and exclusions. Agree each expected observation and the time window in advance.

Capture what the downstream service actually does. A denial response alone does not prove that no effect occurred; a recorded dispatch alone does not prove success. Mark checks as not run, observed, failed expectation, or inconclusive. Label local simulations and live provider-tenant tests separately.

The method is vendor-neutral in its test questions. AAES is the publisher and a vendor in this category; this is not an independent ranking or a certification.

Fourteen control checks

Use the downloadable checklist for individual test IDs, expected observations, and evidence fields. These are proposed tests for the implementation you evaluate, not claims that every product supports or passes them.

Control checks grouped by the boundary they examine
IDsAreaExercise
C01–C05Approval and authorityWithhold approval; change the approved request; reuse expired authority; attempt self-approval; cross operation, resource, or tenant scope.
C06Credential bypassInventory direct credentials and alternate routes. Identify which paths the evaluated control can actually prevent.
C07–C08Spending and retriesSubmit concurrent commitments near a shared ceiling, then lose a response after acceptance and check for duplicate effects.
C09–C10Outage and revocationInterrupt the decision store and revoke authority during a task. Test new decisions separately from previously issued grants.
C11–C13Outcomes and evidenceMatch decisions to provider outcomes; edit a committed field; change the verification key; require independent corroboration.
C14RecoveryRestore or roll back an instance and compare retained authority and effect history against independent checkpoints.

Do not collapse missing or inconclusive observations into a passing aggregate score. Retain the workflow, revision, configuration, evidence hashes, and remaining uncertainties with every finding.

Reproduce the export-integrity exercise

This exercise checks a vendor-supplied synthetic export with the released aaesverify v0.2.0. It runs no agent and calls no downstream provider. It does not test approval binding, bypass prevention, budget enforcement, or complete capture.

  1. Download the Python runner, inspect it, and retain the synthetic export and sample public key.
  2. Choose the binary for your operating system and architecture from the verification page. Check its checksum manifest and build provenance. These come from AAES-controlled distribution; matching them does not independently authenticate the publisher. Build from the public source if your review requires it.
  3. Run the command below with local paths. The runner copies the binary and creates edited inputs in a temporary directory; it checks that the original inputs remain unchanged.
  4. Retain your JSON output, compare its input hashes and verifier identity with the recorded exercise, and record any differences. Establish network isolation separately if that is part of your review.
python3 verify-sample.py \
  --verifier /path/to/aaesverify \
  --export /path/to/sample-export.jsonl \
  --pubkey /path/to/sample-pubkey.txt \
  --output my-sample-results.json

The runner returns 0 when all four narrowly specified expectations match, and 1 when an expectation fails. Missing files, an unusable binary, or an execution error are inconclusive; inspect the error before drawing a conclusion.

Recorded sample observations

AAES performed this vendor-run synthetic exercise on , using Darwin arm64. The full JSON record includes the precise UTC execution time, hashes, outputs, and verifier identity.

Four synthetic export checks; no agent execution controls tested
CheckExit codeObservation
unchanged0The supplied synthetic export satisfies the integrity checks against the supplied key.
edited-record-hash1Changing one record-hash commitment causes chain and Merkle-root checks to fail.
wrong-public-key1A different supplied public key causes signature verification to fail.
require-independent1Requiring independent corroboration fails: the sample has zero independent witnesses and timestamps.

All four specified expectations matched, and the runner confirmed that its original input files were unchanged. This is not an independent assessment, adversarial security audit, multi-platform result, or proof of a live deployment.

The released v0.2.0 CLI may call an ordinary successful integrity check PASS. That wording does not establish independence: the sample has no independent witness or timestamp, and its independence-required check fails. A signing-key holder can create a different internally consistent history. Verification does not prove complete capture, truthful inputs, correct decisions, or provider execution.

Turn requirements into procurement questions

The procurement worksheet covers enforcement boundaries, credentials, identity, scope, approval, spending, retries, outage, evidence, independence, outcomes, recovery, integrations, security assessments, operating responsibilities, data flows, and commercial terms.

For each answer, request an exact supported version, configuration prerequisites, known exclusions, and evidence. Distinguish roadmap statements from delivered behavior and vendor-run tests from independent or customer-tenant results. Agree acceptance criteria for your workflow before buying.

Reuse and attribution

Copy and adapt the two worksheets under CC BY 4.0. Plain-text attribution to AAES is sufficient; a backlink is not required. The runner is Apache-2.0 licensed. See the license and scope notice for the individual files.

If you cite the method, identify the kit version and the tests you used. If you publish results, retain the tested scope and label synthetic, vendor-run, independent, and live-tenant observations accurately. Reviewers choose their own conclusions, including unfavorable or inconclusive findings.

Sources and product boundaries

The MCP source below describes the specific 2025-11-25 authorization profile. OWASP Excessive Agency discusses limiting functionality, permissions, and autonomy. This kit is a practical evaluation aid, not a normative mapping or a complete implementation of either source.

AAES Govern applies its controls to supported requests routed through its controlled paths. Direct credentials and alternate routes can bypass that boundary. AAES Operate has separate operational controls. The public kit does not include the proprietary platform evaluation package. Check current availability and the scoped product evaluation for those terms.

Evaluate one governed workflow → or browse all guides.