Repository navigation
fix(ai-red-teaming): authenticate agentic attacks + lighten ATLAS default budget - #171
Merged
Merged
Conversation
… -> 12) generate_atlas_attack defaulted total_budget to 64 episodes, so a single TUI/agent call ran a full multi-objective ATLAS campaign for 15+ minutes - far too heavy for interactive use. Default to 12 episodes (the cookbook demo config that reaches ASR 1.0 in ~1-2 min); callers can raise it for a deeper sweep. Bumps capability to 1.18.5.
… targets The provisioned environment's one-shot bearer execute token was never injected into the attack subprocess: provision_environment returned it as text (telling the agent to "set AGENT_API_KEY"), generate_* only took the env-var NAME, and the runner never set the value. The generated agent target therefore read an empty token (AGENT_API_KEY / <SCENARIO>_EXECUTE_TOKEN), called the mesh unauthenticated, got no response, and every trial errored -> ASR 0% / all info on a trivially-exploitable target. (SDK notebooks were unaffected: their target closure captures the token in-process.) Fix: - provision_environment now persists base_url + execute_token in the env registry (environments.py). - _auto_execute_workflow injects that token into the subprocess env under each token-like var the generated script reads (matched by the script's target URL against the registry), so the target is called authenticated. Single choke-point -> covers atlas / agentic / multistep / ci-exfil uniformly. Validated live on prod (project airt-tui-verify, edit mode): ATLAS 2x critical (transfer_funds + admin_create_user), multistep 5 chains fired replay-stable, GOAT read->exfil fired - all with real tool-call evidence, vs ASR 0% before.
2 of 3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Final capabilities fixes for the agentic red-teaming flow, validated live on prod (project
airt-tui-verify) in edit mode.1. Agentic attacks ran unauthenticated against provisioned targets (critical)
provision_environmentreturned the one-shot bearer execute token as text and told the agent to "set AGENT_API_KEY", but nothing injected it into the attack subprocess:generate_*only took the env-var name, and the runner never set the value. The generated agent target read an empty token, called the mesh unauthenticated, got no response, and every trial errored -> ASR 0% / allinfoon a trivially-exploitable target. (SDK notebooks were unaffected - their target closure captures the token in-process, which is why the SDK path "worked great end to end".)Fix:
provision_environmentpersistsbase_url+execute_tokenin the env registry._auto_execute_workflowinjects that token into the subprocess env under each token-like var the generated script reads (matched by the script's target URL against the registry). Single choke-point -> covers atlas / agentic / multistep / ci-exfil uniformly.2. ATLAS default budget too heavy for interactive use
generate_atlas_attackdefaultedtotal_budget=64, so one TUI call ran 15+ minutes. Default to 12 (the cookbook demo config). Raise for deeper sweeps.Validation (prod, edit mode, airt-tui-verify)
transfer_funds+admin_create_user, real tool evidence) - was ASR 0% / "(no response)" before.read_file -> fetch_url/send_emailexfil fired, 100% ASR.Test plan