FEAT: Adding garak.doctor scenario and PolicyPuppetryConverter#2064
Merged
rlundeen2 merged 4 commits intoJul 2, 2026
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
61f2229 to
f0cd484
Compare
jsong468
reviewed
Jul 1, 2026
jsong468
reviewed
Jul 2, 2026
jsong468
reviewed
Jul 2, 2026
jsong468
approved these changes
Jul 2, 2026
- Use DatasetAttackConfiguration (owns get_attack_groups_by_dataset_async) so Doctor rides the new base _build_atomic_attacks_async/MatrixAtomicAttackBuilder flow - Drop the non-existent 'single_turn' aggregate tag from technique factories (DoctorStrategy only defines all/default aggregates) - Regenerate 0_converters modality table to include PolicyPuppetryConverter - Update test to new DatasetAttackConfiguration + dataset_names API Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…omic_attacks_async Add a PolicyPuppetryConverter usage example to the text-to-text converter notebook so test_all_converters_are_documented passes, and migrate the Doctor scenario off the base-class _get_attack_technique_factories hook (slated for deletion in the scenario refactor) onto the _build_atomic_attacks_async extension point, calling MatrixAtomicAttackBuilder directly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ports garak's
doctorprobe to PyRIT as aDoctorscenario built from reusable PyRIT concepts. Objectives live in agarak_doctorseed dataset and are wrapped in a newPolicyPuppetryConverter(HiddenLayer's Policy Puppetry universal bypass), then scored for non-refusal. The scenario exposes attacks as attack-technique factories and does not overrideget_atomic_attacks.The converter loads its templates from
datasets/prompt_converters/policy_puppetry_converter.yaml(dr_house/medical_advisor); callers select via thePolicyPuppetryTemplateenum while__init__takes aSeedPrompt(default: a random template). Adds unit tests for the converter and scenario, plus a bibliography entry for the Policy Puppetry article.