@@ -53,6 +53,7 @@ def get_technique_factories() -> list[AttackTechniqueFactory]:
5353 return [
5454 AttackTechniqueFactory .with_simulated_conversation (
5555 name = "role_play_movie_script" ,
56+ description = "Frames the objective as a movie beat by casting the adversarial chat as a screenwriter." ,
5657 adversarial_chat_system_prompt_path = (
5758 EXECUTOR_SEED_PROMPT_PATH / "red_teaming" / "role_play" / "role_play_movie_script.yaml"
5859 ),
@@ -62,6 +63,7 @@ def get_technique_factories() -> list[AttackTechniqueFactory]:
6263 ),
6364 AttackTechniqueFactory .with_simulated_conversation (
6465 name = "role_play_video_game" ,
66+ description = "Frames the objective as an in-game mechanic by casting the adversarial chat as a designer." ,
6567 adversarial_chat_system_prompt_path = (
6668 EXECUTOR_SEED_PROMPT_PATH / "red_teaming" / "role_play" / "role_play_video_game.yaml"
6769 ),
@@ -71,6 +73,7 @@ def get_technique_factories() -> list[AttackTechniqueFactory]:
7173 ),
7274 AttackTechniqueFactory .with_simulated_conversation (
7375 name = "role_play_trivia_game" ,
76+ description = "Frames the objective as a quiz answer by casting the adversarial chat as a trivia host." ,
7477 adversarial_chat_system_prompt_path = (
7578 EXECUTOR_SEED_PROMPT_PATH / "red_teaming" / "role_play" / "role_play_trivia_game.yaml"
7679 ),
@@ -80,6 +83,7 @@ def get_technique_factories() -> list[AttackTechniqueFactory]:
8083 ),
8184 AttackTechniqueFactory .with_simulated_conversation (
8285 name = "role_play_persuasion" ,
86+ description = "Frames a persuasion-resistance test so the target drafts a persuasive spoken script." ,
8387 adversarial_chat_system_prompt_path = (
8488 EXECUTOR_SEED_PROMPT_PATH / "red_teaming" / "role_play" / "role_play_persuasion.yaml"
8589 ),
@@ -89,6 +93,7 @@ def get_technique_factories() -> list[AttackTechniqueFactory]:
8993 ),
9094 AttackTechniqueFactory .with_simulated_conversation (
9195 name = "role_play_persuasion_written" ,
96+ description = "Frames a persuasion-resistance test so the target drafts written persuasive material." ,
9297 adversarial_chat_system_prompt_path = (
9398 EXECUTOR_SEED_PROMPT_PATH / "red_teaming" / "role_play" / "role_play_persuasion_written.yaml"
9499 ),
@@ -99,36 +104,44 @@ def get_technique_factories() -> list[AttackTechniqueFactory]:
99104 AttackTechniqueFactory (
100105 name = "many_shot" ,
101106 attack_class = ManyShotJailbreakAttack ,
107+ description = "Primes the target with many fake example exchanges that model compliance before the ask." ,
102108 technique_tags = ["multi_turn" , "light" ],
103109 ),
104110 AttackTechniqueFactory (
105111 name = "tap" ,
106112 attack_class = TreeOfAttacksWithPruningAttack ,
113+ description = "Explores a tree of adversarial prompts, pruning weak branches to refine the attack." ,
107114 technique_tags = ["multi_turn" ],
108115 ),
109116 AttackTechniqueFactory .with_simulated_conversation (
110117 name = "crescendo_simulated" ,
118+ description = "Escalates gradually over a simulated conversation toward the objective." ,
111119 technique_tags = ["single_turn" ],
112120 ),
113121 AttackTechniqueFactory .with_simulated_conversation (
114122 name = "crescendo_movie_director" ,
123+ description = "Escalates gradually while posing as a movie director coaxing the target scene by scene." ,
115124 technique_tags = ["single_turn" ],
116125 ),
117126 AttackTechniqueFactory .with_simulated_conversation (
118127 name = "crescendo_history_lecture" ,
128+ description = "Escalates gradually while framing the ask as an academic history lecture." ,
119129 technique_tags = ["single_turn" ],
120130 ),
121131 AttackTechniqueFactory .with_simulated_conversation (
122132 name = "crescendo_journalist_interview" ,
133+ description = "Escalates gradually while posing as a journalist drawing the target out." ,
123134 technique_tags = ["single_turn" ],
124135 ),
125136 AttackTechniqueFactory (
126137 name = "red_teaming" ,
127138 attack_class = RedTeamingAttack ,
139+ description = "Uses an adversarial chat model to converse with the target and adapt toward the objective." ,
128140 technique_tags = ["multi_turn" , "light" ],
129141 ),
130142 AttackTechniqueFactory .with_simulated_conversation (
131143 name = "context_compliance" ,
144+ description = "Injects a fabricated prior exchange so the target continues as if it already agreed." ,
132145 adversarial_chat_system_prompt_path = EXECUTOR_RED_TEAM_PATH
133146 / "context_compliance"
134147 / "context_compliance.yaml" ,
@@ -140,6 +153,7 @@ def get_technique_factories() -> list[AttackTechniqueFactory]:
140153 AttackTechniqueFactory (
141154 name = "flip" ,
142155 attack_class = PromptSendingAttack ,
156+ description = "Reverses the objective text so it slips past filters, then asks the target to flip it back." ,
143157 technique_tags = ["single_turn" , "light" ],
144158 attack_kwargs = {
145159 "attack_converter_config" : AttackConverterConfig (
0 commit comments