Skip to main content
SpecterAI logo

SpecterAI

Attack Surface Intelligence Platform: recon tool powered by Claude AI.

License: Apache 2.0 Python 3.10+

Live Demo · Report a Bug · Usage

For authorized security testing only. Do not scan systems you don't own or don't have explicit written permission to test.


Screenshots

Dashboard Live Scan Progress Report View
Dashboard Scan progress Report

The live demo runs on Render's free tier, so the first request after inactivity can take ~50s to wake up.


Table of contents


What it does

Runs four recon modules in parallel against a target domain or IP, then sends the aggregated findings to Claude for AI-driven analysis and risk assessment. Outputs a structured Markdown report, or view it live in the web dashboard with real-time progress over SSE.

Module What it collects
DNS / WHOIS Subdomains, registrar info, DNS records
Port scan Open ports (top 20 quick / top 1000 full), service banners
HTTP probe Headers, server tech fingerprinting, security misconfigs
SSL/TLS Certificate details, expiry, cipher weaknesses

How it works

target ─┬─▶ DNS / WHOIS enumeration ─┐
        ├─▶ Port scan + banner grab  ├─▶ aggregator ─▶ Claude (risk analysis) ─▶ report
        ├─▶ HTTP header probe        │        (CLI: Markdown file · Web: live dashboard)
        └─▶ SSL/TLS inspection ──────┘

The four modules run concurrently, and their results are merged into one structured summary. That summary is sent to Claude, which returns a risk level, key findings, and next steps as structured JSON, which then gets rendered into the final report.


Features

  • Four recon modules run in parallel: DNS/WHOIS, port scanning with banner grabbing, HTTP header analysis, SSL/TLS inspection
  • AI-driven risk assessment via Claude: executive summary, key findings, and recommended next steps
  • Live web dashboard with real-time scan progress over Server-Sent Events, plus scan history per browser session
  • CLI mode for scripting or offline use (--no-ai skips the Claude call entirely)
  • Quick or full scan modes: top 20 ports for a fast pass, top 1000 for deeper coverage
  • Rate limited (5 scans per IP per minute on the web dashboard) to keep the demo usable for everyone
  • Exportable reports: Markdown download or raw JSON via the dashboard

Usage

CLI

Install once, then run it as a regular command, no cloning required:

pipx install specter-ai   # or: pip install specter-ai
export ANTHROPIC_API_KEY=your_key_here

specter-ai --target example.com --mode quick
specter-ai --target example.com --mode full --output report.md
specter-ai --target example.com --no-ai   # skip AI analysis

Running from a source checkout instead of PyPI:

pip install -e .
export ANTHROPIC_API_KEY=your_key_here
specter-ai --target example.com --mode quick
# or: python -m specter_ai --target example.com --mode quick

Flags

Flag Description
--target / -t Target domain or IP (required)
--mode / -m quick (top 20 ports) or full (top 1000). Default: quick
--output / -o Output filename. Default: <target>_report.md
--no-ai Skip Claude analysis (offline / no API key)

Web dashboard

The web dashboard isn't published as a standalone package, so run it from a source checkout:

git clone https://github.com/hiratinspace/specter-ai.git
cd specter-ai
pip install -e ".[web]"
python3 web/app.py
# Open http://localhost:5000

Real-time scan progress via SSE, with a full report view and scan history on completion. Try it against a legal test target:

specter-ai --target scanme.nmap.org

Configuration

Variable Required Description
ANTHROPIC_API_KEY For AI analysis Claude API key. Omit and pass --no-ai (CLI) or disable "AI Analysis" (web) to run without it
SECRET_KEY Optional Flask session signing key for the web dashboard. Falls back to a random key generated per process restart

Requirements

  • Python 3.10+
  • ANTHROPIC_API_KEY environment variable (for AI analysis)

Core CLI dependencies (installed automatically via pip/pipx):

anthropic>=0.25.0
dnspython>=2.4.0
python-whois>=0.9.0
requests>=2.31.0

The web dashboard additionally needs the web extra:

flask>=3.0.0
gunicorn>=21.2.0

Project structure

src/specter_ai/       # Installable package (PyPI: specter-ai)
  cli.py              # CLI entrypoint (console script: specter-ai)
  modules/            # dns_enum, port_scan, http_probe, ssl_check
  core/               # aggregator, ai_analyst (Claude integration)
  report/             # Markdown report generator
web/app.py            # Flask web dashboard (run from a source checkout)
assets/screenshots/   # README screenshots

License

Apache License 2.0. See LICENSE for details.


Built with Python, by Hirat Rahman Rahi, first released April 8, 2026.

Metadata

Release files for specter-ai 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for specter-ai 1.0.0
File Size Uploaded
specter_ai-1.0.0.tar.gz 32.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for specter-ai 1.0.0
File Interpreter ABI Platform
specter_ai-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 65.3 kB

Release files / specter_ai-1.0.0.tar.gz

Download URL specter_ai-1.0.0.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
3a70eb0b664005184397d4d47c49f188f19d9620dbf74428eef9006f02d79a4d
BLAKE2b-256 checksum
How to use checksums
ff144c2a937858c7df0f4f80d5156d19d0f7b47c44e717e9aca8ffa16120c95d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 29, 2026.

Transparency log

Release files / specter_ai-1.0.0-py3-none-any.whl

Download URL specter_ai-1.0.0-py3-none-any.whl
Size 32.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f124207bdc09197d6b2ac5c1cf9678c335a5555197ae1b4cb4e0ed0cf933bbc
BLAKE2b-256 checksum
How to use checksums
4720714b546fcb1603047ff8afb753882b24578d2071c33826ccca63ea8bf4ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page