Core Concepts
Understand the structural design patterns and core engineering principles that drive VScanX's reproducibility-oriented security verification engine.
Framework Design Principles
VScanX is built from the ground up on five architectural pillars to provide a robust, low-noise developer framework:
1. Verification over Speculation
We never report an alert based solely on passive signatures or basic version banners. A security issue is treated as a verified finding only if VScanX can actively reproduce the vulnerability state dynamically inside a clean sandbox.
2. Replay over Ephemeral Scans
Traditional scanning cycles are ephemeral, leaving no regression trace. VScanX serializes all scan states to disk. Historical runs are completely replayable in isolation, enabling reliable debugging of vulnerabilities across commits.
3. Structured Findings over Raw Output
Raw console dumps and arbitrary textual alerts are replaced by strongly-typed, JSON-contract findings. Every single finding adheres strictly to a rigid schema, making it directly consumable by automated CI/CD tooling.
4. Low-Noise Workflows over Scan Volume
Instead of running thousands of shallow signature checks that generate bloated reports, VScanX runs highly targeted, confidence-scored verification routines. We prioritize engineering trust and actionable evidence over sheer alert volume.
5. Deterministic Pipelines over Opaque Heuristics
Detection components and exploit validation tools communicate exclusively by publishing structured event payloads to decoupled broadcast event buses, establishing a highly predictable and clean runtime execution pipeline.
Systems as Evolving Security States
At the intellectual center of VScanX is a fundamental paradigm shift: **we treat targets not as static hosts, but as dynamic, evolving state machines.**
A traditional scanner issues HTTP requests, looks for matching regex strings, and writes a static alert. If the developer deploys a patch, the scanner has no historical context to compare the changes against, relying instead on a complete scan run.
VScanX models a target's posture as a security state snapshot S(t). Every scan run creates a serialized snapshot containing verified vulnerability signatures and specific verification payloads. During subsequent scans S(t+1), the engine calculates **state mutations (S(t) ➔ S(t+1))**:
- Delta Posture isolation: Immediately flags if an anomaly is resolved or if new attack vectors are introduced.
- Continuous Regression Verification: Automatically pulls the exact validation payload cached in S(t) to confirm whether a previously closed vulnerability has been re-introduced.
Decoupled Event Orchestration
To maintain speed and safety, VScanX decouples passive fuzzer discovery from heavy container validation using an asynchronous event-driven model (`core/events/bus.py`).
Scanner modules do not communicate directly. When a module flags a suspicious parameter:
- It publishes a strongly-typed `AnomalyEvent` contract (e.g. `SSRF_ANOMALY_FOUND` or `REENTRANCY_DETECTED`) to the event bus.
- The central `Orchestrator` receives the event and dynamically maps appropriate verification sandbox requirements.
- The validation engine spawns an isolated sandbox to run verification tests asynchronously.
Sandboxed Exploit Verification
Dynamic validation payloads are highly intrusive. Firing active injection strings directly at targets can corrupt live database tables or trigger denial-of-service alerts.
To validate issues safely, VScanX establishes **isolated sandbox boundaries**:
Sandbox Containment Mechanisms
- Web/API Sandboxes: Dynamic Docker containers spawned in isolated target networks.
- Web3 EVM Sandboxes: Local Ethereum RPC node forks (Anvil) spawned at the specific anomaly block number. Transaction balance mutations are tested fully in isolation without gas costs or target state pollution.
- Agentic AI Sandboxes: Secure gVisor (runsc) isolated containers created to safely capture and audit prompt escape shell execution attempts.