extension phase skips all built-in Go scanner modules and runs only your extensions, giving you full control over the scanning logic.
Quick Start
The Extension Phase
When you use--only extension (or its alias ext), Vigolium:
- Skips all discovery, spidering, SPA, and ingestion phases
- Disables all built-in Go scanner modules
- Enables extensions automatically
- Runs only your JS/YAML extension modules during dynamic assessment
Loading Extensions
CLI Flags
| Flag | Description |
|---|---|
--ext <path> | Load a specific extension script (repeatable) |
--ext-dir <dir> | Override the extensions directory |
Config File
Enable and configure extensions invigolium-configs.yaml:
Extension Types
Extensions plug into four points of the scanner pipeline:| Type | Runs When | Use For |
|---|---|---|
active | During dynamic assessment | Send payloads, detect vulnerabilities |
passive | Analyzing captured traffic | Inspect request/response without new traffic |
pre_hook | Before each request is sent | Modify requests, skip assets, inject headers |
post_hook | After a finding is emitted | Escalate severity, drop false positives |
Managing Extensions
Preset Extensions
Vigolium ships with starter extension presets. Install them withvigolium ext preset:
| Preset | Type | Description |
|---|---|---|
reflected_param_scanner | active | Detect reflected parameters in responses |
idor_detector | active | Detect Insecure Direct Object References |
ai_xss_scanner | active | AI-augmented XSS scanning |
sensitive_header_leak | passive | Detect sensitive information in response headers |
error_pattern_detector | passive | Detect error patterns and stack traces |
ai_false_positive_filter | post_hook | AI-powered false positive filtering |
ai_response_analyzer | passive (YAML) | AI-augmented response analysis |
add_auth_header | pre_hook | Inject authorization headers |
skip_static_assets | pre_hook | Skip scanning of static asset URLs |
tag_critical_domains | post_hook | Tag findings from critical domains |
~/.vigolium/extensions/.
Extensions vs Built-in Modules
--only extension | --ext with normal scan | |
|---|---|---|
| Built-in Go modules | Disabled | Enabled |
| Extension modules | Enabled | Enabled |
| Discovery/Spidering | Disabled | Per strategy |
| Use case | Test extensions in isolation | Augment built-in scanning |
--only extension when developing or testing extensions. Use --ext with a normal scan to add extensions on top of built-in modules.
Common Scenarios
Further Reading
- Writing Extensions — Full guide to writing JS and YAML extensions
- Extension API Reference — Complete
vigolium.*API surface vigolium ext docs— Built-in API documentation with examples
