ARES Plugins
ARES supports a modular plugin architecture that allows users to extend its functionality without modifying the core framework. Plugins enable integration with external tools, custom strategies, evaluation methods, and connectors to various AI systems.
Overview
Plugins are grouped by the ARES component they extend:
Target: Connect ARES to external systems (e.g., APIs, LLMs, agentic apps)
Goal: Define adversarial objectives (e.g., PII leakage)
Strategy: Implement attack logic and payload generation
Evaluation: Analyze responses for robustness and safety
Note
Example configurations often use connectors.yaml from ARES. Place it next to your example YAML file when testing plugins.
Plugin Integration
To use a plugin with ARES, reference it directly in your YAML configuration. Each plugin must specify a type key with the full module path to the base plugin class.
Example:
strategy:
type: ares_granite_io.connectors.granite_io.GraniteIOConnector
This tells ARES to load the plugin class from the specified module and use it as the strategy component.
Plugin Table
Plugin Name |
Description |
Component |
Example Configs |
Dependencies |
|---|---|---|---|---|
Template for contributing new plugins to the project |
||||
ARES plugin support for NVIDIA garak probes and detectors |
Strategy, Evaluation |
|||
ARES plugin for running Human-Jailbreak attack strategy |
Strategy |
|||
Crescendo strategy from PyRIT |
Strategy |
|||
Connector for ICARUS benchmark app |
Target |
ICARUS |
||
Granite-io plugin connector enables ARES interface with Granite-io |
Target |
|||
Connector to LiteLLM endpoints |
Target |
|||
Connector to vLLM endpoints |
Target |
|||
Connector to Watsonx Orchestrate agent ChatAPI |
Target |
|||
ARES GCG attack strategy |
Strategy |
Creating Your Own Plugin
To contribute a plugin:
Copy the
new-plugin-templatefolder.Rename it to
ares-your-plugin-name.Implement the required interface (check base classes for connector/goals/strategy/evaluation modules).
Add a
README.mdandtests/folder inside your plugin directory.Update the plugin table in the main README.
More details: plugins/README.md