A stage-based cybersecurity workflow orchestration framework for authorized security assessments, combining security-tool execution, structured evidence collection, finding normalization, correlation, vulnerability intelligence, and professional reporting.
- π§ Stage-based assessment workflow
- π οΈ 19 security tools integrated through canonical tool adapters
- ποΈ FAST, STANDARD, and FULL execution profiles
- π― Target-aware tool selection and conditional execution
- π§Ύ Structured execution results and evidence collection
- π Finding normalization, correlation, and deduplication
- π§ CVE, NVD, and KEV vulnerability intelligence
- π‘οΈ Evidence sanitization before publication
- π Professional HTML, Markdown, and JSON reporting
- π Subhunt integration for focused reconnaissance
- π·οΈ Wapiti-based web vulnerability assessment
- β±οΈ Configurable tool and workflow timeouts
- π§ͺ Automated regression and integration testing
- π Benchmark evidence for orchestration overhead
Interactive ScopeForgeX dashboard showing the assessment banner, authorization notice, and execution-profile selection.
Reconnaissance-stage execution against an authorized local OWASP Juice Shop target.
Normalized vulnerability-assessment output and finding presentation.
Professional assessment report showing the assessment summary and severity overview.
Canonical JSON assessment output containing execution metadata, statistics, stages, findings, and generated artifacts.
- β¨ Highlights
- πΈ Demo
- β¨ Why ScopeForgeX?
- βοΈ Core Capabilities
- ποΈ Architecture
- π Assessment Workflow
- ποΈ Execution Profiles
- π§° Supported Tools
- π― Target-Aware Execution
- π Subhunt Integration
- π·οΈ Wapiti Vulnerability Assessment
- π§ Vulnerability Intelligence
- π Reporting
- π Evidence Safety
- π Quick Start
- π¦ Installation
- π» Usage
- π§ͺ Local Juice Shop Example
- π Benchmark
- β±οΈ Runtime and Timeouts
- π§ͺ Testing
- π Repository Structure
- π§ Design Philosophy
β οΈ Current Limitations- π£οΈ Roadmap
- βοΈ Legal & Ethical Use
- π License
Security tools are powerful individually, but a real assessment requires more than launching commands.
ScopeForgeX provides an orchestration layer around security tooling so that an assessment can move through a consistent pipeline:
Target
β
βΌ
Scope & Authorization
β
βΌ
Reconnaissance
β
βΌ
Enumeration
β
βΌ
Vulnerability Assessment
β
βΌ
Validation / Exploitation
β
βΌ
Credential Assessment
β
βΌ
Finding Normalization
β
βΌ
Correlation & Deduplication
β
βΌ
Vulnerability Intelligence
β
βΌ
Reporting & Cleanup
The project is designed to make tool execution structured, observable, reproducible, and evidence-driven rather than treating individual command-line tools as isolated scripts.
| Capability | Description |
|---|---|
| Workflow orchestration | Coordinates security tools across assessment stages |
| Tool adapters | Provides a canonical interface for individual security tools |
| Execution results | Captures exit status, stdout, stderr, timing, metadata, and execution state |
| Target-aware execution | Selects or skips tools based on the target type and stage |
| Evidence collection | Converts raw tool output into structured observations |
| Finding normalization | Converts observations into canonical findings |
| Correlation | Associates related evidence and findings |
| Deduplication | Prevents duplicate findings from multiple sources |
| Vulnerability intelligence | Enriches applicable software findings with vulnerability data |
| Evidence sanitization | Prevents raw HTTP payloads from leaking into published reports |
| Reporting | Generates Markdown, HTML, and JSON assessment outputs |
| Profiles | Supports FAST, STANDARD, and FULL assessment profiles |
| Timeouts | Supports profile and tool-specific execution timeouts |
| Testing | Includes unit, regression, integration, and contract coverage |
ScopeForgeX follows a layered pipeline in which tools produce execution results, collectors transform those results into structured observations, and the finding pipeline produces canonical security findings.
βββββββββββββββββββββββββββββββββββββββββββββββββ
β ScopeForgeX CLI β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Workflow Engine β
β Profile + Stage + Target Selection β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Tool Registry β
β ToolAdapter / ToolBase β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Tool Executor β
β Command construction + execution β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β ExecutionResult β
β stdout / stderr / status / timing β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Collectors β
β Tool output β structured observations β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Finding Normalizer β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Correlation / Deduplication β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Vulnerability Intelligence β
β NVD + KEV enrichment β
βββββββββββββββββββββββββ¬ββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Reporting Layer β
β HTML / Markdown / JSON / cleanup β
βββββββββββββββββββββββββββββββββββββββββββββββββ
The canonical tool flow is:
Tool Adapter
β
βΌ
ExecutionResult
β
βΌ
Raw Evidence
β
βΌ
Collector
β
βΌ
Structured Observations
β
βΌ
Finding Normalizer
β
βΌ
Finding
β
βΌ
Correlation / Deduplication
β
βΌ
Report
The architecture deliberately separates:
- command execution
- raw execution evidence
- evidence interpretation
- finding creation
- finding correlation
- vulnerability enrichment
- publication
ScopeForgeX organizes assessment activity into seven logical stages.
| Stage | Purpose |
|---|---|
| 0 β Scope & Authorization | Validate target scope and authorization requirements |
| 1 β Reconnaissance | Discover domains, hosts, services, and web targets |
| 2 β Enumeration | Enumerate services, URLs, technologies, routes, and application surfaces |
| 3 β Vulnerability Assessment | Identify potential vulnerabilities and security weaknesses |
| 4 β Validation / Exploitation | Validate selected vulnerabilities where the configured workflow permits |
| 5 β Credential Assessment | Perform credential-related assessment using configured tools |
| 6 β Reporting & Cleanup | Normalize, correlate, sanitize, publish, and finalize assessment artifacts |
The active orchestration layer is centered around:
scopeforgex/workflow.py
scopeforgex/registry/
scopeforgex/tools/
scopeforgex/collectors/
scopeforgex/findings/
scopeforgex/intelligence/
reporting/
ScopeForgeX currently provides three execution profiles.
| Profile | Configured Tools | Intended Use |
|---|---|---|
| FAST | 3 | Rapid assessment and quick feedback |
| STANDARD | 13 | General-purpose security assessment |
| FULL | 17 | Broader assessment coverage |
Profiles are defined in:
scopeforgex/config/profiles.yaml
Example:
python3 -m scopeforgex \
--profile standard \
--target https://example.com \
--authorizedThe current integrated tool set contains 19 security utilities.
| Tool | Purpose |
|---|---|
| Amass | Domain and attack-surface reconnaissance |
| Subhunt | DNS subdomain and HTTP virtual-host enumeration |
| Nmap | Host and service discovery |
| dig | DNS interrogation |
| Tool | Purpose |
|---|---|
| Katana | Web crawling and endpoint discovery |
| httpx | HTTP probing and service identification |
| ffuf | Content and endpoint discovery |
| WhatWeb | Web technology identification |
| Kiterunner | API route and endpoint discovery |
| jsluice | JavaScript analysis and endpoint extraction |
| Tool | Purpose |
|---|---|
| Wapiti | Web application vulnerability assessment |
| Nikto | Web server security checks |
| testssl.sh | TLS/SSL configuration assessment |
| Tool | Purpose |
|---|---|
| sqlmap | SQL injection assessment and validation |
| Dalfox | XSS assessment |
| SSTImap | Server-side template injection assessment |
| JWT Tool | JSON Web Token analysis |
| Tool | Purpose |
|---|---|
| Hydra | Network authentication assessment |
| Hashcat | Password hash assessment |
Not every security tool is appropriate for every target.
ScopeForgeX therefore applies target-aware conditions before execution.
Examples include:
- domain reconnaissance tools require an applicable domain target
- IP literals are not treated as domain reconnaissance targets
- HTTPS-only tooling can be skipped for plain HTTP targets
- URL-oriented tools receive URL targets
- hostname-oriented tools receive normalized hostnames
- tools that do not apply to a target are represented as SKIPPED
- execution failures remain FAILED rather than being silently converted to success
SUCCESS β tool executed successfully
SKIPPED β tool was intentionally not applicable
FAILED β tool was selected but execution failed
ScopeForgeX integrates Subhunt as a focused reconnaissance component.
Subhunt supports:
- DNS subdomain enumeration
- HTTP virtual-host enumeration
- DNS-over-HTTPS resolution
- resolver failover
- wildcard-aware DNS handling
- HTTP baseline fingerprinting
- catch-all filtering
- evidence-rich HTTP results
- quiet output
- JSON output
- deterministic result processing
ScopeForgeX integration:
scopeforgex/tools/stage1_recon_web.py
scopeforgex/collectors/subhunt.py
Example standalone HTTP usage:
subhunt \
-u http://localhost:3000 \
--bruteforce /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
--threads 50Wapiti is the current web vulnerability assessment engine integrated into the Stage 3 vulnerability workflow.
Adapter:
scopeforgex/tools/stage3_vuln.py
Collector:
scopeforgex/collectors/wapiti.py
Wapiti output is converted into ScopeForgeX observations and then passed through the normal finding pipeline.
The intelligence subsystem contains:
scopeforgex/intelligence/
βββ engine.py
βββ models.py
βββ nvd.py
βββ kev.py
The pipeline can associate identified software with:
- CPE information
- CVEs
- NVD vulnerability information
- Known Exploited Vulnerabilities (KEV) information
Software assessments are retained across vulnerability-intelligence analysis calls and deduplicated using their assessment identity.
CVE summaries include findings with CVE identifiers regardless of finding severity.
ScopeForgeX produces multiple report representations from the same assessment state.
Typical generated artifacts include:
professional.md
professional.html
findings.md
findings.html
report.json
The JSON report provides machine-readable assessment data including:
- target
- profile
- run identifier
- execution duration
- host statistics
- URL statistics
- tool execution results
- stage status
- findings
- severity counts
- CVE information
- KEV information
- generated artifacts
- evidence references
Reporting code:
reporting/
βββ findings.py
βββ json_exporter.py
βββ models.py
βββ report_generator.py
βββ severity.py
ScopeForgeX distinguishes between:
Raw execution evidence
β
Internal analysis evidence
β
Structured observations
β
Canonical findings
β
Published report evidence
Raw HTTP payloads are prevented from propagating into published vulnerability intelligence and reports.
Publication-facing evidence removes fields such as:
body
raw_body
raw_header
raw_headers
request
raw_request
response
raw_response
Raw execution stdout/stderr remains available internally for debugging and execution analysis.
git clone https://github.com/VikashChoudhary-04/ScopeForgeX.git
cd ScopeForgeXpython3 -m venv .venv
source .venv/bin/activatepip install -r requirements.txtpython3 -m scopeforgex --helppython3 -m scopeforgex \
--profile standard \
--target https://example.com \
--authorizedThe ScopeForgeX installer covers the canonical external security-tool dependencies.
Current integrated toolchain:
amass
subhunt
nmap
dig
httpx
katana
ffuf
whatweb
kiterunner
jsluice
wapiti
nikto
testssl.sh
sqlmap
dalfox
jwt_tool
sstimap
hydra
hashcat
Supporting packages include:
python3
python3-pip
python3-venv
golang
git
build-essential
cargo
seclists
python3 -m scopeforgexAvailable actions include:
Run FAST Profile
Run STANDARD Profile
Run FULL Profile
Install Tools
View Last Run
Exit
python3 -m scopeforgex \
--profile fast \
--target https://example.com \
--authorizedpython3 -m scopeforgex \
--profile standard \
--target https://example.com \
--authorizedpython3 -m scopeforgex \
--profile full \
--target https://example.com \
--authorizedStart OWASP Juice Shop:
sudo docker run -d \
--name juice-shop \
-p 3000:3000 \
bkimminich/juice-shopIf the container already exists:
sudo docker start juice-shopVerify:
curl -I http://localhost:3000/Run:
python3 -m scopeforgex \
--profile standard \
--target http://localhost:3000 \
--authorizedA documented STANDARD reference run recorded:
| Metric | Result |
|---|---|
| Target | http://localhost:3000 |
| Profile | STANDARD |
| Selected tools | 13 |
| Successful tools | 11 |
| Failed tools | 1 |
| Skipped tools | 2 |
| Findings | 1 |
| Informational findings | 1 |
| CVEs | 0 |
| KEV findings | 0 |
| URLs discovered | 15 |
| Alive hosts | 1 |
| Final hosts | 1 |
| Duration | 1253.78 seconds |
The documented run identified Express 4.22.1 as software inventory information and produced an informational software-identity finding.
Kiterunner reached the configured 600-second tool timeout during this reference run. ScopeForgeX preserved that execution state as a tool failure.
Benchmark material is retained under:
benchmark/
benchmark_scopeforgex/
A STANDARD-profile benchmark was performed against:
https://warrantyindia.com/
ScopeForgeX reference execution:
Duration: 1060.6487560272217 seconds
Logical tools: 13
Dig queries: 7
Four valid independent baseline runs recorded:
1060.7696018240003 s
984.8302501480002 s
1060.8447160859996 s
994.6224477469987 s
Mean valid baseline:
1025.2667539512497 s
Measured absolute difference:
35.38200207597197 s
Measured relative overhead:
3.4510045253700232 %
Approximately:
3.45 %
One baseline attempt was excluded because the Nikto process terminated with a SIGPIPE-related return code.
See:
benchmark/README.md
benchmark_scopeforgex/README.md
for methodology and captured evidence.
Timeout configuration flows through:
profiles.yaml
β
WorkflowEngine
β
ToolExecutor
β
ToolContext["tool_timeout"]
β
Tool Adapter
β
run_command()
The profile timeout provides the default.
An explicit tool-level timeout can override the profile/default value.
Timeouts are represented explicitly in execution results and reporting.
Run the full suite:
pytest -qCompile the project:
python3 -m compileall scopeforgex reporting testsRun selected integration tests:
pytest -q \
tests/test_subhunt.py \
tests/test_wapiti.py \
tests/test_kiterunner_tool.py \
tests/test_executable_resolution.pyPreviously validated regression baseline:
267 passed
Regenerate the test result after future source changes rather than treating the historical count as a permanent guarantee.
ScopeForgeX/
βββ benchmark/
β βββ README.md
β βββ baseline_*/
β
βββ benchmark_scopeforgex/
β βββ README.md
β βββ baseline/
β
βββ docs/
β βββ screenshots/
β βββ dashboard.png
β βββ recon-stage.png
β βββ report-json.png
β βββ report-summary.png
β βββ vulnerability-stage.png
β
βββ examples/
β βββ juice-shop-fast-profile/
β
βββ reporting/
β βββ findings.py
β βββ json_exporter.py
β βββ models.py
β βββ report_generator.py
β βββ severity.py
β
βββ scopeforgex/
β βββ analysis/
β βββ analyzers/
β βββ collectors/
β βββ config/
β βββ evidence/
β βββ findings/
β βββ intelligence/
β βββ models/
β βββ registry/
β βββ runtime/
β βββ stages/
β βββ tools/
β βββ cli.py
β βββ dashboard.py
β βββ executable.py
β βββ installer.py
β βββ runner.py
β βββ toolcheck.py
β βββ ui.py
β βββ workflow.py
β
βββ tests/
β βββ conftest.py
β βββ test_*.py
β βββ ...
β
βββ LICENSE
βββ README.md
βββ pyproject.toml
βββ requirements.txt
Generated cache directories, runtime outputs, and individual benchmark stdout/stderr artifacts are intentionally omitted from the documentation tree.
A tool executes commands.
A collector interprets output.
A normalizer creates findings.
These responsibilities remain separate.
SUCCESS β tool executed successfully
SKIPPED β tool was intentionally not applicable
FAILED β selected tool execution failed
Raw evidence
β
Observation
β
Finding
β
Correlation
β
Report
Tool adapters do not directly generate final reports.
The reporting layer consumes structured assessment state and can produce:
Markdown
HTML
JSON
ScopeForgeX is an orchestration framework, not a replacement for the underlying security tools.
Results depend partly on:
- tool availability
- configuration
- wordlists
- network connectivity
- target behavior
- target response time
- external vulnerability-data availability
Some security tools intentionally perform extensive enumeration or testing.
Dynamic applications, rate limiting, WAFs, authentication, unstable endpoints, and network conditions can affect tool output.
The FULL profile executes a broader configured tool set and can therefore take substantially longer than FAST or STANDARD.
The repository contains older generated example material under:
examples/juice-shop-fast-profile/
Some generated artifacts reflect earlier project states and should not be interpreted as the current active tool integration.
Potential future work includes:
- expanded API-security workflow coverage
- additional structured collectors
- improved cross-tool evidence correlation
- richer authentication-aware workflows
- improved report customization
- expanded benchmark methodology
- additional target-type-specific execution rules
- broader regression fixtures
- improved assessment artifact management
- continued evidence-publication hardening
New functionality should preserve the canonical execution, evidence, finding, and reporting contracts.
ScopeForgeX is intended only for authorized security testing.
Use it only against:
- systems you own
- systems where you have explicit authorization
- intentionally vulnerable training environments
- laboratory infrastructure
- approved penetration-testing engagements
Do not use ScopeForgeX to access, disrupt, scan, exploit, brute-force, or enumerate systems without authorization.
The user of the framework is responsible for ensuring that every assessment complies with applicable laws, regulations, contracts, and engagement rules.
ScopeForgeX is released under the MIT License.
See LICENSE for the complete license text.
ScopeForgeX
Security Assessment & Workflow Orchestration
Built for structured, evidence-driven, authorized security assessment workflows.




