Deluluscan
AI-augmented, evidence-first security auditor for authorized testing across web, API, application, container/Kubernetes, cloud, and LLM/AI-system targets.
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_remotein config, or--allow-remoteon 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/500is 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.
- Broad coverage, one tool. Web · API (REST/GraphQL/WebSocket/gRPC) · headers/CORS/cookies · secrets · 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), or everything:
pip install "deluluscan[all]"
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.yaml → config.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/ |
40+ checks across the OWASP API/Web Top 10, with a deep differential verification layer (identity matrix, filter-bypass, read-back sink classification, weaponizability grading). |
| Reconnaissance | recon/ |
Tech/JS-library fingerprint (+ known-vulnerable versions), CT-log subdomain enumeration, content discovery. |
| 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.container --path ./deploy, python3 -m deluluscan.llm --provider ollama ….
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 indeluluscan/scanners/(self-register viaSCANNER_REGISTRY). - Out-of-tree plugins load from a directory (
deluluscan/plugins.py); Nuclei-style YAML templates drop intotemplates/(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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file deluluscan-0.3.1.tar.gz.
File metadata
- Download URL: deluluscan-0.3.1.tar.gz
- Upload date:
- Size: 746.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d39754529d544ad5f4dc5fd27ae0823f9634a3e44ca518677002cda8d652cdaf
|
|
| MD5 |
556d220225549503ea7bf5d31e7c171a
|
|
| BLAKE2b-256 |
ae1c9c424740152e1bdfa4fc83bf6acd14b8cff7bea2ecd4fca0073e3ac24a07
|
Provenance
The following attestation bundles were made for deluluscan-0.3.1.tar.gz:
Publisher:
publish.yml on rsh1k/deluluscan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deluluscan-0.3.1.tar.gz -
Subject digest:
d39754529d544ad5f4dc5fd27ae0823f9634a3e44ca518677002cda8d652cdaf - Sigstore transparency entry: 2604803218
- Sigstore integration time:
-
Permalink:
rsh1k/deluluscan@65ea366b5a90b4051c9deb413e763bb01102d410 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/rsh1k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@65ea366b5a90b4051c9deb413e763bb01102d410 -
Trigger Event:
release
-
Statement type:
File details
Details for the file deluluscan-0.3.1-py3-none-any.whl.
File metadata
- Download URL: deluluscan-0.3.1-py3-none-any.whl
- Upload date:
- Size: 684.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5ce0f6ee8b57647dd693314fe43e47bdca40ea23a1d698a5f27e4b648dd2f34
|
|
| MD5 |
1f16c7d46ca6544c63462e8e733e2fcf
|
|
| BLAKE2b-256 |
7af34f11547d4d78d7485d65d623643141d9ccd1286f497766a67b40c290ab86
|
Provenance
The following attestation bundles were made for deluluscan-0.3.1-py3-none-any.whl:
Publisher:
publish.yml on rsh1k/deluluscan
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
deluluscan-0.3.1-py3-none-any.whl -
Subject digest:
e5ce0f6ee8b57647dd693314fe43e47bdca40ea23a1d698a5f27e4b648dd2f34 - Sigstore transparency entry: 2604803564
- Sigstore integration time:
-
Permalink:
rsh1k/deluluscan@65ea366b5a90b4051c9deb413e763bb01102d410 -
Branch / Tag:
refs/tags/v0.3.1 - Owner: https://github.com/rsh1k
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@65ea366b5a90b4051c9deb413e763bb01102d410 -
Trigger Event:
release
-
Statement type: