The Blackteam class provides a clean Python API for using ai-blackteam in scripts, notebooks, and CI pipelines.

Quick Start

API Surface

Initialization

The constructor loads config from ~/.ai-blackteam/config.yaml (or the provided path), creates an Engine, and auto-discovers all attacks, providers, and datasets.

Running Attacks

run() - Single Attack

Returns a list of result dicts (single-turn) or a single result dict (multi-turn/tool-use). Same format as Engine.run().

batch() - Multiple Attacks

Returns a list of {"attack": str, "results": ..., "error": str | None} dicts.

defend() - Compare Baseline vs Defense

Returns a dict with baseline and defended verdict maps, plus counts.

Listing Resources

Taxonomy

Returns all attacks grouped by category, with full metadata.

Attack Metadata

Scorecards

Exporting Results

Datasets

Template Expansion

Code Scanning

Using Internal Components Directly

For lower-level control, you can use the Engine, Evaluator, and Registry directly:

Source

src/ai-blackteam/api.py