Skip to content

Probe actor

The probe_actor package runs scans against an LLM endpoint described by an HTTP spec.

Fuzzer

agentic_security.probe_actor.fuzzer is the scan engine:

  • generate_prompts — yield prompts from a list or async source
  • get_modality_adapter — wrap the spec for image or audio endpoints
  • process_prompt / process_prompt_batch — send a prompt and score the reply
  • perform_single_shot_scan — one prompt at a time
  • perform_many_shot_scan — many-shot jailbreak conversations
  • scan_router — pick the scan mode from configuration

perform_single_shot_scan is an async generator; it needs a request factory (typically an LLMSpec) plus budget and dataset settings, not a bare prompt string.

from agentic_security.http_spec import LLMSpec
from agentic_security.probe_actor.fuzzer import perform_single_shot_scan

spec = LLMSpec.from_string(open("spec.http").read())
async for event in perform_single_shot_scan(spec, max_budget=1000):
    print(event)

Refusal checks

There is no check_refusal helper. Use refusal_heuristic(response) in agentic_security.probe_actor.refusal, which runs the detectors enabled under [detectors] in agentic_security.toml.

from agentic_security.probe_actor.refusal import refusal_heuristic

refusal_heuristic("I'm sorry, I can't help with that.")

See refusal classifier plugins to add a custom detector.