Automated red-team discovery for AI models
Project description
probegpt
Automated red-team discovery for AI models. Generates adversarial probe prompts across 8 attack strategies, sends them to a target model, judges responses against your objective, and iteratively refines the best-scoring probes using intelligent seed grading.
Install
pipx install probegpt
Usage
probegpt
Full-screen TUI. Set up your models in Config, then go to Run Discovery, enter your objective, and hit Run.
Models
Any of the following providers can be assigned independently to the target, generator, and judge roles:
| Provider | Auth |
|---|---|
| Azure OpenAI | az login |
| OpenRouter | OPENROUTER_API_KEY env var |
| GCP Vertex AI | gcloud auth application-default login |
| AWS Bedrock | aws configure |
| Cerebras | CEREBRAS_API_KEY env var |
| Mistral | MISTRAL_API_KEY env var |
Config is saved to ~/.outofthebox/config.json.
How it works
- Loads 9 seed probes covering known red-team techniques
- Each iteration distributes candidates across all enabled attack strategies (weighted)
- Every probe is sent to the target model; the judge scores the response 0.0 → 1.0
- Probes scoring ≥ 0.5 are sent to the seed grader, which analyzes why the probe worked and extracts technique tags
- Novel, high-transferability probes are added to a weighted seed pool; the generator is told which techniques are working
- Results optionally exported to JSON
Attack strategies
Eight strategies run in parallel each iteration. Candidates are distributed proportionally to their configured weights.
| Strategy | Technique family |
|---|---|
| objective | Fresh probes written directly for the objective |
| mutation | Variations of high-scoring seeds from the pool |
| encoding | base64, ROT13, leetspeak, fragmentation, reversal — half LLM-generated, half programmatic |
| roleplay | Evil-twin personas, simulation frames, nested hierarchy, game context |
| persuasion | Emotional appeal, urgency, flattery, logical fallacy, social proof |
| linguistic | Typos, phonetic spelling, double negatives, logic tricks, passive voice |
| structural | Payload splitting, chain-of-thought hijack, prefix/suffix injection, context stuffing |
| distraction | Benign prefix, topic pivot, attention splitting, distract-and-attack |
Enable/disable strategies and adjust their relative weights in Config → Strategies.
Intelligent seed grading
After each successful probe (score ≥ 0.5), an LLM agent analyzes it and assigns:
- technique tags — what made it work (57-tag vocabulary)
- novelty — how different it is from existing seeds (duplicates are discarded)
- transferability — how likely the technique generalises to other objectives
From iteration 2 onward, the generator receives the top working technique tags as a feedback hint, and mutation sampling weights toward high-scoring, novel, transferable seeds.
Requirements
- Python 3.11+
- At least one configured provider for each role (target, generator, judge)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file probegpt-0.3.1.tar.gz.
File metadata
- Download URL: probegpt-0.3.1.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5061472c0d0ba4f26ca7d516037418601e8a5388a918bc95e00f815125ffa7ed
|
|
| MD5 |
fae2b00a5d106bbd17088bbf3aef9b84
|
|
| BLAKE2b-256 |
9e1d5f17cf76ef875774dd25e2d7d91d9ec256e99fa4251b16cd524906135ed9
|
File details
Details for the file probegpt-0.3.1-py3-none-any.whl.
File metadata
- Download URL: probegpt-0.3.1-py3-none-any.whl
- Upload date:
- Size: 55.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a6ba335c5360997d192e74fe76ff4feff822b01bbef926df3d32f9002529cfb
|
|
| MD5 |
65f6c82f1e94af8a0b5dc649536babe6
|
|
| BLAKE2b-256 |
4dd4370819d65190051980ac25cdc821c42a48dbed327a70a3e0c0765d1f0950
|