Skip to main content

Deluluscan

AI-augmented, evidence-first security auditor for authorized testing across web, API, application, container/Kubernetes, cloud, and LLM/AI-system targets.

PyPI License: AGPL v3 Python 3.11+ Tests Local AI

Deluluscan automates the mechanical phases of an assessment — discovery, fingerprinting, active/passive scanning, known-CVE checks, and evidence-based verification — and produces a triaged, reproducible report. It is built to augment a security engineer: it does the repeatable parts thoroughly with low false positives, verifies findings up to proof before asserting them, and can reason with a local, offline LLM so nothing leaves your host.

⚠️ Authorization & scope

Deluluscan enforces a scope gate: by default it only targets loopback / RFC1918 (private) hosts. Testing any other host requires explicitly asserting authorization (allow_remote in config, or --allow-remote on the domain tools). Only test systems you own or have written permission to assess. Unauthorized scanning is illegal in most jurisdictions (CFAA, Computer Misuse Act, …). Deluluscan confirms to proof but never weaponizes — no exfiltration, no persistence, no DoS.


Why Deluluscan

  • Evidence-first. Every finding is re-tested with a differential oracle before it's rated; a bare 200/400/500 is never treated as proof. Findings carry an honest verdict (confirmed / likely / conditional / inconclusive / false-positive), a reproducible CVSS v3.1 vector, and compliance mappings (PCI-DSS / SOC 2 / ISO 27001).
  • AI as a force multiplier, not a black box. The AI proposes; deterministic tools execute; the live verifier decides truth. It never overwrites a re-test result.
  • Runs on your terms. Pluggable AI backends — Anthropic, OpenAI, DeepSeek, Ollama (fully offline), Claude Code, Codex, Bedrock — with secret redaction before send.
  • Knows what it's testing. Fingerprints the platform (23 profiles — WordPress/Drupal/ Joomla, Laravel/Django/Rails/Spring/Tomcat, Jenkins/GitLab/Grafana/Kibana, Elasticsearch/ Kubernetes, …) and tests it accordingly: its API shape, auth model, sensitive surfaces, and version-gated known CVEs (Nessus-plugin model). Detects the edge too — WAF/CDN (18 vendors: Cloudflare/Akamai/Fastly/Imperva/…), open ports/services, honeypot & IDS/IPS.
  • Broad coverage, one tool. Web · API (REST/GraphQL/WebSocket/gRPC) · headers/CORS/cookies · secrets · passive analysis (ZAP-style) · JS/SPA endpoint discovery (static + optional headless-browser crawl) · LLM/AI systems (OWASP LLM Top 10) · containers/K8s · cloud (CSPM) · source (SAST) · API specs.

Install

pip install deluluscan            # from PyPI
# optional extras: bedrock (AWS), web (FastAPI UI), xlsx (Excel export),
#   crawler (headless-browser dynamic crawl), or everything:
pip install "deluluscan[all]"
# the crawler extra also needs a browser binary:  playwright install chromium

Or from source:

git clone https://github.com/rsh1k/deluluscan && cd deluluscan
pip install -e . --break-system-packages

Quickstart

# unified assessment of an authorized target -> local report files (no publishing)
python3 -m deluluscan.assess --url http://127.0.0.1:8080/ \
    --sast-path ./src --spec openapi.json \
    --formats md,html,json,sarif --out-dir ./report

# full active scan with an OpenAPI spec
python3 -m deluluscan.cli --config config.yaml --openapi-file openapi.json --allow-state-changing

# reason with a local, offline model (no data leaves your host)
python3 -m deluluscan.cli --config config.yaml --ai ollama --ai-model qwen2.5:7b

Copy config.example.yamlconfig.yaml, set your target and identities, and leave the scan.scanners list commented out to run the full set. See docs/LOCAL_MODELS.md for running a model on a low-RAM / WSL / non-NVIDIA machine.

Capabilities

Domain Module What it does
Web / API scanning scanners/, verify/ 43 checks across the OWASP API/Web Top 10, with a deep differential verification layer (identity matrix, filter-bypass, read-back sink classification, weaponizability grading). Burp-style Intruder (sniper/battering-ram/pitchfork/cluster-bomb).
Reconnaissance recon/ Tech/JS-library fingerprint (+ known-vulnerable versions), CT-log subdomain enumeration, content discovery, and static JS endpoint extraction (fetch/axios/XHR → shadow API surface).
Platform intelligence platforms/ Fingerprints 23 platforms (WordPress/Drupal/Joomla, Laravel/Django/Rails/Spring/Tomcat, Jenkins/GitLab/Grafana/Kibana, Elasticsearch/Kubernetes, …) → API shape, auth model, sensitive surfaces, user-enum & version disclosure, plus version-gated known CVEs (Nessus-plugin model).
Edge / network recon netscan/ WAF/CDN/proxy detection (18 vendors, wafw00f-style passive+active), TCP port/service scan + banner grab, honeypot heuristics, IDS/IPS inference.
Passive analysis passive/ ZAP-style, no extra requests — stack traces / SQL errors, debug consoles (Werkzeug/Whoops/Django), directory listing, internal-IP & secrets-in-URL, HTML-comment leaks. Runs over every collected response.
Dynamic crawl crawler/ Optional headless-browser (Playwright) AJAX-spider: renders JS-heavy apps and captures the API calls the client actually makes — the dynamic surface a static parse can't resolve.
HTTP hardening headers/ Security headers, CORS (wildcard / reflected-origin-with-credentials), cookie flags.
Secrets secrets/ Credential exposure in responses & JS (AWS/GitHub/Google/Slack/Stripe/… + entropy-gated generic), matched masked.
Deeper web/API webapi/ GraphQL introspection → surface map, WebSocket CSWSH, gRPC reflection.
API spec apispec/ OpenAPI/Swagger security lint (missing auth, secrets in query, http servers, mass-assignment).
Source (SAST) sast/ Dangerous patterns per language (eval/exec, deserialization, SQL concat, weak crypto, XSS sinks) + secrets, file:line.
LLM / AI systems llm/ Bring-your-own-target OWASP LLM Top 10 pentest — prompt injection, jailbreaks, multi-turn crescendo, system-prompt leakage.
Containers / K8s container/ Dockerfile / Kubernetes / compose misconfig (privileged, host ns, docker-socket escape, caps, secrets) + exposed control planes.
Cloud (CSPM) cloud/ AWS/GCP/Azure posture over a collected inventory + SSRF→IMDS→credentials (values redacted).
Agentic exploitation agentic/ Bounded observe→act→verify loop over an allowlist of safe capabilities; human-in-the-loop for state changes; deterministic proof.
Correlation correlate/ Combine findings into attack chains (SSRF+metadata→cloud creds, XSS+cookie→session hijack) and feed the agent objectives to prove.
AI layer ai/, kb/ Pluggable providers + an offline BM25 knowledge index (CVEs/advisories/Mantis) that grounds the AI.
Grey-box telemetry/ Tap the target container's logs/mem/CPU (--observe) and correlate server events to the exact probe.
Reporting assess/, reporting/ Merge findings → local Markdown / HTML / JSON / SARIF / CSV / XLSX / JUnit. No online publishing.

Each capability also has a standalone CLI, e.g. python3 -m deluluscan.recon --url …, python3 -m deluluscan.platforms --url …, python3 -m deluluscan.netscan --url …, python3 -m deluluscan.passive --url …, python3 -m deluluscan.crawler --url …, python3 -m deluluscan.container --path ./deploy, python3 -m deluluscan.llm --provider ollama …. See docs/PLATFORM_INTELLIGENCE.md for the platform/edge detection design and a Nessus/Burp/ZAP capability map.

Design principles

  • The report may only state what the scan observed. Untested surfaces read as untested; no synthesized evidence. Attack chains are hypotheses until the agent proves them.
  • Confirm to proof, never weaponize. Heavy exploitation is delegated to opt-in, host-allowlisted third-party tools (nuclei, sqlmap without --dump, interactsh).
  • The authorization boundary is a feature, not a limitation.

Extending

  • Signatures live in deluluscan/fingerprint.py; scanners in deluluscan/scanners/ (self-register via SCANNER_REGISTRY).
  • Out-of-tree plugins load from a directory (deluluscan/plugins.py); Nuclei-style YAML templates drop into templates/ (deluluscan/templates.py) with no code.
  • Run the tests: python3 -m tests.<suite> (e.g. test_verify, test_llm_pentest, test_recon).

License

GNU Affero General Public License v3.0 — see LICENSE. If you run a modified version as a network service, the AGPL requires you to offer that version's source to its users.

Provided for authorized security testing and educational use only. You are responsible for ensuring you have permission to test any target. The authors assume no liability for misuse.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deluluscan-0.5.0.tar.gz (722.8 kB view details)

Uploaded Source

Built Distribution

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

deluluscan-0.5.0-py3-none-any.whl (673.5 kB view details)

Uploaded Python 3

File details

Details for the file deluluscan-0.5.0.tar.gz.

File metadata

  • Download URL: deluluscan-0.5.0.tar.gz
  • Upload date:
  • Size: 722.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for deluluscan-0.5.0.tar.gz
Algorithm Hash digest
SHA256 bede1f2ca84611babb9b8e76d19efdd52cb6d370464726c57de05d2013fb2fb4
MD5 6ea58bf8ca7e19df8d726d8e8921e3b5
BLAKE2b-256 1ab62e5c73a026530d3dd8e2c45c227268379c322b638d4701f4b9b7aaa4dcff

See more details on using hashes here.

Provenance

The following attestation bundles were made for deluluscan-0.5.0.tar.gz:

Publisher: publish.yml on rsh1k/deluluscan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file deluluscan-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: deluluscan-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 673.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for deluluscan-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 165b6e909e46a4f077bd4f7d474e204581933ca1e54e2603847451169575ff6e
MD5 6902e3b8d7f81135bc46e9085e370519
BLAKE2b-256 4eb1abde1bb4c3bb3e99a856288e9285799b93c34b5909316f75a95004036803

See more details on using hashes here.

Provenance

The following attestation bundles were made for deluluscan-0.5.0-py3-none-any.whl:

Publisher: publish.yml on rsh1k/deluluscan

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.6.0

2 files

0.5.1

2 files

This release

0.5.0 This release

2 files

0.4.0

2 files

0.3.1

2 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