Skip to main content

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/completions endpoint with stream: 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)
  • rich for 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

reconpro-7.2.0.tar.gz (434.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

reconpro-7.2.0-py3-none-any.whl (475.2 kB view details)

Uploaded Python 3

File details

Details for the file reconpro-7.2.0.tar.gz.

File metadata

  • Download URL: reconpro-7.2.0.tar.gz
  • Upload date:
  • Size: 434.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for reconpro-7.2.0.tar.gz
Algorithm Hash digest
SHA256 8dd3bcef48d79496dc6fac631773a7a2e1147908715da55d0db2d155c49c82d2
MD5 83ac108d3112677a7b79a430eda96599
BLAKE2b-256 eddb27fec59133afa884859f20fdddf4c6f280c86c893be46c648d7b2e880152

See more details on using hashes here.

File details

Details for the file reconpro-7.2.0-py3-none-any.whl.

File metadata

  • Download URL: reconpro-7.2.0-py3-none-any.whl
  • Upload date:
  • Size: 475.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.5

File hashes

Hashes for reconpro-7.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fd0276ff7f66586849781b320aa5b5fb64d9c6378128e3abe267c548542197ff
MD5 7e9d8deb3d9790c8e050924012b799fd
BLAKE2b-256 6eced7e71a03762a04c76bcd54b2b4be88895c01d8fc7b3dbead0859ce2ccf37

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page