Skip to content

FEAT: Add single_turn_crescendo technique with adversarial_config#1665

Open
rlundeen2 wants to merge 8 commits intomicrosoft:mainfrom
rlundeen2:users/rlundeen/2026_04_27_single_turn_crescendo
Open

FEAT: Add single_turn_crescendo technique with adversarial_config#1665
rlundeen2 wants to merge 8 commits intomicrosoft:mainfrom
rlundeen2:users/rlundeen/2026_04_27_single_turn_crescendo

Conversation

@rlundeen2
Copy link
Copy Markdown
Contributor

@rlundeen2 rlundeen2 commented Apr 28, 2026

Adds single_turn_crescendo to the scenario technique catalog. It uses PromptSendingAttack with a SeedSimulatedConversation seed group to generate a multi-turn crescendo conversation via simulated_conversation,
then sends the final prompt as a single turn.

There are some updates to the technique spec to support this.

I ran, inspected the conversation, and it looks like a good crescendo :)

rlundeen2 and others added 3 commits April 28, 2026 10:21
…class factory field

- Make AttackAdversarialConfig a first-class field on AttackTechniqueFactory
  (not buried in _attack_kwargs). Injected into attack at create() time if
  the attack class accepts it; also exposed via adversarial_chat property for
  seed-technique execution.
- Add seed_technique field to AttackTechniqueSpec for techniques that need
  SeedAttackTechniqueGroup (e.g. simulated conversation).
- Extend build_scenario_techniques() to resolve adversarial config when
  spec.seed_technique.has_simulated_conversation is True.
- Add single_turn_crescendo entry to SCENARIO_TECHNIQUES using
  PromptSendingAttack + SeedSimulatedConversation.
- Create crescendo_simulated.yaml (RedTeamingAttack-compatible prompt that
  only uses objective/max_turns, avoiding StrictUndefined errors).
- Update and add tests for new behavior.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rlundeen2 rlundeen2 marked this pull request as ready for review April 28, 2026 21:30
Comment thread pyrit/scenario/core/attack_technique_factory.py
Comment thread pyrit/scenario/core/attack_technique_factory.py
Comment thread pyrit/datasets/executors/red_teaming/crescendo_simulated.yaml
Comment thread pyrit/datasets/executors/red_teaming/crescendo_simulated.yaml
@rlundeen2 rlundeen2 enabled auto-merge April 29, 2026 21:08
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.

3 participants