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

new-plugin-template

Template for contributing new plugins to the project

ares-garak

ARES plugin support for NVIDIA garak probes and detectors

Strategy, Evaluation

InjectAscii85 DecodeApprox

NVIDIA garak

ares-human-jailbreak

ARES plugin for running Human-Jailbreak attack strategy

Strategy

HumanJailbreak

ares-pyrit

Crescendo strategy from PyRIT

Strategy

Crescendo Example

PyRIT

ares-icarus-connector

Connector for ICARUS benchmark app

Target

ICARUS Example

ICARUS

ares-granite-io

Granite-io plugin connector enables ARES interface with Granite-io

Target

Ollama Example Watsonx Example

Granite-io

ares-litellm-connector

Connector to LiteLLM endpoints

Target

LiteLLM Example

LiteLLM

ares-vllm-connector

Connector to vLLM endpoints

Target

vLLM Example

vLLM

ares-watsonx-orchestrate

Connector to Watsonx Orchestrate agent ChatAPI

Target

Watsonx Example

Watsonx Orchestrate ADK

ares-gcg

ARES GCG attack strategy

Strategy

GCG Example

Creating Your Own Plugin

To contribute a plugin:

  1. Copy the new-plugin-template folder.

  2. Rename it to ares-your-plugin-name.

  3. Implement the required interface (check base classes for connector/goals/strategy/evaluation modules).

  4. Add a README.md and tests/ folder inside your plugin directory.

  5. Update the plugin table in the main README.

More details: plugins/README.md