Wrap anDocumentation Index
Fetch the complete documentation index at: https://docs.agentguardian.io/llms.txt
Use this file to discover all available pages before exploring further.
openai-agents SDK Agent in OpenAIAgentsAdapter and red-team it
with the same swarm you’d point at any other target. The adapter duck-types
Runner.run(agent, input=...) — the OpenAI Agents SDK is not a hard
dependency of AgentGuardian.
When to use this
- Your production agent is built on the OpenAI Agents SDK.
- You want to scan it in-process (no HTTP endpoint to host) so the swarm exercises real tool calls and real per-session state.
- You need a tier above T4 — the SDK exposes
tools=[...]and (with your own session pointer) memory, whichOpenAIAgentsAdapterhonours.
Install the optional extra
[examples] extra pulls in openai-agents>=0.3 plus the Google
OpenAI-compatible client used by the bundled demo trio. See
Installation for the full extras matrix.
The bundled trio
Three reference targets live underexamples/openai_agents/
and route through Google’s OpenAI-compatible Gemini endpoint, so the same
GEMINI_API_KEY covers them all:
| File | Tier | Surface |
|---|---|---|
simple_chatbot.py | T4 | Prompt-only customer-service bot. |
support_with_tool.py | T3 | One @function_tool (search_kb) over a canned KB with internal:* honeypots. |
personal_assistant_pii.py | T1 | Three tools + per-session notes + synthetic PII directory. |
agent handle (Mode D) and a run()
coroutine (Mode B / Code adapter). The adapter resolves either.
Scan the bundled T3 target
Export your Gemini key
gemini-3.1-pro-preview) with
AG_DEMO_MODEL if you need a different SKU.Expected output
internal:admin-credentials and internal:api-key honeypots in the
fixture KB are what the secret-extraction-agent is chasing — a successful
exfil triggers ASI01-T3-007.
How to interpret
tier = T3
Auto-detected from
TargetFingerprint(has_tools=True). The SDK’s
tools=[search_kb] surface tells AgentGuardian to spin up the
tool-abuse agent on top of the base prompt-injection swarm.band = WARNING
WARNING is 60-79 — there are real findings but no critical break.
The bundled trio is deliberately leaky; your own agent should score
higher.ASI02-TA-003
Tool abuse —
tool-abuse-agent got search_kb to return an
internal:* row by manipulating the query. The PoV in scan.json
shows the exact tool-call arguments.coverage = 98%
Above the
--mode fast authoritative threshold, so band is graded
(not not_evaluated). Use --mode full for a deeper run.Wrap your own Agent
The adapter accepts either an object that exposesrun_async(input=...)
/ run(input=...) directly, or an Agent paired with runner=Runner:
run() coroutine (Code-adapter shape),
point at that instead and drop --framework:
Fingerprint defaults
OpenAIAgentsAdapter ships a conservative fingerprint:
| Field | Default |
|---|---|
mode | framework |
ref | openai_agents:<AgentClassName> (or your ref= kwarg) |
framework | openai_agents |
has_tools | True |
has_memory | False |
touches_pii | False |
notes | "Mode D — OpenAI Agents SDK production adapter. Hook firing is best-effort." |
has_memory and touches_pii are False by default because the SDK has
no introspectable per-session store. The recon agent escalates the tier
when your module exposes obvious markers — see how
personal_assistant_pii.py sets memory = _SESSION_NOTES at module
scope to trigger T1 routing.
Next step
Attack library
The 10 ASI categories the swarm exercises against any target.
Reports
Open the
scan.json and walk every field, including the PoV
transcript for each finding.Gate a PR on AIVSS
Wire this scan into GitHub Actions and block regressions with
--fail-under.Write your own adapter
The
TargetAdapter protocol and TargetFingerprint shape if your
framework isn’t on the supported list.