Rogue agent evaluator by Rogue Security
$git clone https://github.com/qualifire-dev/rogueInstalls into the current project.
Install rogue by running `git clone https://github.com/qualifire-dev/rogue`, then use it for the current task and follow its documentation at https://github.com/qualifire-dev/rogue.
| 1 | # Rogue — AI Agent Evaluator & Red Team Platform |
| 2 | |
| 3 |  |
| 4 | |
| 5 | <div align="center"> |
| 6 | |
| 7 | <a href="https://trendshift.io/repositories/15191" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15191" alt="qualifire-dev%2Frogue | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> |
| 8 | |
| 9 |  |
| 10 | |
| 11 | <img src="./freddy-rogue.png" width="200"/> |
| 12 | |
| 13 | **Stress-test your AI agents before attackers do.** |
| 14 | |
| 15 | [Discord Community](https://discord.gg/EUfAt7ZDeK) · [Quick Start](#-quick-start) · [Documentation](./docs/) |
| 16 | |
| 17 | </div> |
| 18 | |
| 19 | --- |
| 20 | |
| 21 | ## Two Ways to Harden Your Agent |
| 22 | |
| 23 | <table> |
| 24 | <tr> |
| 25 | <td width="50%" valign="top"> |
| 26 | |
| 27 | ### 🎯 Automatic Evaluation |
| 28 | |
| 29 | Test your agent against **business policies** and expected behaviors. |
| 30 | |
| 31 | - Define scenarios & expected outcomes |
| 32 | - Verify compliance with business rules |
| 33 | - Watch live conversations as Rogue probes your agent |
| 34 | - Get detailed pass/fail reports with reasoning |
| 35 | |
| 36 | **Best for:** Regression testing, behavior validation, policy compliance |
| 37 | |
| 38 | </td> |
| 39 | <td width="50%" valign="top"> |
| 40 | |
| 41 | ### 🔴 Red Teaming |
| 42 | |
| 43 | Simulate **adversarial attacks** to find security vulnerabilities. |
| 44 | |
| 45 | - 75+ vulnerabilities across 12 security categories |
| 46 | - 20 attack techniques (encoding, social engineering, injection) |
| 47 | - CVSS-based risk scoring |
| 48 | - 8 compliance frameworks (OWASP, MITRE, NIST, GDPR, EU AI Act) |
| 49 | |
| 50 | **Best for:** Security audits, penetration testing, compliance reporting |
| 51 | |
| 52 | </td> |
| 53 | </tr> |
| 54 | </table> |
| 55 | |
| 56 | --- |
| 57 | |
| 58 | ## Architecture |
| 59 | |
| 60 | Rogue operates on a **client-server architecture** with multiple interfaces: |
| 61 | |
| 62 | | Component | Description | |
| 63 | | ---------- | ------------------------------------------- | |
| 64 | | **Server** | Core evaluation & red team logic | |
| 65 | | **TUI** | Modern terminal interface (Go + Bubble Tea) | |
| 66 | | **CLI** | Non-interactive mode for CI/CD pipelines | |
| 67 | |
| 68 | https://github.com/user-attachments/assets/b5c04772-6916-4aab-825b-6a7476d77787 |
| 69 | |
| 70 | ### Supported Protocols |
| 71 | |
| 72 | | Protocol | Transport | Description | |
| 73 | | ---------- | -------------------- | ---------------------------------------------------------------------------------- | |
| 74 | | **A2A** | HTTP | [Google's Agent-to-Agent](https://a2a-protocol.org/latest/) protocol | |
| 75 | | **MCP** | SSE, STREAMABLE_HTTP | [Model Context Protocol](https://modelcontextprotocol.io/) via `send_message` tool | |
| 76 | | **Python** | — | Direct Python function calls (no network protocol) | |
| 77 | |
| 78 | See examples in [`examples/`](./examples/) for reference implementations. |
| 79 | |
| 80 | #### Python Entrypoint |
| 81 | |
| 82 | For agents implemented as Python functions without A2A or MCP: |
| 83 | |
| 84 | 1. Create a Python file with a `call_agent` function: |
| 85 | |
| 86 | ```python |
| 87 | def call_agent(messages: list[dict]) -> str: |
| 88 | """ |
| 89 | Process conversation and return response. |
| 90 | |
| 91 | Args: |
| 92 | messages: List of {"role": "user"|"assistant", "content": "..."} |
| 93 | |
| 94 | Returns: |
| 95 | Agent's response as a string |
| 96 | """ |
| 97 | # Your agent logic here |
| 98 | latest = messages[-1]["content"] |
| 99 | return f"Response to: {latest}" |
| 100 | ``` |
| 101 | |
| 102 | 2. Run Rogue with Python protocol: |
| 103 | |
| 104 | ```bash |
| 105 | uvx rogue-ai cli \ |
| 106 | --protocol python \ |
| 107 | --python-entrypoint-file ./my_agent.py \ |
| 108 | --judge-llm openai/gpt-4o-mini |
| 109 | ``` |
| 110 | |
| 111 | Or via TUI: select "Python" as the protocol and enter the file path. |
| 112 | |
| 113 | See [`examples/python_entrypoint_stub.py`](./examples/python_entrypoint_stub.py) for a complete example. |
| 114 | |
| 115 | --- |
| 116 | |
| 117 | ## 🔥 Quick Start |
| 118 | |
| 119 | ### Prerequisites |
| 120 | |
| 121 | - `uvx` — [Install uv](https://docs.astral.sh/uv/getting-started/installation/) |
| 122 | - Python 3.10+ |
| 123 | - LLM API key (OpenAI, Anthropic, or Google) |
| 124 | |
| 125 | ### Installation |
| 126 | |
| 127 | ```bash |
| 128 | # TUI (recommended) |
| 129 | uvx rogue-ai |
| 130 | |
| 131 | # CLI / CI/CD |
| 132 | uvx rogue-ai cli |
| 133 | ``` |
| 134 | |
| 135 | ### Try It With the Example Agent |
| 136 | |
| 137 | ```bash |
| 138 | # All-in-one: starts both Rogue and a sample T-shirt store agent |
| 139 | uvx rogue-ai --example=t |