ares.strategies package
Submodules
ares.strategies.attack_strategy module
Base class for Attack Strategy module
- class ares.strategies.attack_strategy.AttackStrategy(config: dict[str, Any], target_connector: Connector)[source]
Bases:
ABCBase class to implement attack strategies
- class Type[source]
Bases:
TypedDictType hints for the json template below
- consolidated_output_path: Path
- input_path: Path
- output_path: Path
- type: str
- attack(**kwargs: Any) list[dict][source]
Method to execute an attack on the target connector.
This method accepts keyword arguments (kwargs) to configure the attack. It returns a list of dictionaries containing adversarial prompts and metadata.
- Parameters:
kwargs (dict) – Keyword arguments to configure the attack.
- Returns:
A list of dictionaries with adversarial prompts and metadata.
- Return type:
list
- Example:
>>> attack_results = attack_strategy.attack()
- abstractmethod generate(**kwargs: Any) list[dict] | None[source]
Method to generate attacks for a specified stratgy, e.g. human jailbreaks
- Returns:
List of dictionary with adversarial prompts and other metadata
ares.strategies.direct_requests module
Class implementation for direct requests
- class ares.strategies.direct_requests.DirectRequests(config: dict[str, Any], target_connector: Connector)[source]
Bases:
AttackStrategyImplementation of Direct Requests
- generate(**kwargs: Any) list[dict][source]
Generate attack inputs based on attack goals.
This method accepts keyword arguments (kwargs) to customize the attack generation process. It returns a list of adversarial prompts as attack inputs.
- Parameters:
kwargs (dict) – Keyword arguments to configure the attack generation.
- Returns:
A list of adversarial prompts as attack inputs.
- Return type:
list
- Example:
>>> attack_inputs = direct_requests.generate()
Module contents
ARES core startegies.