eddo-cto

Adversarial Audit Engine — Security skill for Claude Code

Security community

Cross-model audit engine for documents and technical artifacts: hallucination gate on verbatim quotes, claim verification, blind adversarial review across different model vendors, Type-I error control.

How to install Adversarial Audit Engine

This entry records only its repository, not the path inside it, so there is no exact command to give. Open eddo-cto/adversarial-audit-engine and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Adversarial Audit Engine does

Cross-model audit engine for documents and technical artifacts: hallucination gate on verbatim quotes, claim verification, blind adversarial review across different model vendors, Type-I error control. Dependency-free Python core + Claude Code plugin. Never reports "validated" on internal grounds — only a human does.

Alternatives in Security

  • Maestro Knowledge — Intent-driven knowledge-store and Run knowledge lifecycle management — audit/prune, stage candidates (with sig 530 ★
  • OpenTag — Open-source, channel-native agent gateway for Slack 499 ★
  • Data Viz Audit — Audit a data visualization for chart type selection, accessible color palette, annotations, and anti-patterns 309 ★

README

[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.21288401.svg)](https://doi.org/10.5281/zenodo.21288401) [![tests](https://github.com/eddo-cto/adversarial-audit-engine/actions/workflows/tests.yml/badge.svg)](https://github.com/eddo-cto/adversarial-audit-engine/actions/workflows/tests.yml)

Adversarial Audit Engine

Audits a document or technical artifact by trying to **falsify** it: blind adversarial review across **different model vendors**, a deterministic grounding gate that blocks any finding not backed by a verbatim quote, explicit control of the falsifier's own **Type-I error**, and a code-enforced closure discipline. A hive of adversarial roles attacks the artifact; a dependency-free Python core enforces the rules. It never reports "validated" on internal grounds: **only a human validates.**

**[Read the story — how it was built and hardened across many adversarial rounds](STORY.md)**

**Status: stable (v1.1.0).** A tool that *multiplies* a competent human reviewer — it does not replace one, and it is not an oracle. The public API and the trust-protocol invariants are frozen for 1.x (**[`API.md`](plugins/adversarial-audit-engine/API.md)**). Tested across many adversarial self-audit rounds and on real cases (a consensus protocol, incident RCA, threat modeling, multi-regulation conflicts, scientific peer review), with the auditor's own Type-I error calibrated on a control battery.

What is enforced in code (the trust protocol)

The value is not detection accuracy; it is that the discipline lives in **ordinary Python**, each rule pinned by a test, so it behaves identically every run and cannot be talked out of by a prompt:

  • Non-closure is cryptographic. VALIDATED requires a valid HMAC of the ledger digest under a key the operator holds outside the model's reach (aae/attestation.py); the model authors the payload but not the key, so it cannot sign its own validation.
  • Independence is attested, not claimed. Cross-vendor review