Skip to main content

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:
  1. Path specified via the --config flag (error if not found)
  2. ~/.vigolium/vigolium-configs.yaml
  3. ./vigolium-configs.yaml (current working directory)
If no config file is found, built-in defaults are used.

Config Precedence

Settings are resolved from highest to lowest precedence:
  1. CLI flags -e.g. --concurrency 100, --rate-limit 50
  2. Environment variables -e.g. VIGOLIUM_API_KEY, VIGOLIUM_PROJECT
  3. Scanning profile -loaded via --scanning-profile <name> (from ~/.vigolium/profiles/)
  4. Project-level config -per-project overlay at ~/.vigolium/projects/<uuid>/config.yaml
  5. Main config file -~/.vigolium/vigolium-configs.yaml
  6. Built-in defaults -hardcoded in the Go source
Higher-precedence sources override lower ones. Within the config file, environment variables can be referenced using ${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

Use vigolium config set to update individual config values using dot-notation keys:
These commands modify the main config file directly. For one-off overrides during a scan, use CLI flags instead.

Config Sections

scanning_strategy

Controls which scan phases run for each strategy preset.
Available strategies and their default phases:
Phase aliases: dynamic-assessment is the canonical name for active/passive vulnerability scanning. audit, dast, and assessment are accepted aliases on --only / --skip flags. discovery accepts deparos / discover; spidering accepts spitolas; extension accepts ext.
For source-aware whitebox analysis, use 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.
When enabled, agent runs invoked with --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:
This loads ~/.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:
See projects for full project management documentation.