Config File Location
The main config file is~/.vigolium/vigolium-configs.yaml. It is created automatically on first run with sensible defaults.
Vigolium searches for configuration in this order:
- Path specified via the
--configflag (error if not found) ~/.vigolium/vigolium-configs.yaml./vigolium-configs.yaml(current working directory)
Config Precedence
Settings are resolved from highest to lowest precedence:- CLI flags -e.g.
--concurrency 100,--rate-limit 50 - Environment variables -e.g.
VIGOLIUM_API_KEY,VIGOLIUM_PROJECT - Scanning profile -loaded via
--scanning-profile <name>(from~/.vigolium/profiles/) - Project-level config -per-project overlay at
~/.vigolium/projects/<uuid>/config.yaml - Main config file -
~/.vigolium/vigolium-configs.yaml - Built-in defaults -hardcoded in the Go source
${VAR} or $VAR syntax and are expanded at load time.
Environment Variables
| Variable | Purpose |
|---|---|
VIGOLIUM_API_KEY | API key for the REST server and ingestor client authentication |
VIGOLIUM_PROJECT | Default project UUID for CLI operations (equivalent to --project) |
VIGOLIUM_PROXY | HTTP/SOCKS proxy URL, used when --proxy is not set |
VIGOLIUM_HOME | Base directory for Vigolium data (used by the installer; defaults to ~/.vigolium) |
vigolium-configs.yaml:
CLI Config Overrides
Usevigolium config set to update individual config values using dot-notation keys:
Config Sections
scanning_strategy
Controls which scan phases run for each strategy preset.
| Phase | lite | balanced | deep | whitebox |
|---|---|---|---|---|
| external_harvesting | - | - | yes | - |
| discovery | - | yes | yes | yes |
| spidering | - | yes | yes | - |
| known_issue_scan | - | yes | yes | yes |
| audit | yes | yes | yes | yes |
| source_aware | - | - | - | yes |
scanning_pace
Centralized speed control. Common values serve as baselines; per-phase subsections override them.
discovery
Content discovery (directory/file brute-forcing).
spidering
Browser-based crawling.
audit
Controls which scanner modules run and JavaScript extension settings.
scope
Defines what is in scope for scanning. Exclude rules take priority over include rules.
server
REST API server settings.
agent
AI agent integration for agentic scan modes.
pipe, acp, sdk, codex-sdk, opencode-sdk.
database
Storage backend. SQLite is the default; PostgreSQL is supported for multi-user deployments.
known_issue_scan
Known-issue scanning powered by the Nuclei template engine.
mutation_strategy
Controls how parameter values are mutated during active scanning.
external_harvester
Pre-scan intelligence gathering from public data sources.
oast
Out-of-Band Application Security Testing via interactsh callbacks.
source_aware
Source code integration for whitebox scanning (SAST, route extraction).
notify
Real-time finding notifications via Telegram or Discord.
Scanning Profiles
Scanning profiles are YAML files stored in~/.vigolium/profiles/ that override subsets of the main config. They can tune any combination of: scanning_strategy, scanning_pace, discovery, spidering, known_issue_scan, audit, external_harvester, mutation_strategy, and scope.
Apply a profile with:
~/.vigolium/profiles/aggressive.yaml and overlays it onto the active config. Only non-zero fields in the profile override the base config; unspecified fields are left unchanged.
Built-in profiles are bundled in public/presets/profiles/. See native-scan/scanning-modes-overview for details.
Project-Level Config
Each project can have its own config overlay at~/.vigolium/projects/<uuid>/config.yaml. This uses the same format as scanning profiles and is automatically applied when the project is active.
Manage project configs with:
