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.2.tar.gz (435.1 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.2-py3-none-any.whl (475.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reconpro-7.2.2.tar.gz
  • Upload date:
  • Size: 435.1 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.2.tar.gz
Algorithm Hash digest
SHA256 0f45e7b3079353517586e754cb1dcf001fe64f4bd88ec42f63754df5ef6d0bef
MD5 49789b9505f307bac42341b8a59c9086
BLAKE2b-256 2d341858023e955b58e721ea28a9b01c0e09d264eb4ce6bdb66817f9e87cc9ca

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reconpro-7.2.2-py3-none-any.whl
  • Upload date:
  • Size: 475.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1cea6c1d97282b678e2ac24d2200f6e0ca39c4803e296b00bee7abc76ad10d50
MD5 448a0c9a411f4516ac9b1222c0b7206e
BLAKE2b-256 0dbe97ae430539897ed810ca962adabedcfd740b00b0583f49f9b303277ac9f2

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