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
Any environment variable can also be interpolated inside
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 aliases:For source-aware whitebox analysis, usedynamic-assessmentis the canonical name for active/passive vulnerability scanning.audit,dast, andassessmentare accepted aliases on--only/--skipflags.discoveryacceptsdeparos/discover;spideringacceptsspitolas;extensionacceptsext.
vigolium agent swarm --source <path> or vigolium agent audit --source <path> instead of a native scan strategy. See Agent Mode.
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.
dynamic-assessment
Controls which scanner modules run and JavaScript extension settings. (Formerly audit.)
scope
Defines what is in scope for scanning. Exclude rules take priority over include rules.
server
REST API server settings.
agent
AI agent integration. Every agent invocation is dispatched through the in-process olium runtime, there are no subprocess SDK or ACP backends.
autopilot_mode is opt-in: legacy keeps one growing conversation and writes findings directly, shadow adds bounded context rotation while mirroring candidates, and enforced promotes only fresh-context verifier-confirmed candidates. Only shadow and enforced support agent autopilot --resume <agentic-scan-uuid>.
Provider quick reference:
CLI flags
--provider, --model, --oauth-cred, --oauth-token, --llm-api-key, --base-url, --bridge-bin override these per-invocation. The REST API does not mirror these overrides, server-side workloads use the YAML config exclusively. See Setting Up the Agent for a step-by-step walkthrough or Olium Agent for full provider details.
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
Storage location for cloned source repositories. Used when --source receives a git URL (autopilot, swarm, audit, query). Static analysis tooling (ast-grep, semgrep, etc.) has been removed, for AI-driven code audit, use vigolium agent audit or vigolium agent swarm --source --code-audit.
storage
Cloud storage integration for source code upload/download and scan result archival. Uses an S3-compatible API, supports GCS (via HMAC), AWS S3, and MinIO.
--upload-results archive their session bundle to <bucket>/<project-uuid>/agentic-scans/<run-uuid>/results.tar.gz. Native scans use <bucket>/<project-uuid>/native-scans/<scan-uuid>/results.tar.gz. See Storage API for upload/download endpoints.
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:
