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.1.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.1-py3-none-any.whl (475.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: reconpro-7.2.1.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.1.tar.gz
Algorithm Hash digest
SHA256 5acf974d6bfbaeaf6a5c05e01cc455485fd2b2967ddbc310cc6ee4214f151bf9
MD5 2204602131db142f08aafa6a6a7924c9
BLAKE2b-256 040bdde3ad0b8f22aafa2dd061038c34491752879612588b19188ccd541b64bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: reconpro-7.2.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d4d7c09c59bfbd9fa86f80fc6607a3e0d8ab7f71ad0eb4bdd448b5b87e4f3e1a
MD5 5430ba76ae8bc109f7f2593caef8ae01
BLAKE2b-256 a1ddf458f626a2c5d448988f91c2b59bd334620824a98b44c4cad1e68fa04598

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