Skip to main content
Vigolium Native Scan

Vigolium Native Scan

Vigolium supports multiple scanning modes depending on what you have available: just a URL, source code, an AI agent, or all of the above. This document helps you pick the right mode and understand the execution pipeline.

Scanning Modes at a Glance

Decision Guide

Phase Execution Pipeline

Phases execute in this order. Each strategy enables a subset of these phases:
The probe phase is off unless you ask for it (--probe, --only probe, or vigolium run probe). It is a breadth-first triage sweep for large host lists, not a step in a single-target scan - see Probe.

Strategy Comparison

Balanced is the default strategy when --strategy is not specified.

Phase Aliases

Every phase accepts a set of alternative spellings - the gerund, the internal engine name, and the vocabulary of the tool each phase replaces. All of them work with --only, --skip, and vigolium run <phase>:
vigolium strategy --json prints this table as phases[].canonical / phases[].aliases, generated from the same registry the flags are validated against. That is the authoritative list if you are driving the CLI from a script - it cannot drift from what --only and --skip accept.
extension is the one phase --skip does not accept: it is opt-in to begin with, so there is nothing to skip.

Phase Control: --only and --skip

These two flags are mutually exclusive. Using both produces an error.

--only <phase>: Run a Single Phase

Disables all other phases and turns off heuristics.
Valid values: ingestion, probe (httpx/alive/sweep), discovery (deparos/discover), external-harvest (harvest), spidering (spitolas/crawl), known-issue-scan (cve/kis), dynamic-assessment (audit/dast/assessment), extension (ext). See Phase Aliases for the complete set.

--skip <phase>: Skip Specific Phases

Disables named phases while keeping all others enabled by the strategy.

vigolium run <phase> Shortcut

vigolium run <phase> is a direct alias for vigolium scan --only <phase>:

Scanning Profiles

A scanning strategy only toggles phases on/off. A scanning profile goes further, it bundles strategy, pace, scope, discovery, spidering, and module configuration into a single YAML file that overrides the main config when selected.

Using a Profile

Creating a Custom Profile

Create a YAML file in ~/.vigolium/profiles/. The first line can contain a # description: comment that appears in vigolium strategy. A profile can override any combination of these config sections (omitted sections keep their main config values):
Overridable sections: scanning_strategy, scanning_pace, discovery, spidering, known_issue_scan, dynamic-assessment, external_harvester, mutation_strategy, scope.

Profile Configuration

Set a default profile or change the profiles directory in vigolium-configs.yaml:

Override Precedence

Profiles slot between CLI flags and the main config file:
  1. CLI flags (--strategy, -c, --discover-max-time, etc.)
  2. --scanning-profile / scanning_strategy.scanning_profile
  3. Main config file (vigolium-configs.yaml)
  4. Built-in defaults

Source-Aware Scanning

Source code-aware analysis lives in agent mode, not in the native scanner. Use vigolium agent swarm --source <path> for AI-driven route extraction + code audit + targeted scanning, vigolium agent autopilot --source <path> for autonomous pentest with code context, or vigolium agent audit --source <path> --mode deep for a standalone multi-phase whitebox audit. See Agent Mode for the full overview.