Overview
Vigolium can be integrated into CI/CD pipelines to automatically scan applications for vulnerabilities on every deployment or pull request. This guide covers common patterns for running scans in automated environments.Basic CI Scan
A minimal CI scan using thelite strategy for speed and JSONL output for machine parsing:
lite strategy skips browser spidering and heavy discovery, making it suitable for time-constrained CI environments. JSONL output produces one JSON object per line, which is straightforward to parse in scripts.
Exit Codes
Check Vigolium’s exit code to determine whether findings were reported. A non-zero exit code can be used to fail a CI pipeline gate when vulnerabilities are detected. Consultvigolium scan --help for the exact exit code semantics in your version.
JSONL Output for Parsing
Usejq to filter findings by severity:
With Source Code (Whitebox)
When the source code is available in the CI workspace, enable whitebox scanning for deeper coverage. This runs SAST route extraction via ast-grep and feeds discovered routes into the dynamic scanner:Agent Mode in CI
Code Review
Run an AI-powered security code review on the current source tree:Swarm with Discovery
For a more thorough AI-driven scan with automatic endpoint discovery:--timeout flag ensures the scan does not run indefinitely in CI. The swarm mode coordinates multiple scan phases with AI-guided triage.
Docker
Build the Vigolium Docker image:Tips
- Keep scans fast: Use
--strategy liteand--skip spideringin CI to avoid long-running browser-based crawling. Save deep scans for staging or nightly runs. - Set timeouts: Always use
--timeoutin CI to prevent scans from blocking the pipeline indefinitely. - Cache the binary: Download and cache the Vigolium binary in your CI cache (e.g., GitHub Actions cache, GitLab CI cache) to avoid re-downloading on every run.
- Use projects: Create a dedicated project for CI scans with
vigolium project create ci-scansto keep findings organized and track trends across builds. - Incremental scanning: When scanning the same target repeatedly, previous scan data in the project can help Vigolium avoid redundant checks.
- Secrets management: Pass API keys and authentication tokens via environment variables rather than hardcoding them in CI config files. Use
--header "Authorization: Bearer $API_TOKEN"at runtime.
