Skip to content

feat(ai-red-teaming): generalize attack registry + unified white-box support (v1.20.0) - #193

Merged
rdheekonda merged 4 commits into
mainfrom
feat/airt-autodan-attack
Oct 21, 2026
Merged

rdheekonda merged 4 commits into
mainfrom
feat/airt-autodan-attack

Conversation

@rdheekonda

@rdheekonda rdheekonda commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Two things, giving unified SDK + TUI support for the full attack set with no hand-wiring:

1. Generalized attack registry. _discover_attack_defs() introspects dreadnode.airt for standard-signature (goal/target/evaluator_model) *_attack functions and derives module/function/has_attacker/default_iterations/extra_defaults from each signature. _ATTACK_DEFS = {**discovered, **manual} - auto-discovery is the base; the hand-tuned manual table overrides where specific defaults matter. New SDK attacks now flow in automatically (verified: 70 discovered against the SDK).

2. Unified white-box support. White-box attacks (GCG family, embedding, generator, activation) are no longer gated out - they're discoverable and flagged requires_surrogate: True. The user supplies a local open-weight surrogate as attacker_model (the SDK already raises a clear error if a dn/* model is passed - no gradients over the proxy, so no silent crash). New whitebox-local-surrogate skill teaches the agent how to run them: local-runtime/GPU + dreadnode[whitebox] requirements, trust_remote_code + resource guardrails, and when to prefer closed-box instead.

Non-text attacks (evasion/extraction/inversion/image) are naturally excluded by the signature gate. Graceful fallback: if the SDK import fails, discovery returns {} and the manual table still works. Capability 1.18.8 -> 1.20.0.

Verification

  • Against the real SDK: 70 attacks discovered; white-box present + flagged requires_surrogate=True; closed-box (autodan/tap) False; defs well-formed (the keys codegen reads). No bugs.
  • Paired with SDK PR dreadnode/dreadnode-tiger#2857.

Test plan

  • Merge after SDK #2857 publishes
  • TUI (local runtime): run a white-box attack with a local surrogate path; confirm the skill guidance + clear error on a dn/* surrogate
  • TUI (hosted): closed-box attacks + autodan work; white-box errors clearly, not crash

Adds autodan_attack to the attack_runner registry - AutoDAN (Liu et al. ICLR
2024), a closed-box genetic-algorithm readable jailbreak that runs against hosted
dn/ models like any other jailbreak. The other new white-box attacks (GCG family,
embedding, activation) are intentionally SDK-only: they need dreadnode[whitebox] +
a local open-weight surrogate for gradients, which the hosted inference sandbox
does not provide. Paired with dreadnode-tiger SDK PR #2857.
…ry (v1.19.0)

Replaces hand-maintained attack wiring with auto-discovery: _discover_attack_defs()
introspects dreadnode.airt for standard-signature (goal/target/evaluator_model)
*_attack functions and derives module/function/has_attacker/iterations/defaults
from each signature. New SDK attacks now flow into the capability with no manual
entry. The manual table is kept as tuned overrides (merged on top). White-box
gradient attacks are gated out (_WHITEBOX_LOCAL_ONLY) since they need a local
surrogate the hosted sandbox can't provide. Verified: 41 attacks auto-discovered
from the installed SDK, white-box correctly excluded, manual overrides preserved.
@rdheekonda rdheekonda changed the title feat(ai-red-teaming): wire AutoDAN attack (v1.18.9) feat(ai-red-teaming): generalize attack registry via SDK auto-discovery (v1.19.0) Oct 20, 2026
…rrogate skill (v1.20.0)

White-box attacks are no longer gated out of discovery; they are included and
flagged requires_surrogate so SDK and TUI share one surface. The user supplies a
local open-weight surrogate as attacker_model (the SDK already errors clearly if a
dn/* model is passed - no gradients over the proxy). Adds the whitebox-local-surrogate
skill: how to run them, local-runtime/GPU + dreadnode[whitebox] requirements,
trust_remote_code + resource guardrails, and when to prefer closed-box instead.
@rdheekonda rdheekonda changed the title feat(ai-red-teaming): generalize attack registry via SDK auto-discovery (v1.19.0) feat(ai-red-teaming): generalize attack registry + unified white-box support (v1.20.0) Oct 20, 2026
@rdheekonda
rdheekonda merged commit 30680ec into main Oct 21, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant