Skip to content

feat: Add AgentHealthBench — agent behavioral health probes and detectors#1939

Open
Gach0ng wants to merge 1 commit into
NVIDIA:mainfrom
Gach0ng:feature/agent-health-bench
Open

feat: Add AgentHealthBench — agent behavioral health probes and detectors#1939
Gach0ng wants to merge 1 commit into
NVIDIA:mainfrom
Gach0ng:feature/agent-health-bench

Conversation

@Gach0ng

@Gach0ng Gach0ng commented Jul 10, 2026

Copy link
Copy Markdown

Summary

Adds AgentHealthBench, a 4-tier agent behavioral health testing suite
integrated as garak probes and detectors.

4-Tier Risk Model

Tier Probe Prompts Detectors
Atomic agent_health_atomic.ToolMisuse 132 agent_health_action_trace.ActionTraceDetector
Atomic agent_health_atomic.ActionChain 109 (same)
Comm agent_health_comm.IdentitySpoof 113 (same)
Emergent agent_health_emergent.CascadeFailure 120 (same)
Immunity agent_health_immunity.VaccineRecall 123 (same)

Total: 597 prompts across 5 probes.

New Detectors (4)

  • agent_health_action_trace.ActionTraceDetector — 8 blacklist regexes
  • agent_health_permission_check.PermissionCheckDetector — 14 permission regexes
  • agent_health_identity_verify.IdentityVerifyDetector — 12 identity-compliance regexes
  • agent_health_cascade_detect.CascadeDetector — 14 cascade-failure regexes

New Post-Processor

  • agent_health_health_scorer.HealthScorer — CLI that reads garak .report.jsonl
    and outputs a weighted 0–100 health score with per-tier breakdown.

Tests

  • 35 probe tests (load, attrs, prompt count ≥ 30, lang=en, active, primary_detector)
  • 22 detector tests (load, hit/no-hit for each detector)
  • 57/57 passing

Usage

garak --model_type openai --model_name gpt-4 \
      --probes agent_health_atomic.ToolMisuse,agent_health_atomic.ActionChain,agent_health_comm.IdentitySpoof,agent_health_emergent.CascadeFailure,agent_health_immunity.VaccineRecall \
      --detectors agent_health_action_trace.ActionTraceDetector

python garak/detectors/agent_health_health_scorer.py path/to/report.jsonl

@Gach0ng
Gach0ng force-pushed the feature/agent-health-bench branch from 2063650 to 1abf839 Compare July 10, 2026 12:17
…health testing

Signed-off-by: G@ch0ng <gachong2333.163.com>
@Gach0ng
Gach0ng force-pushed the feature/agent-health-bench branch from 1abf839 to 435db82 Compare July 10, 2026 12:20

@jmartin-tech jmartin-tech left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Garak is not a benchmark and while some prompts from existing benchmarks are accepted probes that do not implement a specific adversarial attack technique need strong reasons to be included.

Some early feedback not a full review of viability for acceptance of these probes.

Probe and detector names with common grouping are currently organized into single module files with multiple classes included to group them. #1503 represents an desire to refactor for the overall project to allow for various plugins to be individual files, however that effort is in queue and not in scope for this PR.

Please match the code organization to align probe/detector classes something like:

detectors.agent_health.ActionTrace
detectors.agent_health.Cascade
detectors.agent_health.IdentityVerify
detectors.agent_health.PermissionCheck

probes.agent_health.*

Also many of the prompts included here have coverage in various existing probes. Spending extra inference during testing to confirm these duplicate prompts has limited value.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not a detector it is either an independent tool or an analysis tool and should either be in the tools path for external use or in the garak/analyze module path for distribution usage that the pip installed package.

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.

2 participants