revolt-rai 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. revolt_rai-1.0.0/.python-version +1 -0
  2. revolt_rai-1.0.0/LICENSE +21 -0
  3. revolt_rai-1.0.0/PKG-INFO +424 -0
  4. revolt_rai-1.0.0/README.md +376 -0
  5. revolt_rai-1.0.0/__init__.py +0 -0
  6. revolt_rai-1.0.0/pyproject.toml +69 -0
  7. revolt_rai-1.0.0/rai/__init__.py +0 -0
  8. revolt_rai-1.0.0/rai/modules/__init__.py +0 -0
  9. revolt_rai-1.0.0/rai/modules/agentbuilder/__init__.py +0 -0
  10. revolt_rai-1.0.0/rai/modules/agentbuilder/agentbuilder.py +213 -0
  11. revolt_rai-1.0.0/rai/modules/agentcli/__init__.py +0 -0
  12. revolt_rai-1.0.0/rai/modules/agentcli/agentcli.py +327 -0
  13. revolt_rai-1.0.0/rai/modules/banner/__init__.py +0 -0
  14. revolt_rai-1.0.0/rai/modules/banner/banner.py +17 -0
  15. revolt_rai-1.0.0/rai/modules/cli/__init__.py +0 -0
  16. revolt_rai-1.0.0/rai/modules/cli/cli.py +20 -0
  17. revolt_rai-1.0.0/rai/modules/config/__init__.py +0 -0
  18. revolt_rai-1.0.0/rai/modules/config/config.py +50 -0
  19. revolt_rai-1.0.0/rai/modules/gitutils/__init__.py +0 -0
  20. revolt_rai-1.0.0/rai/modules/gitutils/gitutils.py +93 -0
  21. revolt_rai-1.0.0/rai/modules/help/__init__.py +0 -0
  22. revolt_rai-1.0.0/rai/modules/help/help.py +28 -0
  23. revolt_rai-1.0.0/rai/modules/logger/__init__.py +0 -0
  24. revolt_rai-1.0.0/rai/modules/logger/logger.py +134 -0
  25. revolt_rai-1.0.0/rai/modules/modelconfig/__init__.py +0 -0
  26. revolt_rai-1.0.0/rai/modules/modelconfig/modelconfig.py +75 -0
  27. revolt_rai-1.0.0/rai/modules/teamconfig/__init__.py +0 -0
  28. revolt_rai-1.0.0/rai/modules/teamconfig/teamconfig.py +16 -0
  29. revolt_rai-1.0.0/rai/modules/toolconfig/__init__.py +0 -0
  30. revolt_rai-1.0.0/rai/modules/toolconfig/toolconfig.py +7 -0
  31. revolt_rai-1.0.0/rai/rai.py +118 -0
  32. revolt_rai-1.0.0/uv.lock +1644 -0
@@ -0,0 +1 @@
1
+ 3.13
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 RevoltSecurities
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,424 @@
1
+ Metadata-Version: 2.4
2
+ Name: revolt-rai
3
+ Version: 1.0.0
4
+ Summary: RAI is a next-gen CLI framework to automate the creation of intelligent agents and teams for cybersecurity and offensive security operations
5
+ Project-URL: Homepage, https://github.com/RevoltSecurities/RAI
6
+ Project-URL: Documentation, https://github.com/RevoltSecurities/RAI/wiki
7
+ Project-URL: Repository, https://github.com/RevoltSecurities/RAI
8
+ Project-URL: Issues, https://github.com/RevoltSecurities/RAI/issues
9
+ Author-email: "D. Sanjai Kumar" <bughunterz0047@gmail.com>
10
+ Maintainer-email: "D. Sanjai Kumar" <bughunterz0047@gmail.com>, "Gokul.V" <th3gokul@gmail.com>
11
+ License: MIT
12
+ License-File: LICENSE
13
+ Keywords: AI Security,AI shell,LLM Team,agno,ai-agents,ctf,ethical hacking,framework,llm,multi-agent,penetration testing,rai
14
+ Classifier: Development Status :: 5 - Production/Stable
15
+ Classifier: Environment :: Console
16
+ Classifier: Intended Audience :: Developers
17
+ Classifier: Intended Audience :: Information Technology
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: Security
21
+ Classifier: Topic :: Software Development :: Libraries
22
+ Classifier: Topic :: Utilities
23
+ Requires-Python: >=3.13
24
+ Requires-Dist: agno>=1.4.3
25
+ Requires-Dist: aiofiles>=24.1.0
26
+ Requires-Dist: aiohttp>=3.11.18
27
+ Requires-Dist: anthropic>=0.50.0
28
+ Requires-Dist: appdirs>=1.4.4
29
+ Requires-Dist: art>=6.5
30
+ Requires-Dist: asyncio>=3.4.3
31
+ Requires-Dist: azure-ai-inference>=1.0.0b9
32
+ Requires-Dist: boto3>=1.38.6
33
+ Requires-Dist: cohere>=5.15.0
34
+ Requires-Dist: colorama>=0.4.6
35
+ Requires-Dist: google-genai>=1.13.0
36
+ Requires-Dist: groq>=0.23.1
37
+ Requires-Dist: httpx>=0.28.1
38
+ Requires-Dist: ibm-watsonx-ai>=1.3.13
39
+ Requires-Dist: litellm>=1.67.5
40
+ Requires-Dist: mcp>=1.6.0
41
+ Requires-Dist: mistralai>=1.7.0
42
+ Requires-Dist: nest-asyncio>=1.6.0
43
+ Requires-Dist: ollama>=0.4.8
44
+ Requires-Dist: openai>=1.76.2
45
+ Requires-Dist: prompt-toolkit>=3.0.51
46
+ Requires-Dist: pyyaml>=6.0.2
47
+ Description-Content-Type: text/markdown
48
+
49
+ ## RAI – Next-Level Automation Tool & Framework for Building LLM Agents and Teams in Cybersecurity
50
+
51
+ <h1 align="center">
52
+ <img src="static/rai-demo.jpg" alt="RAI" width="450px">
53
+ <br>
54
+ </h1>
55
+
56
+ <div>
57
+ <div>
58
+
59
+ <div align="center">
60
+
61
+ **lightweight, faster LLM Agents,Team building with YAML Configuration**
62
+
63
+ </div>
64
+
65
+
66
+ <p align="center">
67
+ <a href="https://github.com/RevoltSecurities/RAI?tab=readme-ov-file#features">Features</a> |
68
+ <a href="https://github.com/RevoltSecurities/RAI?tab=readme-ov-file#installation">Installation</a> |
69
+ <a href="https://github.com/RevoltSecurities/RAI?tab=readme-ov-file#usage">Usage</a> |
70
+ <a href="https://github.com/RevoltSecurities/RAI?tab=readme-ov-file#-yaml-configuration">Building Agents & Teams with YAML Configuration</a>
71
+ </p>
72
+
73
+ <div align="center">
74
+
75
+ ![GitHub last commit](https://img.shields.io/github/last-commit/RevoltSecurities/Subdominator) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/RevoltSecurities/Subdominator) [![GitHub license](https://img.shields.io/github/license/RevoltSecurities/Subdominator)](https://github.com/RevoltSecurities/Subdominator/blob/main/LICENSE)
76
+
77
+ </div>
78
+
79
+
80
+
81
+ **RAI (Revolt AI Agent)** is a modern, YAML-driven CLI tool and framework for building intelligent agents and agent teams tailored for cybersecurity automation, offensive security, and penetration testing operations.
82
+ Built on top of the powerful [Agno framework](https://docs.agno.com), RAI enables security professionals, red teamers, and AI hackers to design, orchestrate, and deploy advanced LLM-powered agents without writing traditional code. Its no-code architecture leverages structured YAML configurations to define agent behavior, tools, and team collaboration logic.
83
+
84
+
85
+
86
+ ### FeaturesπŸ”§:
87
+ ---
88
+
89
+ ![demo](https://github.com/user-attachments/assets/c2926693-6b54-4a68-8ba1-cc7fde6fb479)
90
+
91
+
92
+ - 🧠 **Interactive Shell Mode** – Engage in real-time conversations with LLM agents and teams via a powerful interactive CLI. Seamlessly switch between agents or teams with intuitive commands.
93
+
94
+ - πŸ“ **YAML-Based Agent & Team Building** – Define agents and teams using easy-to-edit YAML templates. Accelerate development with low-code configurations and smart defaults.
95
+
96
+ - πŸ€– **Multi-Agent & Team Support** – Build, run, and manage multiple agents or teams in parallel with full operational isolation and coordination.
97
+
98
+ - πŸ”Œ **Tool Integration (SSE & stdio)** – Integrate custom tools via Server-Sent Events or standard I/O for dynamic agent-tool communication.
99
+
100
+ - πŸ”„ **Dynamic Team Allocation** – Flexibly assign, reassign, or reconfigure agents across different teams at runtime to optimize task workflows.
101
+
102
+ - 🧩 **MCP-Compatible Infrastructure** – Built with modularity in mind, RAI is ready for integration with Model Context Protocol (MCP) tooling and future agent standards.
103
+
104
+ - βš™οΈ **Fast & Flexible Configuration** – Lightweight setup with extensible configuration options. Designed for developers who want control without the clutter.
105
+
106
+ - 🧠 **Built-In Reasoning Engine** – Agents can *think*, *reason*, and *decide* intelligently before taking action, enabling smarter task execution.
107
+
108
+ - πŸ›‘οΈ **Cybersecurity-First Design** – Purpose-built for red teaming, bug bounty automation, recon, exploit development, and offensive security workflows.
109
+
110
+ - 🧬 **Agent-to-Agent Communication** – Enable inter-agent messaging within teams, allowing agents to delegate tasks, collaborate, and share results autonomously.
111
+
112
+
113
+ ### Supported LLM Providers:
114
+ - **Anthropic**
115
+ - **AWS**
116
+ - **Azure**
117
+ - **Cohere**
118
+ - **DeepInfra**
119
+ - **DeepSeek**
120
+ - **Fireworks**
121
+ - **Google (Gemini)**
122
+ - **Groq**
123
+ - **Hugging Face**
124
+ - **IBM**
125
+ - **InternLM**
126
+ - **LiteLLM**
127
+ - **LMStudio**
128
+ - **Meta (LLaMA)**
129
+ - **Mistral**
130
+ - **NVIDIA**
131
+ - **Ollama**
132
+ - **OpenAI**
133
+ - **OpenRouter**
134
+ - **Perplexity**
135
+ - **SambaNova**
136
+ - **Together.ai**
137
+ - **xAI**
138
+
139
+
140
+ ### InstallationπŸš€
141
+
142
+ RAI can be easily installed using [**uv**](https://github.com/astral-sh/uv) β€” a fast Python package manager designed for modern workflows.
143
+
144
+ ### πŸ“¦ Install with `uv`
145
+
146
+ ```bash
147
+ uv tool install rai
148
+ ```
149
+
150
+ > βœ… Make sure you have Python 3.13 or newer installed.
151
+ > βœ… `uv` automatically handles virtual environments, speed, and dependency resolution.
152
+
153
+
154
+ ### Usage:
155
+ ---
156
+ ```code
157
+ rai -h
158
+ ```
159
+
160
+ ```yaml
161
+ ____ ___ ____
162
+ / __ \ / | / _/
163
+ / /_/ / / /| | / /
164
+ / _, _/ / ___ | _/ /
165
+ /_/ |_| /_/ |_|/___/
166
+
167
+
168
+ - RevoltSecurities
169
+
170
+
171
+ [DESCRIPTION]:
172
+
173
+ RAI is a next-gen CLI tool and framework to automate the creation of intelligent agents and teams for cybersecurity and offensive security operations
174
+
175
+ [USAGE]:
176
+
177
+ rai [flags]
178
+
179
+ [FLAGS]:
180
+
181
+ -h, --help : Show this help message and exit.
182
+ -v, --version : Show current version of RAI.
183
+ -cp, --config-path : Path to YAML config file (default: $HOME/.config/RAI/raiagent.yaml).
184
+ -sup, --show-updates : Show latest update details.
185
+ -up, --update : Update RAI to the latest version (manual YAML update).
186
+
187
+ ```
188
+
189
+
190
+ # πŸ›  YAML Configuration
191
+
192
+ RAI allows you to define **AI Agents** and **Agent Teams** using a simple YAML configuration. This configuration determines how agents behave, what models they use, what tools are attached, and how they collaborate as teams.
193
+
194
+ ---
195
+
196
+ ## ✳️ Agent Configuration (`agents`)
197
+
198
+ Each agent must define the following **required fields**:
199
+
200
+ | Field | Type | Description |
201
+ |--------------|----------|-------------|
202
+ | `name` | string | Unique agent name, must use `-` or `_` only (e.g., `web_pentest_agent`) |
203
+ | `model` | string | The provider name (e.g., `openai`, `gemini`, `groq`, `xai`) |
204
+ | `model-id` | string | The specific model ID to use (e.g., `gpt-4`, `gemini-2.0-pro`) |
205
+ | `apikey` | string | API key for the chosen provider |
206
+ | `role` | string | A short sentence describing the agent’s purpose |
207
+ | `description` | string | Multi-line detailed description of the agent’s capabilities |
208
+ | `instructions`| string | A clear set of multi-line operational guidelines for the agent |
209
+ | `tools` | toolconfig | Tools assigned to the agent (`sse` or `stdio` types with required params) |
210
+
211
+
212
+ > βœ… The only **optional field** is `think: true`, which enables your agent to think and analyze before its response
213
+
214
+ ---
215
+
216
+ ## 🧠 Team Configuration (`teams`)
217
+
218
+ Teams are collaborative groups of agents that share analysis tasks.
219
+
220
+ Each team must define the following **required fields**:
221
+
222
+ | Field | Type | Description |
223
+ |--------------|----------|-------------|
224
+ | `name` | string | Team name, must use `-` or `_` only (e.g., `pentest_team`) |
225
+ | `mode` | string | Team mode (e.g., `coordinate`, `route`, `collaborate`) |
226
+ | `model` | string | Provider name for internal logic (same as in agents) |
227
+ | `model-id` | string | Model ID used for internal processing |
228
+ | `apikey` | string | API key for the team’s model |
229
+ | `instructions`| string | Multi-line instructions on how the team should collaborate |
230
+ | `members` | list | List of agent names (must match agent `name` fields) |
231
+ | `tools` | toolconfig | Tools assigned to the agent (`sse` or `stdio` types with required params) |
232
+ | `success_criteria` | string | Configure your teams collaboration success criteria to achieve your goal for the RAI Team task
233
+
234
+ > βœ… `think: true` is an **optional field** to allow team-wide reasoning before responding.
235
+
236
+ ---
237
+
238
+ ## 🧩 Agent Naming Convention
239
+
240
+ To ensure consistency and compatibility:
241
+
242
+ - Agent and team `name` fields must:
243
+ - Be unique across agents and teams
244
+ - Use only lowercase characters, numbers, `-`, or `_`
245
+ - Not contain spaces or special characters
246
+
247
+ βœ… **Valid:** `api_pentest_agent`, `web-agent-1`
248
+ ❌ **Invalid:** `Agent 01`, `Web*Pentest`
249
+
250
+ ---
251
+
252
+ ## πŸ”— Team Member Allocation Rules
253
+
254
+ - `members` must list agent names **already defined** under the `agents:` section.
255
+ - All member agents **must be valid and fully configured** before referencing them in a team.
256
+ - Duplicate agent names or undeclared agents will raise errors.
257
+
258
+ ---
259
+
260
+ ### πŸ”§ Tools Configuration
261
+
262
+ Agents or Teams can integrate external or internal MCP tools via yaml configuration:
263
+
264
+ #### SSE Tool (Server-Sent Events)
265
+ ```yaml
266
+ - type: "sse"
267
+ name: "tool_name"
268
+ params:
269
+ url: "http://host:port/endpoint"
270
+ headers:
271
+ Authorization: "Bearer your_token_here"
272
+ ```
273
+
274
+ #### Stdio Tool (Local MCP server execution)
275
+ ```yaml
276
+ - type: "stdio"
277
+ name: "tool_name"
278
+ params:
279
+ command: "command_to_run (ex:uv)"
280
+ args: ["arg1", "arg2", "argN"]
281
+ ```
282
+ ---
283
+
284
+
285
+ ## πŸ“¦ Sample Full YAML Configuration
286
+
287
+ ```console
288
+ nano ~/.config/RAI/raiagent.yaml
289
+ ```
290
+ and paste these below content and also use valid models and secret apikeys to work with RAI⚑
291
+
292
+ ```yaml
293
+ agents:
294
+ - name: "web_pentest_agent"
295
+ model: "gemini"
296
+ model-id: "gemini-2.0-flash-exp"
297
+ apikey: "AIzaSyDnd-REDACTED-1234567890"
298
+ role: "An expert web application penetration tester."
299
+ description: |
300
+ This agent performs in-depth analysis of web applications, including:
301
+ - XSS, SQLi, CSRF, SSRF detection
302
+ - Payload recommendations
303
+ - Mitigation advice using OWASP guidelines
304
+ instructions: |
305
+ - Analyze HTML, JS, HTTP requests
306
+ - Follow ethical boundaries
307
+ - Provide clear markdown-formatted results
308
+ tools:
309
+ - type: "sse"
310
+ name: "web_tool"
311
+ params:
312
+ url: "http://localhost:8000/sse"
313
+ headers:
314
+ Authorization: "Bearer sample-token-123"
315
+ markdown: true
316
+ enable_history: true
317
+
318
+ - name: "api_pentest_agent"
319
+ model: "gemini"
320
+ model-id: "gemini-2.0-flash-exp"
321
+ apikey: "AIzaSyDnd-REDACTED-0987654321"
322
+ role: "API security expert."
323
+ description: |
324
+ Focused on discovering API vulnerabilities:
325
+ - BOLA, Mass Assignment, Broken Auth
326
+ - CORS and Rate Limiting checks
327
+ instructions: |
328
+ Use OWASP API Top 10 as the baseline. Respond only with ethical suggestions.
329
+ tools:
330
+ - type: "stdio"
331
+ name: "api_tool"
332
+ params:
333
+ command: "python3"
334
+ args: ["api_runner.py"]
335
+ markdown: true
336
+ enable_history: true
337
+
338
+ - name: "ctf_agent"
339
+ model: "gemini"
340
+ model-id: "gemini-2.0-flash-exp"
341
+ apikey: "AIzaSyDnd-REDACTED-CTFKEY"
342
+ role: "CTF solving agent"
343
+ description: |
344
+ Solves CTF challenges in web, pwn, reverse engineering, crypto, and forensics.
345
+ instructions: |
346
+ - Give step-by-step answers
347
+ - Output payloads and flag extraction logic
348
+ markdown: true
349
+ enable_history: true
350
+
351
+ teams:
352
+ - name: "pentest_team_alpha"
353
+ mode: "coordinate"
354
+ model: "gemini"
355
+ model-id: "gemini-2.0-flash-exp"
356
+ apikey: "AIzaSyDnd-REDACTED-TEAMKEY"
357
+ instructions: |
358
+ Collaborate across agents to detect and explain vulnerabilities in web or API apps.
359
+ tools:
360
+ - type: "stdio"
361
+ name: "api_tool"
362
+ params:
363
+ command: "python3"
364
+ args: ["api_runner.py"]
365
+ members:
366
+ - "web_pentest_agent"
367
+ - "api_pentest_agent"
368
+ - "ctf_agent"
369
+ success_criteria: "All vulnerabilities are clearly identified, explained, and mitigated."
370
+ think: true
371
+ ```
372
+
373
+ ---
374
+
375
+ ### πŸš€ Future Enhancement Plan:
376
+
377
+ RAI (Revolt AI Agent) is under **continuous development** πŸ› οΈ β€” evolving rapidly to empower cybersecurity automation with intelligent, collaborative agents. Upcoming features include:
378
+
379
+ - πŸ–₯ **Agent UI with Agno UI Integration**
380
+ A powerful web-based UI to manage, monitor, and interact with agents, tools, and teams visually β€” built on Agno's robust interface layer.
381
+
382
+ - 🧠 **Memory & Session Storage Management**
383
+ Agents will support persistent session memory:
384
+ - Maintain conversation continuity
385
+ - Recall user preferences, task history, and learned context
386
+
387
+ - πŸ“š **Agent & Team Knowledge Injection**
388
+ Allow agents and teams to use **custom knowledge bases**, enabling them to:
389
+ - Ingest structured/unstructured data sources (e.g., markdown, PDFs, JSON, code)
390
+ - Improve reasoning and task performance through embedded knowledge
391
+ - Learn iteratively and adapt during operations
392
+
393
+ - 🧩 **Agent Knowledge Learning Loop**
394
+ Equip agents with mechanisms to analyze outcomes, refine their behavior, and build contextual awareness from completed tasks.
395
+
396
+
397
+ > ⚠️ **RAI is Under Continuous Development**
398
+ >
399
+ > ───────────────────────────────────────────────
400
+ >
401
+ > πŸ› οΈ RAI (Revolt AI Agent) is an actively evolving project built on top of the powerful **Agno** framework.
402
+ > This means you can expect:
403
+ >
404
+ > πŸ”„ Regular updates & new feature drops
405
+ > πŸ§ͺ Experimental support for cutting-edge agent workflows
406
+ > πŸ”§ Frequent performance and usability improvements
407
+ > 🧰 Expanding tool integrations and LLM backend compatibility
408
+ > πŸ“¦ Community-driven contributions & enhancements welcome!
409
+ >
410
+ > While RAI is already production-capable, it’s designed to grow fastβ€”
411
+ > so expect changes, iteration, and rapid innovation.
412
+ >
413
+ > βž• Stay updated. Join the journey. Contribute. Hack with AI.
414
+ > ───────────────────────────────────────────────
415
+
416
+ ---
417
+
418
+ ### ❀️ Acknowledgements & Community Contribution:
419
+
420
+ A special thanks to the [**Agno Framework**](https://github.com/agno-agi/agno) for providing a powerful foundation for RAI. Their contributions have made it possible to build a sophisticated, flexible, and scalable platform that empowers cybersecurity professionals worldwide. πŸ™
421
+
422
+ RAI (Revolt AI Agent) is developed with ❀️ by [**RevoltSecurities**](https://github.com/RevoltSecurities), driven by a passion for open-source and cybersecurity innovation. We are excited to share this tool with the community and empower the next generation of red teamers, security researchers, and AI hackers. πŸš€
423
+ We **welcome** contributions, ideas, and feedback from the open-source community. Together, we can make RAI even more powerful and continue to drive innovation in the cybersecurity field.
424
+ Your contributions, whether in the form of code, documentation, bug reports, or ideas, are highly appreciated. Let's build, learn, and grow together! 🀝