strands-evals

Warn

Audited by Gen Agent Trust Hub on Sep 23, 2026

Risk Level: MEDIUMPROMPT_INJECTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
  • [PROMPT_INJECTION]: The skill contains multiple red-teaming modules that implement adversarial attack strategies (e.g., Crescendo, PAIR, GOAT, and SequentialBreak) designed to bypass AI safety guidelines.
  • The file "src/strands_evals/experimental/redteam/strategies/goat/goat_v0.py" includes techniques such as "refusal_suppression" and "persona_modification" to influence target models.
  • "src/strands_evals/experimental/redteam/strategies/sequentialbreak/sequentialbreak_v0.py" provides narrative scaffolds like 'Dialog Completion' and 'Game Environment' to conceal harmful goals.
  • These are legitimate components of the skill's purpose as a safety testing framework, but they involve instructions that would typically be classified as injection patterns.
  • [DYNAMIC_EXECUTION]: The CLI component in "src/strands_evals/cli/_entrypoint.py" dynamically loads and executes Python code based on user-supplied paths or module specifications.
  • It uses "importlib.import_module" and "importlib.util.spec_from_file_location" to resolve entry points for the "--agent" or "--task" arguments.
  • This mechanism is used to load the specific agent implementations or evaluation tasks being tested.
  • [INDIRECT_PROMPT_INJECTION]: The skill ingests execution traces and sessions from various backends (CloudWatch, Langfuse, OpenSearch) which may contain untrusted data.
  • These traces are processed in "src/strands_evals/evaluators/" and interpolated into LLM prompts for evaluation purposes (LLM-as-a-judge).
  • While the prompts use boundary markers like "" and "" (e.g., in "src/strands_evals/evaluators/prompt_templates/case_prompt_template.py"), there is a surface for indirect prompt injection from the evaluated agent's history.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Sep 23, 2026, 11:56 PM