src/agent_guardian/probes/asi01/
… asi10/. The schema is enforced by the Probe pydantic model in
src/agent_guardian/models/probe.py.
When to use this page
- You’re authoring a new probe and need the field reference.
- You’re vendoring AgentGuardian into a tool and writing your own probe loader.
- You opened a probe YAML in
src/agent_guardian/probes/and want to know what every field means.
The schema
extra="forbid" — unknown keys raise
ProbeValidationError at load time. The loader walks
src/agent_guardian/probes/asi**/*.yaml and *.yml recursively.
Field reference
Identity
Mapping (the OWASP / MITRE / CSA triple)
The triple-framework gate in
_coerce_probe
runs before pydantic validation — missing or empty values raise
ProbeValidationError with an explicit message rather than a generic
pydantic error.
Risk + targeting
Attack content
Where each field gets read
Loading + validation
ProbeValidationError on the first failing
probe. The error message includes the source file and the failing
field path.
Authoring a new probe
PerCONTRIBUTING.md, the steps:
- Pick the ASI category (
asi01/–asi10/). - Pick a
<2-letter>agent code that matches the specialist (e.g.GHfor goal-hijack,TAfor tool-abuse,MPfor memory poisoning). Listed inlist-agents. - Pick the next free 3-digit suffix in the same
asi/agentseries. - Write the YAML.
- Add a fixture row to the corpus tests so a regression on the loader catches missing fields.
- Bump
PROBE_CORPUS_VERSIONinprobes/loader.py:34+ the sibling_meta/version.yamlstamp.
Anti-patterns
Next step
CLI reference
Use
agent-guardian list-probes --asi ASI01 to inspect the loaded
corpus.Report schema
How the loaded probe ends up serialised into
scan.json +
findings.sarif.Severity levels
The four-tier severity enum + AIVSS weights.
Research foundation
The
references: keys resolve here.