pyrit.executor.attack.TAPAttackContext#

class TAPAttackContext(params: AttackParamsT, start_time: float = 0.0, related_conversations: set[ConversationReference] = <factory>, _next_message_override: Optional[Message] = None, _prepended_conversation_override: Optional[List[Message]] = None, _memory_labels_override: Optional[Dict[str, str]] = None, session: ConversationSession = <factory>, executed_turns: int = 0, last_response: Optional[Message] = None, last_score: Optional[Score] = None, tree_visualization: ~treelib.tree.Tree = <factory>, nodes: ~typing.List[_TreeOfAttacksNode] = <factory>, best_conversation_id: str | None = None, best_objective_score: ~pyrit.models.score.Score | None = None, current_iteration: int = 0)[source]#

Bases: MultiTurnAttackContext

Context for the Tree of Attacks with Pruning (TAP) attack strategy.

This context contains all execution-specific state for a TAP attack instance, ensuring thread safety by isolating state per execution.

__init__(params: AttackParamsT, start_time: float = 0.0, related_conversations: set[ConversationReference] = <factory>, _next_message_override: Optional[Message] = None, _prepended_conversation_override: Optional[List[Message]] = None, _memory_labels_override: Optional[Dict[str, str]] = None, session: ConversationSession = <factory>, executed_turns: int = 0, last_response: Optional[Message] = None, last_score: Optional[Score] = None, tree_visualization: ~treelib.tree.Tree = <factory>, nodes: ~typing.List[_TreeOfAttacksNode] = <factory>, best_conversation_id: str | None = None, best_objective_score: ~pyrit.models.score.Score | None = None, current_iteration: int = 0) None#

Methods

__init__(params[, start_time, ...])

duplicate()

Create a deep copy of the context.

Attributes

best_conversation_id

best_objective_score

current_iteration

executed_turns

last_response

last_score

memory_labels

Additional labels that can be applied to the prompts throughout the attack.

next_message

Optional message to send to the objective target.

objective

Natural-language description of what the attack tries to achieve.

prepended_conversation

Conversation that is automatically prepended to the target model.

start_time

tree_visualization

nodes

session

params

related_conversations

best_conversation_id: str | None = None#
best_objective_score: Score | None = None#
current_iteration: int = 0#
nodes: List[_TreeOfAttacksNode]#
tree_visualization: Tree#