ReconPro Enterprise
Eleven Blades. One Target. One Verdict.
The full-spectrum security reconnaissance platform with AI-powered live analysis. 11 scanning modules, 40+ subcommands, z.ai streaming integration.
Installation
pip install reconpro
Or from source:
git clone https://github.com/reconpro-security/reconpro.git
cd reconpro
pip install .
Quick Start
# Scan with default modules (recon, vibesec, auth, chain, oblivion)
reconpro example.com
# Run all remote modules
reconpro example.com --all
# Pick specific modules
reconpro example.com --modules recon,auth,nhi
# Quick VibeSec benchmark only
reconpro vibesec example.com
# JSON output
reconpro example.com --json -o report.json
# Skip TLS verification
reconpro example.com --insecure
# Adjust timeout and rate limit
reconpro example.com --timeout 5 --rate-limit 5
z.ai Live Stream Integration
ReconPro includes a built-in z.ai live stream integration that pipes scan findings through an AI analyst in real-time. Zero configuration, no API keys required — it auto-discovers credentials from your environment.
How It Works
The ZAIStreamClient auto-discovers the z.ai API config from standard locations (/etc/.z-ai-config, ~/.z-ai-config, or ./.z-ai-config). It connects to the z.ai LLM via Server-Sent Events (SSE) and streams AI-powered security analysis token-by-token.
CLI Commands
# Health check — verify z.ai connectivity
reconpro zai --health
# Free-form AI chat (streaming)
reconpro zai --chat "What is the most dangerous web vulnerability in 2025?"
# Scan a target and stream AI analysis of findings
reconpro zai example.com
# Non-streaming (wait for complete response)
reconpro zai example.com --no-stream
# Choose a different model
reconpro zai --model glm-4-plus --chat "Explain CSRF"
Python API
from reconpro.integrations import ZAIStreamClient
# Auto-discovers config — no API keys needed
client = ZAIStreamClient()
# Health check
result = client.health_check()
print(result) # {'status': 'connected', 'latency_ms': 230.7, ...}
# Stream AI analysis of findings
findings = [
{
"title": "Missing X-Frame-Options",
"severity": "high",
"category": "headers",
"module": "recon",
"description": "Clickjacking possible",
"evidence": "No X-Frame-Options header",
"asset": "https://example.com",
"points_deducted": 5,
"dread_score": 7.0,
},
]
for chunk in client.analyze_findings_stream(findings, target="example.com"):
print(chunk, end="", flush=True)
# Non-streaming analysis
analysis = client.analyze_findings(findings, target="example.com")
# Integration pattern (like Jira/Slack/GitHub)
result = client.sync_findings(findings, target="example.com")
# {'action': 'analyzed', 'analysis': '...', 'findings_count': 1, ...}
# Structured streaming events
for event in client.sync_findings_stream(findings, target="example.com"):
if event["type"] == "chunk":
print(event["content"], end="")
elif event["type"] == "done":
print(f"\nTotal: {event['findings_count']} findings analyzed")
Architecture
- Transport: Server-Sent Events (SSE) over HTTPS — same protocol as OpenAI streaming
- Auth: Auto-discovered from
/etc/.z-ai-config(Bearer token + JWT session) - Protocol: OpenAI-compatible
chat/completionsendpoint withstream: true - DREAD Handling: Automatically averages dict-form DREAD scores (from cloud-recon) and passes float-form scores (from other modules)
- Finding Cap: Prompts are capped at 50 findings to stay within context limits
- Dependencies: Zero — pure Python stdlib (
urllib,json,ssl)
Modules
| Module | ID | Description |
|---|---|---|
| RECON | recon |
13-category surface reconnaissance (DNS, ports, TLS, headers, tech, WAF, cookies, CORS) |
| AUTH BYPASS | auth |
15 auth bypass techniques (header injection, method tampering, path traversal, IDOR) |
| CHAIN HUNTER | chain |
SSRF + redirect chain hunting (cloud metadata, open redirects) |
| BOT HUNTER | bot |
C2 / bot infrastructure detection + honeypot identification |
| GORGON ULTRA | gorgon |
AI red team (SQLi, XSS, path traversal, HTTP methods, content-type) |
| OBLIVION | oblivion |
23-stage deep analysis with DREAD scoring (info disclosure, JS secrets, deep headers) |
| VIBESEC | vibesec |
AI/vibe-coding vulnerability benchmark (100-point score, A+–F grades, GitHub badge) |
| NHI GRAPH | nhi |
Non-Human Identity detection (cloud metadata SSRF, leaked tokens, credential files) |
| HOST AUDIT | host |
Local machine audit (open ports, firewall, SSH config, Docker, env vars) |
| DEV SEC | dev |
Developer project scan (secrets, dependency audit, git config, Dockerfile analysis) |
| DOCTOR | doctor |
Health check with auto-fix commands |
Scoring
- 100-point benchmark system
- A+ (90+) → F (0–34) grades
- GitHub-ready badge for your README
- Per-module breakdowns with severity counts
Integrations
| Integration | Class | Purpose |
|---|---|---|
| z.ai Live Stream | ZAIStreamClient |
Real-time AI analysis via SSE streaming |
| Jira | JiraClient |
Create/update Jira issues from findings |
| Slack | SlackClient |
Send finding alerts and scan summaries |
| GitHub | GitHubClient |
Create issues, PR comments, SARIF uploads |
Output
Rich terminal UI with:
- Color-coded severity tables
- Module-by-module breakdown
- Progress spinners
- Score bars and grade indicators
- JSON export for CI/CD integration
- z.ai streaming AI analysis
Requirements
- Python 3.8+
- No other dependencies (stdlib-only networking)
richfor terminal UI (auto-installed)
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file reconpro-7.2.7.tar.gz.
File metadata
- Download URL: reconpro-7.2.7.tar.gz
- Upload date:
- Size: 438.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d5bf0caf558c800a10f26698efd1bde3e852e9009094e1c41ad98c269bce28a
|
|
| MD5 |
073bcb24e090a44ae64e93578ee61da2
|
|
| BLAKE2b-256 |
62570576cc99850301145b3403e138b4a3bd9baf043089263d14d31d7fc06f41
|
File details
Details for the file reconpro-7.2.7-py3-none-any.whl.
File metadata
- Download URL: reconpro-7.2.7-py3-none-any.whl
- Upload date:
- Size: 478.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b46b3d5ea55f75934901188cc1f6bbe101b616f259cc3a65889c9b161b4aba03
|
|
| MD5 |
91f70d79e179c0d6d3ac27a32dfa42a9
|
|
| BLAKE2b-256 |
075294fcb118451180af4091dfdcc45847e96ef3410ca82db38cb9d036dfce2d
|