|
220 | 220 | "Available Scenarios:\n", |
221 | 221 | "================================================================================\n", |
222 | 222 | "\u001b[1m\u001b[36m\n", |
223 | | - " airt.content_harms\u001b[0m\n", |
| 223 | + " content_harms\u001b[0m\n", |
224 | 224 | " Class: ContentHarms\n", |
225 | 225 | " Description:\n", |
226 | 226 | " Content Harms Scenario implementation for PyRIT. This scenario contains\n", |
|
235 | 235 | " airt_hate, airt_fairness, airt_violence, airt_sexual, airt_harassment,\n", |
236 | 236 | " airt_misinformation, airt_leakage\n", |
237 | 237 | "\u001b[1m\u001b[36m\n", |
238 | | - " airt.cyber\u001b[0m\n", |
| 238 | + " cyber\u001b[0m\n", |
239 | 239 | " Class: Cyber\n", |
240 | 240 | " Description:\n", |
241 | 241 | " Cyber scenario implementation for PyRIT. This scenario tests how willing\n", |
|
250 | 250 | " Default Datasets (1, max 4 per dataset):\n", |
251 | 251 | " airt_malware\n", |
252 | 252 | "\u001b[1m\u001b[36m\n", |
253 | | - " airt.scam\u001b[0m\n", |
| 253 | + " jailbreak\u001b[0m\n", |
| 254 | + " Class: Jailbreak\n", |
| 255 | + " Description:\n", |
| 256 | + " Jailbreak scenario implementation for PyRIT. This scenario tests how\n", |
| 257 | + " vulnerable models are to jailbreak attacks by applying various\n", |
| 258 | + " single-turn jailbreak templates to a set of test prompts. The responses\n", |
| 259 | + " are scored to determine if the jailbreak was successful.\n", |
| 260 | + " Aggregate Strategies:\n", |
| 261 | + " - all\n", |
| 262 | + " Available Strategies (1):\n", |
| 263 | + " pyrit\n", |
| 264 | + " Default Strategy: all\n", |
| 265 | + " Default Datasets (1, max 4 per dataset):\n", |
| 266 | + " airt_harms\n", |
| 267 | + "\u001b[1m\u001b[36m\n", |
| 268 | + " leakage\u001b[0m\n", |
| 269 | + " Class: Leakage\n", |
| 270 | + " Description:\n", |
| 271 | + " Leakage scenario implementation for PyRIT. This scenario tests how\n", |
| 272 | + " susceptible models are to leaking training data, PII, intellectual\n", |
| 273 | + " property, or other confidential information. The LeakageScenario class\n", |
| 274 | + " contains different attack variations designed to extract sensitive\n", |
| 275 | + " information from models.\n", |
| 276 | + " Aggregate Strategies:\n", |
| 277 | + " - all, single_turn, multi_turn, ip, sensitive_data\n", |
| 278 | + " Available Strategies (4):\n", |
| 279 | + " first_letter, image, role_play, crescendo\n", |
| 280 | + " Default Strategy: all\n", |
| 281 | + " Default Datasets (1, max 4 per dataset):\n", |
| 282 | + " airt_leakage\n", |
| 283 | + "\u001b[1m\u001b[36m\n", |
| 284 | + " psychosocial\u001b[0m\n", |
| 285 | + " Class: Psychosocial\n", |
| 286 | + " Description:\n", |
| 287 | + " Psychosocial Harms Scenario implementation for PyRIT. This scenario\n", |
| 288 | + " contains various psychosocial harm-based checks that evaluate model\n", |
| 289 | + " behavior for responses that may harm the well-being or mental health of\n", |
| 290 | + " users. Examples include mistreating users in a mental health crisis or\n", |
| 291 | + " aiding them in self-harm. All datasets in this scenario share the\n", |
| 292 | + " unified 'psychosocial' harm category, but each dataset (e.g.,\n", |
| 293 | + " imminent_crisis, dependency) can have unique: - Multiturn attack\n", |
| 294 | + " strategies - Scoring rubrics - Seed objectives The scenario tests\n", |
| 295 | + " whether models: - Recognize mental health crises and respond\n", |
| 296 | + " appropriately - Avoid facilitating self-harm or harmful behaviors -\n", |
| 297 | + " Provide crisis resources and encourage professional help Example usage\n", |
| 298 | + " with custom configurations: # Define custom configurations per subharm\n", |
| 299 | + " category custom_configs = { \"airt_imminent_crisis\": SubharmConfig(\n", |
| 300 | + " crescendo_system_prompt_path=\"path/to/custom_escalation.yaml\",\n", |
| 301 | + " scoring_rubric_path=\"path/to/custom_rubric.yaml\", ), } scenario =\n", |
| 302 | + " Psychosocial(subharm_configs=custom_configs) await\n", |
| 303 | + " scenario.initialize_async( objective_target=target_llm,\n", |
| 304 | + " scenario_strategies=[PsychosocialStrategy.MULTI_TURN], )\n", |
| 305 | + " Aggregate Strategies:\n", |
| 306 | + " - all\n", |
| 307 | + " Available Strategies (2):\n", |
| 308 | + " imminent_crisis, licensed_therapist\n", |
| 309 | + " Default Strategy: all\n", |
| 310 | + " Default Datasets (1, max 4 per dataset):\n", |
| 311 | + " airt_imminent_crisis\n", |
| 312 | + "\u001b[1m\u001b[36m\n", |
| 313 | + " scam\u001b[0m\n", |
254 | 314 | " Class: Scam\n", |
255 | 315 | " Description:\n", |
256 | 316 | " Scam scenario evaluates an endpoint's ability to generate scam-related\n", |
|
264 | 324 | " Default Datasets (1, max 4 per dataset):\n", |
265 | 325 | " airt_scams\n", |
266 | 326 | "\u001b[1m\u001b[36m\n", |
267 | | - " foundry.foundry\u001b[0m\n", |
268 | | - " Class: FoundryScenario\n", |
| 327 | + " red_team_agent\u001b[0m\n", |
| 328 | + " Class: RedTeamAgent\n", |
269 | 329 | " Description:\n", |
270 | | - " Deprecated alias for Foundry. This class is deprecated and will be\n", |
271 | | - " removed in version 0.13.0. Use `Foundry` instead.\n", |
| 330 | + " RedTeamAgent is a preconfigured scenario that automatically generates\n", |
| 331 | + " multiple AtomicAttack instances based on the specified attack\n", |
| 332 | + " strategies. It supports both single-turn attacks (with various\n", |
| 333 | + " converters) and multi-turn attacks (Crescendo, RedTeaming), making it\n", |
| 334 | + " easy to quickly test a target against multiple attack vectors. The\n", |
| 335 | + " scenario can expand difficulty levels (EASY, MODERATE, DIFFICULT) into\n", |
| 336 | + " their constituent attack strategies, or you can specify individual\n", |
| 337 | + " strategies directly. This scenario is designed for use with the Foundry\n", |
| 338 | + " AI Red Teaming Agent library, providing a consistent PyRIT contract for\n", |
| 339 | + " their integration.\n", |
272 | 340 | " Aggregate Strategies:\n", |
273 | 341 | " - all, easy, moderate, difficult\n", |
274 | 342 | " Available Strategies (25):\n", |
|
280 | 348 | " Default Datasets (1, max 4 per dataset):\n", |
281 | 349 | " harmbench\n", |
282 | 350 | "\u001b[1m\u001b[36m\n", |
283 | | - " garak.encoding\u001b[0m\n", |
| 351 | + " encoding\u001b[0m\n", |
284 | 352 | " Class: Encoding\n", |
285 | 353 | " Description:\n", |
286 | 354 | " Encoding Scenario implementation for PyRIT. This scenario tests how\n", |
|
305 | 373 | "\n", |
306 | 374 | "================================================================================\n", |
307 | 375 | "\n", |
308 | | - "Total scenarios: 5\n" |
| 376 | + "Total scenarios: 8\n" |
309 | 377 | ] |
310 | 378 | }, |
311 | 379 | { |
|
0 commit comments