pyrit.prompt_converter.AnsiAttackConverter#
- class AnsiAttackConverter(include_raw: bool = True, include_escaped: bool = True, include_tasks: bool = True, include_repeats: bool = True, include_unescape: bool = True, incorporate_user_prompt: bool = True)[source]#
Bases:
PromptConverter
Generates prompts with ANSI codes to evaluate LLM behavior and system risks.
- This converter can:
Use raw and escaped ANSI payloads.
Ask the model about ANSI codes, repeat given payloads, unescape strings.
Incorporate the user’s original prompt into the final scenario, making the testing more dynamic.
- __init__(include_raw: bool = True, include_escaped: bool = True, include_tasks: bool = True, include_repeats: bool = True, include_unescape: bool = True, incorporate_user_prompt: bool = True)[source]#
Initializes the converter with various options to control the scenarios generated.
- Parameters:
include_raw (bool) – Include scenarios with raw ANSI codes.
include_escaped (bool) – Include scenarios with escaped ANSI codes.
include_tasks (bool) – Include “ASKS + HIGH_LEVEL_TASKS” scenarios.
include_repeats (bool) – Include “repeat this payload” scenarios.
include_unescape (bool) – Include “unescape this payload” scenarios.
incorporate_user_prompt (bool) – If True, the user’s prompt is integrated into the final scenario.
Methods
__init__
([include_raw, include_escaped, ...])Initializes the converter with various options to control the scenarios generated.
convert_async
(*, prompt[, input_type])Converts the given prompt into an ANSI attack scenario.
convert_tokens_async
(*, prompt[, ...])Converts substrings within a prompt that are enclosed by specified start and end tokens.
get_identifier
()Returns an identifier dictionary for the converter.
input_supported
(input_type)Checks if the input type is supported by the converter.
output_supported
(output_type)Checks if the output type is supported by the converter.
Attributes
supported_input_types
Returns a list of supported input types for the converter.
supported_output_types
Returns a list of supported output types for the converter.
- async convert_async(*, prompt: str, input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error'] = 'text') ConverterResult [source]#
Converts the given prompt into an ANSI attack scenario.
- input_supported(input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error']) bool [source]#
Checks if the input type is supported by the converter.
- Parameters:
input_type (PromptDataType) – The input type to check.
- Returns:
True if the input type is supported, False otherwise.
- Return type:
- output_supported(output_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error']) bool [source]#
Checks if the output type is supported by the converter.
- Parameters:
output_type (PromptDataType) – The output type to check.
- Returns:
True if the output type is supported, False otherwise.
- Return type: