RedWeaver
RedWeaver is a platform that automatically searches for weaknesses in computer systems and online services. It acts like a team of security experts, using artificial intelligence to explore targets, identify potential problems, and create detailed reports. This helps businesses proactively find and fix vulnerabilities before attackers can exploit them, reducing the risk of data breaches and security incidents. Security professionals and IT managers would find RedWeaver useful for assessing their organization's security posture. What sets it apart is its ability to perform this complex process without requiring any manual setup of security tools, and it presents the findings in a clear, easy-to-understand way.
README
<p align="center"> <img src="docs/redweaver-banner.png" alt="RedWeaver" width="800"/> </p> <p align="center"> <a href="#quick-start">Quick Start</a> • <a href="#ui-overview">UI overview</a> • <a href="#architecture">Architecture</a> • <a href="#agent-pipeline">Agents</a> • <a href="#tools">Tools</a> • <a href="#llm-providers">LLM Providers</a> • <a href="#contributing">Contributing</a> • <a href="#license">License</a> </p> <p align="center"> <img src="https://img.shields.io/badge/version-0.3.0--beta-00d4aa?style=flat-square" alt="Version" /> <img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License" /> <img src="https://img.shields.io/badge/python-3.11+-3776ab?style=flat-square" alt="Python" /> <img src="https://img.shields.io/badge/react-18-61dafb?style=flat-square" alt="React" /> <img src="https://img.shields.io/badge/docker-required-2496ed?style=flat-square" alt="Docker" /> <img src="https://img.shields.io/badge/CrewAI-multi--agent-412991?style=flat-square" alt="CrewAI" /> </p> --- ## What is RedWeaver? RedWeaver is an autonomous vulnerability assessment platform that combines LLM reasoning with real security tools. You describe a target, and a team of AI agents collaboratively performs reconnaissance, crawling, fuzzing, vulnerability scanning, exploit analysis, and report generation — all streamed to your browser in real time. **Zero tool installation.** Everything runs inside Docker. You only need an LLM API key. --- ## UI overview The web UI is a React app (Vite) served behind nginx in Docker. After login you get: | Area | What you use it for | |------|---------------------| | **Dashboard** | Hunt stats, severity breakdown, latest findings at a glance | | **Hunt** | Chat-driven hunts with live agent stream (SSE), in-thread pentest report, and agent flow panel | | **Findings** | Sortable vulnerability list with severity badges, CVE references, and evidence | | **Sessions & Targets** | Workspace-scoped projects, session management, and target tracking | | **Knowledge Base** | Searchable methodology library — techniques, commands, and patterns | | **Settings** | Multi-provider LLM configuration (OpenAI, Anthropic, Google, Ollama, Meta) | ### Screenshots PNG captures live under `docs/screenshots/`. When updating them, use masked or empty API-key fields and non-sensitive targets only — never commit real keys or private hostnames in images. <p align="center"> <img src="docs/screenshots/rw-dashboard.png" alt="Dashboard" width="720" /><br/> <sub>Dashboard — hunt stats, severity breakdown, and latest findings</sub> </p> <p align="center"> <img src="docs/screenshots/rw-hunt.png" alt="Hunt workspace" width="720" /><br/> <sub>Hunt — pentest report, agent flow panel, and chat interface</sub> </p> <p align="center"> <img src="docs/screenshots/rw-findings.png" alt="Findings" width="720" /><br/> <sub>Findings — vulnerability list sorted by severity with CVE details</sub> </p> <p align="center"> <img src="docs/screenshots/rw-sessions.png" alt="Sessions & Targets" width="720" /><br/> <sub>Sessions & Targets — workspaces and project management</sub> </p> <p align="center"> <img src="docs/screenshots/rw-settings.png" alt="Settings" width="720" /><br/> <sub>Settings — multi-provider LLM configuration</sub> </p> --- ## Quick Start ```bash # 1. Clone the repo git clone https://github.com/TarzEH/RedWeaver.git cd RedWeaver # 2. Configure API keys cp .env.example .env # Edit .env — add at least one LLM key (OpenAI, Anthropic, or Google) # 3. Build and run docker compose up --build # 4. Open the UI open http://localhost:5173 ``` The API is exposed at **http://localhost:8001** (host port mapped to the backend container). The UI talks to it through the frontend nginx proxy (`/api`). Type a target URL in the Hunt chat and the agents will start hunting. ### Demo login (first boot) On a **fresh** Redis volume, the backend seeds a demo admin so you can sign in immediately: | Field | Value | |-------|--------| | Email | `admin@redweaver.io` | | Password | `redweaver` | **Change this password** (or register a new user and delete the demo account) before exposing the app beyond your machine. See [SECURITY.md](SECURITY.md). > **Tip:** API keys can also be configured in the **Settings** page after launch — no `.env` edits required. --- ## Architecture <p align="center"> <img src="docs/redweaver-architecture.svg" alt="Architecture diagram" width="800" /> </p> ### How It Works 1. **You describe a target** — "Scan example.com for vulnerabilities" 2. **CrewAI builds a crew** — target type (web vs host) and options pick which agents run; tasks chain with shared context 3. **Tasks run in order, with parallel batches where safe** — after **Recon** completes, **Fuzzer** and **Vuln Scanner** are scheduled as **asynchronous tasks** so CrewAI can run them **in parallel**, then **Crawler** and later steps run when their inputs are ready. Steps that need prior outputs (e.g. exploit analysis after all scans) still wait — correctness comes before wall-clock speed. 4. **Findings stream in real-time** — SSE pushes every tool call, thought, and finding to the UI 5. **Report is generated** — the Report Writer produces a **structured Markdown** pentest report (headings, tables, lists, code blocks, callouts), grounded in hunt context and knowledge-base search where configured; the UI can render it in Standard or Enhanced styling ### Why the graph looks “parallel” The **workflow graph** is a **dependency diagram**: arrows show which agents consume outputs from others (e.g. many edges from Recon). It is **not** a Gantt chart. Branches do not mean “everything runs at the same time” — they mean “these steps all use data from Recon.” Actual execution follows the crew’s task list, with **parallelism only where tools are independent** and CrewAI’s async batching allows it. --- ## Agent Pipeline The **workflow graph** may show an **Orchestrator** node for visualization only. Which agents run depends on target type (web vs host/network) and options (e.g. SSH post-exploit). | Phase | Agent | What It Does | |:-----:|-------|-------------| | 1 | **Recon** | Subdomain enumeration, port scanning, tech fingerprinting | | 2a / 2b | **Fuzzer** · **Vuln Scanner** | Run **in parallel** after recon (async batch): fuzzing + nuclei/nikto | | 3 | **Crawler** | Endpoint discovery, JS analysis, form extraction (web targets; waits for fuzzer when present) | | 4 | **Web Search** | OSINT — CVE lookup, exploit databases, public disclosures | | 5 | **Exploit Analyst** | Attack chain correlation, risk assessment | | 6 | **Report Writer** | Structured **Markdown** report (methodology, findings, remediation) | | 7 | **Privesc / Tunnel / Post-exploit** | Optional when SSH targets are configured | Phases are **logical**; the exact task order is defined in code (`CrewFactory`) and may differ slightly by target (e.g. no crawler on non-web targets). --- ## Tools All tools run as CLI binaries inside the Docker container — no external accounts or paid APIs needed. | Tool | Category | Purpose | |------|----------|---------| | [nmap](https://nmap.org/) | Recon | Port scanning, service detection | | [subfinder](https://github.com/projectdiscovery/subfinder) | Recon | Subdomain enumeration | | [httpx](https://github.com/projectdiscovery/httpx) | Recon | HTTP probing, tech detection | | [whatweb](https://github.com/urbanadventurer/WhatWeb) | Recon | Web technology fingerprinting | | [theHarvester](https://github.com/laramies/theHarvester) | OSINT | Email, subdomain, IP harvesting | | [nuclei](https://github.com/projectdiscovery/nuclei) | Scanning | Template-based vulnerability scanning | | [nikto](https://github.com/sullo/nikto) | Scanning | Web server misconfiguration scanner | | [ffuf](https://github.com/ffuf/ffuf) | Fuzzing | Web fuzzer for directories and parameters | | [gobuster](http [truncated…]
PUBLIC HISTORY
IDENTITY
Identity inferred from code signals. No PROVENANCE.yml found.
Is this yours? Claim it →METADATA
README BADGE
Add to your README:
