Rogue — AI Agent Evaluator & Red Team Platform
Two Ways to Harden Your Agent
Architecture
Rogue operates on a client-server architecture with multiple interfaces:
| Component | Description |
|---|---|
| Server | Core evaluation & red team logic |
| TUI | Modern terminal interface (Go + Bubble Tea) |
| CLI | Non-interactive mode for CI/CD pipelines |
https://github.com/user-attachments/assets/b5c04772-6916-4aab-825b-6a7476d77787
Supported Protocols
| Protocol | Transport | Description |
|---|---|---|
| A2A | HTTP | Google's Agent-to-Agent protocol |
| MCP | SSE, STREAMABLE_HTTP | Model Context Protocol via send_message tool |
| Python | — | Direct Python function calls (no network protocol) |
See examples in examples/ for reference implementations.
Python Entrypoint
For agents implemented as Python functions without A2A or MCP:
- Create a Python file with a
call_agentfunction:
def call_agent(messages: list[dict]) -> str:
"""
Process conversation and return response.
Args:
messages: List of {"role": "user"|"assistant", "content": "..."}
Returns:
Agent's response as a string
"""
# Your agent logic here
latest = messages[-1]["content"]
return f"Response to: {latest}"
- Run Rogue with Python protocol:
uvx rogue-ai cli \
--protocol python \
--python-entrypoint-file ./my_agent.py \
--judge-llm openai/gpt-4o-mini
Or via TUI: select "Python" as the protocol and enter the file path.
See examples/python_entrypoint_stub.py for a complete example.
🔥 Quick Start
Prerequisites
uvx— Install uv- Python 3.10+
- LLM API key (OpenAI, Anthropic, or Google)
Installation
# TUI (recommended)
uvx rogue-ai
# CLI / CI/CD
uvx rogue-ai cli
Try It With the Example Agent
# All-in-one: starts both Rogue and a sample T-shirt store agent
uvx rogue-ai --example=tshirt_store
Configure in the UI:
- Agent URL:
http://localhost:10001 - Mode: Choose
Automatic EvaluationorRed Teaming
Running Modes
| Mode | Command | Description |
|---|---|---|
| Default | uvx rogue-ai |
Server + TUI |
| Server | uvx rogue-ai server |
Backend only |
| TUI | uvx rogue-ai tui |
Terminal client |
| CLI | uvx rogue-ai cli |
Non-interactive (CI/CD) |
Server Options
uvx rogue-ai server --host 0.0.0.0 --port 8000 --debug
CLI Options
uvx rogue-ai cli \
--evaluated-agent-url http://localhost:10001 \
--judge-llm openai/gpt-4o-mini \
--business-context-file ./.rogue/business_context.md
| Option | Description |
|---|---|
--config-file |
Path to config JSON |
--evaluated-agent-url |
Agent endpoint (required) |
--judge-llm |
LLM for evaluation (required) |
--business-context |
Context string or --business-context-file |
--input-scenarios-file |
Scenarios JSON |
--output-report-file |
Report output path |
Red Teaming
Scan Types
| Type | Vulnerabilities | Attacks | Time |
|---|---|---|---|
| Basic | 5 curated | 6 | ~2-3 min |
| Full | 75+ | 40+ | ~30-45 min |
| Custom | User-selected | User-selected | Varies |
Compliance Frameworks
- OWASP LLM Top 10 — Prompt injection, sensitive data exposure, excessive agency
- MITRE ATLAS — Adversarial threat landscape for AI systems
- NIST AI RMF — AI risk management framework
- ISO/IEC 42001 — AI management system standard
- EU AI Act — European AI regulation compliance
- GDPR — Data protection requirements
- OWASP API Top 10 — API security best practices
Attack Categories
| Category | Examples |
|---|---|
| Encoding | Base64, ROT13, Leetspeak |
| Social Engineering | Roleplay, trust building |
| Injection | Prompt injection, SQL injection |
| Semantic | Goal redirection, context poisoning |
| Technical | Gray-box probing, permission escalation |
Risk Scoring (CVSS-based)
Each vulnerability receives a 0-10 risk score based on:
- Impact — Severity if exploited
- Exploitability — Success rate likelihood
- Human Factor — Manual exploitation potential
- Complexity — Attack difficulty
Reproducible Scans
# Use random seeds for reproducible results
uvx rogue-ai cli --random-seed 42
Perfect for regression testing and validating security fixes.
Configuration
Environment Variables
OPENAI_API_KEY="sk-..."
ANTHROPIC_API_KEY="sk-..."
GOOGLE_API_KEY="..."
Config File (.rogue/user_config.json)
{
"evaluated_agent_url": "http://localhost:10001",
"judge_llm": "openai/gpt-4o-mini"
}
Key Features
| Feature | Description |
|---|---|
| 🔄 Dynamic Scenarios | Auto-generate tests from business context |
| 👀 Live Monitoring | Watch agent conversations in real-time |
| 📊 Comprehensive Reports | Markdown, CSV, JSON exports |
| 🔍 Multi-Faceted Testing | Policy compliance + security vulnerabilities |
| 🤖 Model Support | OpenAI, Anthropic, Google (via LiteLLM) |
| 🛡️ CVSS Scoring | Industry-standard risk assessment |
| 🔁 Reproducible | Deterministic scans with random seeds |
Documentation
- Quick Reference — One-page cheat sheet
- Red Team Workflow — Technical deep-dive
- Implementation Status — Feature breakdown
- Attack Mapping — Vulnerability coverage
Contributing
- Fork the repository
- Create a branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push (
git push origin feature/amazing-feature) - Open a Pull Request
License
Licensed under a proprietary license — see LICENSE.
Free for personal and internal use. Commercial hosting requires licensing.
Contact: hello@rogue.security
Metadata
Release files for rogue-ai 0.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| rogue_ai-0.6.4.tar.gz | 14.0 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| rogue_ai-0.6.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.4 MB
Release files / rogue_ai-0.6.4.tar.gz
| Download URL | rogue_ai-0.6.4.tar.gz |
|---|---|
| Size | 14.0 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4f84117cd7c1a14c5d7568ebaf2dea55c2310fc0471d98dc4b7c24f58d1cab4f
|
|
BLAKE2b-256 checksum How to use checksums |
a8e9a38c86370b04327013beb2dd7bac93a4c598677f5953c23ef9a4ab14f29b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.
Transparency logRelease files / rogue_ai-0.6.4-py3-none-any.whl
| Download URL | rogue_ai-0.6.4-py3-none-any.whl |
|---|---|
| Size | 342.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
442f401436781d0f71382b27d9c5318eb56e11267548d5e74d34f157c06d6ee3
|
|
BLAKE2b-256 checksum How to use checksums |
e2218c386eebca83df026e82954f6cfb6be3aaaae0a1c8aa07fb4e1c5895c2c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.
Transparency logSecurity for rogue-ai 0.6.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for rogue_ai-0.6.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.