vigolium

module
v0.5.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 3, 2026 License: MIT

README

Vigolium
Vigolium - High-fidelity vulnerability scanner fusing agentic AI with native speed, modularity, and precision


Vigolium provides two complementary scanning modes:

  • Native Scan (vigolium scan): Fast, powerful, and flexible. Deterministic, multi-phase scanning with 317 modules across content discovery, browser/SPA spidering, and active/passive audit, covering injection, access control, file/path, API/protocol, framework-specific, cloud/infra, and out-of-band (OAST) vulnerability classes.

  • Agentic Scan (vigolium agent): Thoroughly audits your codebase. AI-driven scanning that autonomously plans attacks, selects modules, generates custom extensions, and triages results, combining deep source-code audit with autonomous and targeted vulnerability scanning.

Installation

curl -fsSL https://vigolium.com/install.sh | bash

npm

npm install -g @vigolium/vigolium

Windows

The npm install above works on Windows. Alternatively, download vigolium_<version>_windows_amd64.zip from the releases page, extract it, and put vigolium.exe somewhere on your PATH.

Windows ships as x64 only; on Windows ARM it runs under emulation. The shell installer above is POSIX-only, so vigolium update is not available on Windows — re-run the npm install or download the newer zip to upgrade.

Other method like Docker or Build from source

Docker

docker pull j3ssie/vigolium:latest
docker run --rm j3ssie/vigolium:latest scan -h

Build from Source

git clone https://github.com/vigolium/vigolium.git
cd vigolium
make build         # build and install to $GOPATH/bin

Requires Go 1.27+ and bun 1.3.11+. See HACKING.md for prerequisites and build details.

UI Dashboard Traffic Dashboard
Dashboard 1 Dashboard 2
Static Reports Static Reports
Static Report 1 Static Report 2
Native scan Agentic Scan
Native scan Agentic Scan

Sponsor

Daytona
Thank you to Daytona for sponsoring the sandbox infrastructure

Key Features

Native Scan

  • 324 scanner modules: 208 active (fuzzing) + 117 passive (pattern matching), covering OWASP Top 10 and beyond
  • Out-of-band testing (OAST): blind XSS/SSRF/command injection via interactsh callbacks with automatic payload correlation
  • Value-aware mutation: classifies parameters by semantic type (integer, UUID, JWT, email) and mutates per intent
  • Multi-phase pipeline: external harvesting, content discovery (Deparos), browser/SPA spidering (Spitolas), and audit, controlled by strategy presets and scanning profiles
  • Flexible inputs: URLs, OpenAPI/Swagger, Postman, Burp Suite, cURL, Nuclei JSONL
  • Multi-session authentication: inline sessions, session files, or full auth configs with login flows, token extraction, and IDOR/BOLA testing
  • JavaScript extensions: custom modules and hooks via embedded JS engine with session-aware HTTP APIs
  • Scalable & reportable: concurrent worker pool with per-host rate limiting, hybrid in-memory/disk/Redis queue, and self-contained HTML reports

Agentic Scan

  • In-process olium runtime: every agent mode runs on the native Go pkg/olium engine: turn-based loop, built-in tool registry, skills support, and pluggable provider drivers (no subprocess SDK pools)
  • Autopilot: agent autonomously discovers endpoints, runs scans, and triages findings, with optional multi-specialist pipeline and session resume
  • Swarm: master agent selects modules, generates custom JS attack extensions, runs code audit + SAST, executes scans, and triages results; targeted or full-scope (--discover), with --diff/--last-commits for change-focused runs
  • Source-audit drivers: audit, piolium, and the unified audit dispatcher run foreground source-code audits sharing one finding schema and DB tagging
  • Query mode: single-shot prompts for code review, endpoint discovery, and secret detection
  • Pluggable providers: openai-compatible (default), openai-codex-oauth, openai-api-key, openai-responses, anthropic-api-key, anthropic-oauth, anthropic-cli, anthropic-compatible, anthropic-vertex, google-vertex. Same modes exposed over the REST API with SSE streaming and an OpenAI-compatible chat endpoint

Quick Start: Native Scan

# Scan a single target (default: balanced strategy)
vigolium scan -t https://example.com

# Scan with a strategy preset
vigolium scan -t https://example.com --strategy deep

# Scan specific modules only
vigolium scan -t https://example.com -m xss-reflected,sqli-error

# Scan from an OpenAPI spec
vigolium scan -T openapi.yaml -I openapi

# Pipe URLs from stdin
cat urls.txt | vigolium scan

# Run a single phase directly
vigolium run discovery -t https://example.com

# Generate an HTML report
vigolium scan -t https://example.com --only discovery --format html -o report.html

See the architecture overview for the full pipeline and the strategies guide for strategies, profiles, and pace configuration. For a quick command reference, see docs.vigolium.com/getting-started/cheat-sheet.

Server Mode

# Start API server with authentication
vigolium server -k my-secret-key

# Enable transparent HTTP proxy for traffic recording
vigolium server -k my-key --ingest-proxy-port 9003

# Auto-scan ingested traffic
vigolium server -k my-key --scan-on-receive
# Ingest traffic to a running server
cat urls.txt | vigolium ingest -s http://localhost:9002

# Ingest an OpenAPI spec
vigolium ingest -s http://localhost:9002 -i api.yaml -I openapi

See running the server for server setup, ingestion for ingestion workflows, and the API overview for the full REST API reference.

Proxy integrations: forward live proxy traffic to a running Vigolium server with the burp-vigolium extension for Burp Suite or the caido-vigolium plugin for Caido. Both serve the same bridge protocol (-B/--burp-bridge-url, alias --caido-bridge-url), and ingested traffic is labelled with the proxy it came from.

Authenticated Scanning

Vigolium supports multi-session authenticated scanning for IDOR/BOLA testing and privilege escalation checks:

# Inline session via CLI flag (name:Header:value)
vigolium scan -t https://example.com \
  --auth "admin:Cookie:session_id=abc123" \
  --auth "user:Cookie:session_id=xyz789"

# Load session(s) from a YAML/JSON file
vigolium scan -t https://example.com --auth-file ./admin-session.yaml

# Auth file with an automated login flow (token extraction, etc.)
vigolium scan -t https://example.com --auth-file ./login-flow.yaml

# Add custom headers (works with sessions)
vigolium scan -t https://example.com -H "Authorization: Bearer token123"

Auth files support static headers, bearer tokens, and automated login flows with token extraction from cookies, JSON responses, or headers. Preset examples are available in public/presets/sessions/. See the authentication guide for the full guide.

The --auth / --auth-file flags were previously named --session / --session-file. The old names still work as deprecated aliases.

Agentic Scan

AI-driven scanning where agents autonomously plan, execute, and triage vulnerability assessments with the native scan engine underneath:

# Autopilot: autonomous AI-driven scanning (in-process olium engine)
vigolium agent autopilot -t https://example.com
vigolium agent autopilot -t https://example.com --source ./src --prompt "focus on auth bypass"
vigolium agent autopilot -t https://example.com --diff main...feature/auth   # diff-focused
vigolium agent autopilot -t https://example.com --intensity deep             # preset bundle

# Swarm: AI-guided targeted or full-scope vulnerability scanning
vigolium agent swarm -t https://example.com/api/users --vuln-type sqli
vigolium agent swarm -t https://example.com --discover                       # full-scope
vigolium agent swarm -t https://example.com --source ./src --discover        # source-aware full-scope
vigolium agent swarm --input "curl -X POST https://example.com/api/login -d '{\"user\":\"admin\"}'"

# Source-audit drivers (separate harness, do not route through olium)
vigolium agent audit --source ./src                                  # default: auto (audit, fall back to piolium)
vigolium agent audit --source ./src --driver audit --mode deep       # vigolium-audit only (claude/codex)
vigolium agent audit --source ./src --driver piolium --mode balanced # Pi-native (pi extension) only
vigolium agent audit --source ./src --driver both                    # audit then piolium, back-to-back
vigolium agent audit --source ./src --modes deep,confirm             # chain modes (same as --intensity deep)
vigolium agent audit --source ./src -S --output-dir ./audit-out      # throwaway DB + bundled HTML report
vigolium audit --source ./src                                        # top-level alias

# Direct olium access (TUI or headless)
vigolium ol                             # launch the olium TUI
vigolium ol --prompt "..."              # one-shot prompt (-p implies headless)

Agentic scan modes:

  • Autopilot: autonomous scanning. CLI calls pkg/olium/autopilot.Run directly; the server adds vigolium-audit prep, auth setup, and a frozen context bundle around the same loop
  • Swarm: AI-guided vulnerability scanning supporting targeted single-request and full-scope (--discover). Master agent analyzes inputs, selects modules, generates custom JS extensions, runs code audit and SAST, executes scans, and triages results
  • Audit: source-code audit via vigolium agent audit — a unified dispatcher that runs the embedded vigolium-audit (claude/codex) and/or piolium (Pi-native) harnesses, selected with --driver {auto|both|audit|piolium} (default auto: preflight the audit leg and run it when the resolved claude/codex CLI is on PATH, the binary is embedded, and the chain has an audit-supported mode; otherwise fall back to piolium without launching audit. A mid-run audit failure surfaces rather than switching drivers). Separate harnesses; do not route through olium. Per-driver child rows under one parent AgenticScan with post-pass findings dedup. There is no standalone agent piolium subcommand — piolium runs via --driver=piolium

Standalone audit CLIs: the agentic security audit also ships as standalone CLIs you can run independently of Vigolium: vigolium-audit (the harness behind vigolium agent audit) and piolium (the Pi-native driver behind vigolium agent audit --driver=piolium).

See the agent mode guide for the full guide.

⚡ Vigolium Cloud Console

A cloud-based solution for teams that want the power of Vigolium without managing infrastructure. Console is the upgraded, fully-featured version of Vigolium, led by an advanced autonomous agent that drives the whole engagement — reasoning about the target, choosing its own attack paths, and confirming what it finds — with hosted scanning and shared results layered on top of the open-source core, so you can focus on fixing vulnerabilities instead of maintaining tooling.

Interested? Get in touch for a demo.

Native Scan Layers

The native scan pipeline is composed of modular layers, each documented separately:

Layer Description Docs
Content Discovery (Deparos) Adaptive directory/file enumeration with fingerprint-based soft-404 detection docs.vigolium.com/native-scan/phases/discovery
Browser Spider (Spitolas) Chromium-driven state-machine crawler with CDP traffic capture docs.vigolium.com/native-scan/phases/spidering
Audit Active/passive vulnerability scanning with insertion point extraction and DiffScan framework docs.vigolium.com/native-scan/phases/audit
Scanner Modules 208 active and 117 passive modules covering OWASP Top 10 and beyond docs.vigolium.com/native-scan/modules-reference

Documentation

Full documentation lives at docs.vigolium.com. Release notes and version history are in the CHANGELOG. Quick links:

Topic Link
Setup Agents docs.vigolium.com/getting-started/setup-agent
Start a Native Scan docs.vigolium.com/getting-started/native-scan
Start an Agentic Scan docs.vigolium.com/getting-started/agentic-scan
Start an Agentic Audit docs.vigolium.com/getting-started/agentic-security-audit
Quickstart docs.vigolium.com/getting-started/quickstart
Cheat Sheet docs.vigolium.com/getting-started/cheat-sheet
Server & Ingestion docs.vigolium.com/getting-started/server-and-ingestion
Writing Extensions docs.vigolium.com/customization/writing-extensions

JavaScript Engine

Run JavaScript/TypeScript code directly or write custom scan modules and hooks without recompiling:

# Execute inline JavaScript
vigolium js --code 'let r = vigolium.http.get(TARGET); console.log(r.status)' -t https://example.com

# Run a JS file with timeout
vigolium js --code-file ./my-script.js -t https://example.com --timeout 60s

# Manage extensions
vigolium ext ls                # list loaded extensions
vigolium ext docs --example    # browse API with code examples
vigolium ext preset            # install starter scripts

The JS engine exposes session-aware HTTP APIs for authenticated testing:

// Create a persistent session with shared cookie jar.
// post() takes a string body — serialize objects yourself.
let session = vigolium.http.session();
session.post(
  "https://app.example.com/login",
  JSON.stringify({ user: "admin", pass: "secret" }),
  { headers: { "Content-Type": "application/json" } }
);
session.get("https://app.example.com/dashboard"); // cookies auto-sent

// Automated login flow with token extraction
let authed = vigolium.http.login({
  url: "https://app.example.com/api/auth",
  method: "POST",
  body: JSON.stringify({ username: "admin", password: "pass" }),
  extract: [{ source: "json", path: "$.token", apply_as: "Authorization: Bearer {value}" }]
});

// IDOR/BOLA testing across multiple sessions
let results = vigolium.http.authTest({
  sessions: { admin: adminSession, user: userSession },
  requests: [{ method: "GET", url: "https://app.example.com/api/users/1" }]
});

// Multi-step authentication sequences
let result = vigolium.http.sequence([
  { url: "/csrf", extract: [{ source: "cookie", name: "csrf_token", as: "token" }] },
  { url: "/login", method: "POST", body: "csrf={token}&user=admin" }
]);

// Parallel request batching (race conditions, IDOR)
let responses = vigolium.http.batch([req1, req2, req3], { concurrency: 10 });

// CSRF token extraction
let csrf = vigolium.http.csrf("https://app.example.com/form");

// HTTP request replay with variations
let varied = vigolium.http.replay(rawRequest, [
  { headers: { "Authorization": "Bearer admin_token" } },
  { headers: { "Authorization": "Bearer user_token" } }
]);

See writing extensions for the extension authoring guide and pkg/jsext/vigolium.d.ts for the full TypeScript API definitions.

CLI Reference

Expand the full commands & flags reference

Commands

Scanning:
  vigolium scan                Run a native scan (deterministic multi-phase vulnerability scanning)
  vigolium run <phase>         Run a single native scan phase (alias for scan --only <phase>)
  vigolium scan-url <url>      Quick native scan of a single URL
  vigolium scan-request        Native scan from a raw HTTP request

Agentic scan (in-process olium engine):
  vigolium agent autopilot     Autonomous AI-driven vulnerability scanning
  vigolium agent swarm         AI-guided targeted or full-scope vulnerability scanning
  vigolium agent query         Single-shot prompt (code review, endpoint discovery)
  vigolium agent olium         Direct olium TUI (or one-shot non-interactive via -p)
  vigolium agent audit         Unified driver dispatcher (vigolium-audit and/or piolium, --driver=auto|both|audit|piolium)
  vigolium agent session       Browse/replay agent session artifacts
  vigolium olium | vigolium ol Top-level alias for `vigolium agent olium`

Server & ingestion:
  vigolium server              Start the API server with traffic ingestion
  vigolium ingest              Ingest traffic to a running server
  vigolium storage             Interact with cloud object storage (uploads, downloads)

Data & projects:
  vigolium db                  Database operations (list, stats, export, clean, seed)
  vigolium finding             Browse and manage findings (load, tui)
  vigolium traffic             Browse and replay HTTP records (tui, replay)
  vigolium replay              Mutate a stored/supplied HTTP request and diff baseline vs replay
  vigolium project             Manage projects (create, list, use, config)
  vigolium scope               Manage scope rules
  vigolium import              Import findings/data from external sources
  vigolium export              Export scan results

Extensions & auth:
  vigolium js                  Execute JavaScript/TypeScript code
  vigolium ext                 Manage JavaScript extensions (eval, lint)
  vigolium auth                Manage authentication sessions (list, load, lint, totp)

Setup & introspection:
  vigolium init                Initialize a Vigolium workspace
  vigolium config              Manage configuration (ls, set, path, clean)
  vigolium strategy            Inspect scanning strategies and phases
  vigolium module              Inspect/enable scanner modules
  vigolium doctor              Diagnose environment & dependencies
  vigolium version             Show version info

Flags

Native Scan (vigolium scan / run):
  -t, --target           Target URL
  -T, --target-file      File containing target URLs
  -i, --input            Input file path (- for stdin)
  -I, --input-mode       Input format: urls, openapi, swagger, burp, curl, nuclei, har
  -m, --modules          Modules to run (comma-separated or 'all')
      --strategy         Strategy preset: lite, balanced, deep
      --scanning-profile Scanning profile name or YAML path
      --only             Phases to run (comma-separated): ingestion, discovery (deparos),
                         external-harvest, spidering (spitolas), known-issue-scan,
                         dynamic-assessment, extension
      --skip             Phases to skip (repeatable, same names as --only)
  -S, --stateless        Use a throwaway temp database, discarded after the scan
      --fail-on          Exit non-zero when a finding at/above this severity is present

Authentication:
      --auth              Inline session definition (name:Header:value, repeatable)
      --auth-file         Session YAML/JSON file path, supports login flows (repeatable)
  -H, --header           Custom HTTP header (repeatable)

Performance:
  -c, --concurrency      Concurrent workers (default: 25)
  -r, --rate-limit       Max requests/sec (default: 0 = unlimited)
      --max-per-host     Per-host concurrency cap (default: 2)
      --proxy            HTTP/SOCKS5 proxy URL
      --timeout          HTTP request timeout (default: 15s)

Agentic Scan (vigolium agent autopilot / swarm / query):
      --source             Path to source code for source-aware scanning
      --files              Specific files to include relative to --source
      --source-label       Label for source code ingestion
      --provider           Olium provider: openai-compatible (default), openai-codex-oauth,
                           openai-api-key, openai-responses, anthropic-api-key,
                           anthropic-oauth, anthropic-cli, anthropic-compatible,
                           anthropic-claude-sdk-bridge, anthropic-vertex, google-vertex
      --model              Model ID override
      --oauth-token        OAuth bearer token (anthropic-oauth)
      --oauth-cred         OAuth/SA file path (openai-codex-oauth, anthropic-vertex,
                           google-vertex)
      --llm-api-key        API key (anthropic-api-key, openai-api-key)
      --vuln-type          Vulnerability type focus (sqli, xss, ssrf, ...)
      --prompt             Free-text task guidance (same as the positional [prompt])
      --plan-file          Plan file mixing guidance + raw seed HTTP request(s)
      --knowledge-base     File/dir describing the app; prose is distilled, traffic
                           exports (HAR/Burp/curl/OpenAPI/Postman) are ingested
      --prior-context      Front-load existing project traffic/findings: auto, summary, off
      --intensity          Preset bundle: quick, balanced, deep
      --diff               Diff range / PR URL / HEAD~N for change-focused scans
      --last-commits       Shorthand for --diff HEAD~N
      --code-audit         Enable AI code audit (default: on with --source)
      --discover           Run discovery+spidering before planning (swarm)
      --audit              vigolium-audit mode: lite, balanced, deep, mock, off
      --piolium            Piolium audit mode (empty = auto-pick)
      --resume             Resume a durable-autopilot run by agentic-scan UUID
      --session-dir        Pin the session dir for this run's debug artifacts
      --transcript         Copy transcript.jsonl out after the run
      --max-iterations     Max triage-rescan iterations
      --max-commands       Cap on agent tool calls
      --token-budget       Cap on aggregate tokens
      --max-duration       Max agent wall-clock time (0 = no limit)
      --only / --skip / --start-from   Phase control (swarm)

Source audit (vigolium agent audit / vigolium audit):
      --driver             auto (default), both, audit, piolium
      --intensity          Preset: quick, balanced, deep (deep = modes deep,confirm)
      --mode               Mode override: lite, balanced, deep, revisit, confirm, merge, ...
      --modes              Chain modes back-to-back (e.g. deep,confirm)
      --list-modes         Print the audit mode graph and exit
      --agent              Coding agent for the audit leg: claude or codex
      --keep-raw           Keep raw output under <source>/vigolium-results/ (on by default)
      --clean-raw          Remove the source-tree raw copy after the run
  -S, --stateless          Run into a throwaway DB and auto-render an HTML report
      --output-dir         Bundle the HTML report + raw results into one folder (needs -S)
      --no-dedup           Skip the post-pass project-wide findings dedup
      --no-preflight       Skip the pre-audit auth/model roundtrip checks
  -i, --interactive        Drive the audit yourself in the coding agent (audit driver only)

JavaScript:
      --code             Inline JavaScript to execute
      --code-file        Path to JS/TS file to execute
      --timeout          Execution timeout (default: 30s)

Output:
  -j, --json             Compact, token-aware JSON output (read/query commands)
      --format           Output format (comma-separated for multiple): console, jsonl,
                         html, sqlite (needs -S), fs (flat traffic/finding tree)
  -o, --output           Output file path
      --silent           Suppress all output except findings
  -v, --verbose          Verbose logging

Repository Layout

The platform/ directory contains external tooling, UI Dashboard and is not part of the core scanner. No changes should be made to it.

Benchmarks

Vigolium is continuously benchmarked against intentionally vulnerable applications and also heavily tested against real-world targets through bug bounty and responsible disclosure programs.

Run benchmarks with make test-canary (Docker apps) or make test-integration (XSS).

Development

make build          # build and install
make test           # run all tests (auto-installs gotestsum)
make test-unit      # fast unit tests (-short, no external deps)
make test-e2e       # E2E tests (requires Docker)
make lint           # run linter
make fmt            # format code

See HACKING.md for the full build guide, codebase map, and module development guide.

Security

Vigolium is an offensive security tool, and two parts of it are intentionally permissive: agent mode runs with no sandbox (the LLM has full shell, file, and network access on the host) and extensions can run arbitrary commands. Run agent mode in a disposable container/VM scoped to the engagement, and treat untrusted extensions like untrusted code. See SECURITY.md before you start, and report vulnerabilities in Vigolium itself privately to contact@vigolium.com.

License

Vigolium is released under the MIT License.

Crafted with ♥ by @j3ssie, with @theblackturtle as a core initial contributor.

Directories

Path Synopsis
cmd
vigolium command
internal
atomicfile
Package atomicfile writes files atomically: content is streamed into a temp file in the destination directory and renamed into place only on success, so a failed or partial write never replaces or half-writes the destination.
Package atomicfile writes files atomically: content is streamed into a temp file in the destination directory and renamed into place only on success, so a failed or partial write never replaces or half-writes the destination.
memlimit
Package memlimit derives and applies a soft Go heap ceiling (GOMEMLIMIT) for scan processes, so the garbage collector reclaims aggressively as the heap approaches the limit instead of letting it grow until the OS OOM-killer fires (a hard kill rather than a slowdown).
Package memlimit derives and applies a soft Go heap ceiling (GOMEMLIMIT) for scan processes, so the garbage collector reclaims aggressively as the heap approaches the limit instead of letting it grow until the OS OOM-killer fires (a hard kill rather than a slowdown).
redact
Package redact is the shared table of credential-bearing names: the exact JSON keys and header names the server scrubs from its logs, and the broader name match the browser crawl applies to the artifacts it writes (crawl graphs, form training).
Package redact is the shared table of credential-bearing names: the exact JSON keys and header names the server scrubs from its logs, and the broader name match the browser crawl applies to the artifacts it writes (crawl graphs, form training).
resources/olium
Package olium exposes the skills shipped as built-ins with the olium agent.
Package olium exposes the skills shipped as built-ins with the olium agent.
scratch
Package scratch owns vigolium's per-run temporary storage: where it is allocated, when this process's own is released, and when what an earlier run abandoned is collected.
Package scratch owns vigolium's per-run temporary storage: where it is allocated, when this process's own is released, and when what an earlier run abandoned is collected.
pkg
agent
Package agent implements the agentic scan engine that powers the autopilot, swarm, and query modes.
Package agent implements the agentic scan engine that powers the autopilot, swarm, and query modes.
agent/agenttypes
Package agenttypes defines shared data types used across the agent subsystem.
Package agenttypes defines shared data types used across the agent subsystem.
agent/recon
Package recon performs a lightweight, conservative reconnaissance sweep against a target host before the swarm plan agent runs.
Package recon performs a lightweight, conservative reconnaissance sweep against a target host before the swarm plan agent runs.
audit/bin
Package bin embeds the vigolium-audit host binary into vigolium and extracts it to a per-user cache directory on first use.
Package bin embeds the vigolium-audit host binary into vigolium and extracts it to a per-user cache directory on first use.
audit/claudecost
Package claudecost computes estimated token usage and USD cost for an vigolium-audit run by parsing the Claude CLI's stream-json transcript.
Package claudecost computes estimated token usage and USD cost for an vigolium-audit run by parsing the Claude CLI's stream-json transcript.
audit/stream
Package auditstream decodes vigolium-audit's NDJSON output format (emitted when the binary is invoked with `--json`) and renders it as a compact, colored activity feed suitable for a terminal.
Package auditstream decodes vigolium-audit's NDJSON output format (emitted when the binary is invoked with `--json`) and renders it as a compact, colored activity feed suitable for a terminal.
authsig
Package authsig holds shared signatures for recognizing login/SSO walls from a URL or a response body alone, without loading a page in a browser.
Package authsig holds shared signatures for recognizing login/SSO walls from a URL or a response body alone, without loading a page in a browser.
browserprobe
Package browserprobe smoke-tests a browser binary by actually launching it headless, rather than trusting a `--version` string.
Package browserprobe smoke-tests a browser binary by actually launching it headless, rather than trusting a `--version` string.
burpbridge
Package burpbridge provides a read-only client for the loopback HTTP listener hosted by the Vigolium Burp extension.
Package burpbridge provides a read-only client for the loopback HTTP listener hosted by the Vigolium Burp extension.
cftbrowser
Package cftbrowser downloads and caches Chrome for Testing binaries from Google's official API (https://googlechromelabs.github.io/chrome-for-testing/).
Package cftbrowser downloads and caches Chrome for Testing binaries from Google's official API (https://googlechromelabs.github.io/chrome-for-testing/).
cli
cli/configcmd
Package configcmd implements the `vigolium config` command group.
Package configcmd implements the `vigolium config` command group.
cli/internal/clicommon
Package clicommon holds shared, leaf-level helpers used across the vigolium CLI command tree: the database-connection cache, project resolution, the --watch loop, logger flushing, and display formatting.
Package clicommon holds shared, leaf-level helpers used across the vigolium CLI command tree: the database-connection cache, project resolution, the --watch loop, logger flushing, and display formatting.
cli/tui
Package tui provides a reusable list picker for CLI list subcommands.
Package tui provides a reusable list picker for CLI list subcommands.
core
Package core contains the scan Executor — the central orchestrator of a native scan.
Package core contains the scan Executor — the central orchestrator of a native scan.
database
Package database provides the repository layer over SQLite (default) or PostgreSQL via the Bun ORM.
Package database provides the repository layer over SQLite (default) or PostgreSQL via the Bun ORM.
dbimport
Package dbimport provides reusable importers for audit folders, archive bundles (.tar.gz, .tgz, .zip), and JSONL exports.
Package dbimport provides reusable importers for audit folders, archive bundles (.tar.gz, .tgz, .zip), and JSONL exports.
dedup
Package dedup provides deduplication primitives for the scan: disk-backed seen-sets (DiskSet) and request-hash managers, plus a per-scan Manager that vends and owns them keyed by module.
Package dedup provides deduplication primitives for the scan: disk-backed seen-sets (DiskSet) and request-hash managers, plus a per-scan Manager that vends and owns them keyed by module.
deparos/config
Package config defines the configuration structures and validation for content discovery.
Package config defines the configuration structures and validation for content discovery.
deparos/discovery
Package discovery implements the core content discovery engine.
Package discovery implements the core content discovery engine.
deparos/discovery/module
Package module provides the discovery module system for context-aware task generation.
Package module provides the discovery module system for context-aware task generation.
deparos/discovery/module/builtin
Package builtin provides built-in discovery modules.
Package builtin provides built-in discovery modules.
deparos/discovery/payload
Package payload provides payload generators for content discovery tasks.
Package payload provides payload generators for content discovery tasks.
deparos/discovery/queue
Package queue provides a priority queue for discovery tasks.
Package queue provides a priority queue for discovery tasks.
deparos/discovery/testutil
Package testutil provides testing utilities for the discovery package.
Package testutil provides testing utilities for the discovery package.
deparos/discovery/tracker
Package tracker provides per-prefix circuit-breaker state for discovery.
Package tracker provides per-prefix circuit-breaker state for discovery.
deparos/fingerprint
Package fingerprint implements response fingerprinting for detecting soft-404 pages.
Package fingerprint implements response fingerprinting for detecting soft-404 pages.
deparos/html
Package html provides HTML parsing utilities for fingerprinting and link extraction.
Package html provides HTML parsing utilities for fingerprinting and link extraction.
deparos/http
Package http defines HTTP client interfaces and types for content discovery.
Package http defines HTTP client interfaces and types for content discovery.
deparos/internal/dedup
Package dedup provides disk-backed deduplication using LevelDB.
Package dedup provides disk-backed deduplication using LevelDB.
deparos/jstangle
Package jstangle provides a JavaScript analysis scanner that extracts endpoints, secrets, and other security-relevant information from JavaScript files.
Package jstangle provides a JavaScript analysis scanner that extracts endpoints, secrets, and other security-relevant information from JavaScript files.
deparos/jstangle/linkfinder
Package linkfinder extracts and filters paths/URLs from web content.
Package linkfinder extracts and filters paths/URLs from web content.
deparos/jstangle/sourcemap
Package sourcemap parses JavaScript/CSS source maps and the references that point at them.
Package sourcemap parses JavaScript/CSS source maps and the references that point at them.
deparos/jsvendor
Package jsvendor classifies JavaScript URLs as third-party vendor assets (CDN-hosted libraries, analytics/tracking, captcha, chat/social/payment SDKs) versus first-party application code.
Package jsvendor classifies JavaScript URLs as third-party vendor assets (CDN-hosted libraries, analytics/tracking, captcha, chat/social/payment SDKs) versus first-party application code.
deparos/reqcache
Package reqcache provides request deduplication using disk storage.
Package reqcache provides request deduplication using disk storage.
deparos/spider
Package spider implements link extraction from HTTP responses.
Package spider implements link extraction from HTTP responses.
deparos/storage
Package storage provides interfaces, types, and implementations for result storage and site map management.
Package storage provides interfaces, types, and implementations for result storage and site map management.
deparos/waf
Package waf provides WAF/CDN blocking detection implementation.
Package waf provides WAF/CDN blocking detection implementation.
deparos/wordlist
Package wordlist provides runtime wordlist extraction from HTTP response bodies.
Package wordlist provides runtime wordlist extraction from HTTP response bodies.
fsexport
Package fsexport renders HTTP records and findings into a flat, browsable filesystem tree (the `fs` output format and the server's --mirror-fs live mirror).
Package fsexport renders HTTP records and findings into a flat, browsable filesystem tree (the `fs` output format and the server's --mirror-fs live mirror).
fuzz
Package fuzz is a low-level, agent-driven fuzzing primitive: inject a caller-supplied payload set into chosen positions of a single HTTP request, send each variant, and report per-payload response signals (status, size, words, lines, time, reflection, baseline delta) with match/filter gating.
Package fuzz is a low-level, agent-driven fuzzing primitive: inject a caller-supplied payload set into chosen positions of a single HTTP request, send each variant, and report per-payload response signals (status, size, words, lines, time, reflection, baseline delta) with match/filter gating.
graphqlx
Package graphqlx provides transport-agnostic GraphQL logic shared by the scanner modules: the canonical introspection query, a schema model parsed from an introspection response, a builder that turns a schema into concrete operations (mirroring how an OpenAPI spec is expanded into requests), typed example-value synthesis, and lightweight detection/fingerprint helpers.
Package graphqlx provides transport-agnostic GraphQL logic shared by the scanner modules: the canonical introspection query, a schema model parsed from an introspection response, a builder that turns a schema into concrete operations (mirroring how an OpenAPI spec is expanded into requests), typed example-value synthesis, and lightweight detection/fingerprint helpers.
http
Package http provides the Requester — Vigolium's HTTP client used by scanner modules to send probes.
Package http provides the Requester — Vigolium's HTTP client used by scanner modules to send probes.
httpmsg
Package httpmsg is the HTTP request/response model that flows through the scan.
Package httpmsg is the HTTP request/response model that flows through the scan.
input/formats/burpscope
Package burpscope reads the target scope out of a Burp Suite project- or user-config JSON export and expands its include rules into concrete seed URLs.
Package burpscope reads the target scope out of a Burp Suite project- or user-config JSON export and expands its include rules into concrete seed URLs.
input/formats/wsdl
Package wsdl parses WSDL 1.1 / SOAP service descriptions into concrete SOAP requests, so a `.wsdl` file or a live `.svc`/`.asmx` endpoint can be fed to the scanner the same way an OpenAPI/Swagger spec is.
Package wsdl parses WSDL 1.1 / SOAP service descriptions into concrete SOAP requests, so a `.wsdl` file or a live `.svc`/`.asmx` endpoint can be fed to the scanner the same way an OpenAPI/Swagger spec is.
jsext/api
Package api holds the shared types for the vigolium.* JavaScript API surface: the namespace constants, the JSFuncDef declaration + handler factory, the APIOptions dependency bundle, and the APIFunction documentation record.
Package api holds the shared types for the vigolium.* JavaScript API surface: the namespace constants, the JSFuncDef declaration + handler factory, the APIOptions dependency bundle, and the APIFunction documentation record.
modules
Package modules defines the scanner module system: the base Module interface plus the ActiveModule and PassiveModule interfaces, the optional capability interfaces (ContextualActiveModule, Prioritized, VulnClassifier, TechAware, TimeoutHinter, Flusher, ScopeAwareModule), and the thread-safe Registry that the executor dispatches through.
Package modules defines the scanner module system: the base Module interface plus the ActiveModule and PassiveModule interfaces, the optional capability interfaces (ContextualActiveModule, Prioritized, VulnClassifier, TechAware, TimeoutHinter, Flusher, ScopeAwareModule), and the thread-safe Registry that the executor dispatches through.
modules/active/aem_cloudsettings_injection
Package aem_cloudsettings_injection detects the AEM cloud-settings pre-auth write chain (CVE-2025-54246) and the Expression Language injection it enables (CVE-2025-54247 / CVE-2025-54248).
Package aem_cloudsettings_injection detects the AEM cloud-settings pre-auth write chain (CVE-2025-54246) and the Expression Language injection it enables (CVE-2025-54247 / CVE-2025-54248).
modules/active/aem_content_discovery
Package aem_content_discovery implements a routing-aware AEM repository content-discovery module.
Package aem_content_discovery implements a routing-aware AEM repository content-discovery module.
modules/active/aem_oob_injection
Package aem_oob_injection fires out-of-band probes for two AEM server-side request vulnerabilities that can only be confirmed via a collaborator callback: the AccessTokenServlet full-read SSRF (CVE-2025-54249) and the CRX Package Manager blind XXE (CVE-2025-54251).
Package aem_oob_injection fires out-of-band probes for two AEM server-side request vulnerabilities that can only be confirmed via a collaborator callback: the AccessTokenServlet full-read SSRF (CVE-2025-54249) and the CRX Package Manager blind XXE (CVE-2025-54251).
modules/active/client_path_traversal_confirm
Package client_path_traversal_confirm browser-confirms Client-Side Path Traversal (CSPT).
Package client_path_traversal_confirm browser-confirms Client-Side Path Traversal (CSPT).
modules/active/dashboard_exposure
Package dashboard_exposure actively probes for exposed third-party dashboards, admin consoles and self-hosted apps (Grafana, Airflow, GitLab, Jenkins, Ollama, vLLM, ...) using the shared dashboardsig catalog.
Package dashboard_exposure actively probes for exposed third-party dashboards, admin consoles and self-hosted apps (Grafana, Airflow, GitLab, Jenkins, Ollama, vLLM, ...) using the shared dashboardsig catalog.
modules/active/grpc_surface_audit
Package grpc_surface_audit is an active security audit for gRPC-Web endpoints spoken over HTTP/1.1.
Package grpc_surface_audit is an active security audit for gRPC-Web endpoints spoken over HTTP/1.1.
modules/active/llm_boundary_probe
Package llm_boundary_probe implements an active scanner that probes an application-level LLM chat endpoint for prompt-injection boundary failures: disclosure of the system prompt / configured secrets, and (best-effort) out-of-band tool/network actions triggered by injected instructions.
Package llm_boundary_probe implements an active scanner that probes an application-level LLM chat endpoint for prompt-injection boundary failures: disclosure of the system prompt / configured secrets, and (best-effort) out-of-band tool/network actions triggered by injected instructions.
modules/active/sourcemap_ingest
Package sourcemap_ingest recovers an application's original source from an exposed source map and feeds the routes it names back into the scan.
Package sourcemap_ingest recovers an application's original source from an exposed source map and feeds the routes it names back into the scan.
modules/active/websocket_security
Package websocket_security retains the legacy module constructor for callers that imported it directly.
Package websocket_security retains the legacy module constructor for callers that imported it directly.
modules/iisgate
Package iisgate provides an active, cached confirmation that a host genuinely runs IIS/ASP.NET before the heavier IIS modules probe it.
Package iisgate provides an active, cached confirmation that a host genuinely runs IIS/ASP.NET before the heavier IIS modules probe it.
modules/infra/aem
Package aem holds shared detection, probing, and dispatcher-bypass helpers used by the aem_* scanner module family (Adobe Experience Manager / Sling / CRX).
Package aem holds shared detection, probing, and dispatcher-bypass helpers used by the aem_* scanner module family (Adobe Experience Manager / Sling / CRX).
modules/infra/csptflow
Package csptflow holds the Client-Side Path Traversal (CSPT) flow-recognition primitives shared by the passive client_path_taint detector and the active client_path_traversal_confirm module.
Package csptflow holds the Client-Side Path Traversal (CSPT) flow-recognition primitives shared by the passive client_path_taint detector and the active client_path_traversal_confirm module.
modules/infra/dashboardsig
Package dashboardsig is a shared catalog of third-party dashboards, admin consoles, and self-hosted products (Grafana, Apache Airflow, GitLab, Jenkins, Kibana, Vault, Ollama, vLLM, ...) together with the signatures used to detect them two ways:
Package dashboardsig is a shared catalog of third-party dashboards, admin consoles, and self-hosted products (Grafana, Apache Airflow, GitLab, Jenkins, Kibana, Vault, Ollama, vLLM, ...) together with the signatures used to detect them two ways:
modules/infra/grpcweb
Package grpcweb is a dependency-free gRPC-Web (HTTP/1.1) frame codec.
Package grpcweb is a dependency-free gRPC-Web (HTTP/1.1) frame codec.
modules/infra/llm
Package llm provides a minimal OpenAI-compatible chat client and a dependency-free secret matcher shared by the LLM-aware active scanner modules (currently llm_boundary_probe).
Package llm provides a minimal OpenAI-compatible chat client and a dependency-free secret matcher shared by the LLM-aware active scanner modules (currently llm_boundary_probe).
modules/infra/mcp
Package mcp provides shared helpers for Model Context Protocol (MCP) scanner modules and the vigolium.mcp jsext API.
Package mcp provides shared helpers for Model Context Protocol (MCP) scanner modules and the vigolium.mcp jsext API.
modules/infra/parampollution
Package parampollution provides SHARED MUTATION INFRASTRUCTURE for HTTP Parameter Pollution (HPP) — crafting requests that carry the SAME parameter name more than once so a front-end (WAF / proxy / router) and the back-end application disagree about which occurrence is authoritative.
Package parampollution provides SHARED MUTATION INFRASTRUCTURE for HTTP Parameter Pollution (HPP) — crafting requests that carry the SAME parameter name more than once so a front-end (WAF / proxy / router) and the back-end application disagree about which occurrence is authoritative.
modules/infra/powerpages
Package powerpages holds shared detection and probing helpers for the powerpages_* scanner family (Microsoft Power Pages / Power Apps portals, backed by the Dataverse Web API at /_api/<entityset>).
Package powerpages holds shared detection and probing helpers for the powerpages_* scanner family (Microsoft Power Pages / Power Apps portals, backed by the Dataverse Web API at /_api/<entityset>).
modules/infra/saasprobe
Package saasprobe provides a shared, low-level probe helper for the SaaS data-exposure module families (Salesforce Aura, ServiceNow Service Portal widgets, Microsoft Power Pages / Dataverse).
Package saasprobe provides a shared, low-level probe helper for the SaaS data-exposure module families (Salesforce Aura, ServiceNow Service Portal widgets, Microsoft Power Pages / Dataverse).
modules/infra/salesforce
Package salesforce holds shared detection and Aura-protocol helpers for the salesforce_* scanner family (Salesforce Experience Cloud / Lightning "community" sites served through the Aura gateway).
Package salesforce holds shared detection and Aura-protocol helpers for the salesforce_* scanner family (Salesforce Experience Cloud / Lightning "community" sites served through the Aura gateway).
modules/infra/servicenow
Package servicenow holds shared detection and Service Portal widget helpers for the servicenow_* scanner family.
Package servicenow holds shared detection and Service Portal widget helpers for the servicenow_* scanner family.
modules/infra/xssencode
Package xssencode provides reusable payload-encoding primitives and WAF-aware mutation for the XSS modules.
Package xssencode provides reusable payload-encoding primitives and WAF-aware mutation for the XSS modules.
modules/modkit
Package modkit provides type definitions for module scanning.
Package modkit provides type definitions for module scanning.
modules/modtest
Package modtest provides shared helpers for unit-testing scanner modules against an in-process httptest.Server.
Package modtest provides shared helpers for unit-testing scanner modules against an in-process httptest.Server.
modules/passive/client_path_taint
Package client_path_taint is a passive Client-Side Path Traversal (CSPT) candidate detector.
Package client_path_taint is a passive Client-Side Path Traversal (CSPT) candidate detector.
modules/passive/dashboard_fingerprint
Package dashboard_fingerprint passively recognises third-party dashboards, admin consoles and developer tools (Grafana, Airflow, GitLab, Jenkins, Ollama, ...) in already-observed responses, using the shared dashboardsig catalog.
Package dashboard_fingerprint passively recognises third-party dashboards, admin consoles and developer tools (Grafana, Airflow, GitLab, Jenkins, Ollama, ...) in already-observed responses, using the shared dashboardsig catalog.
modules/passive/js_beautify
Package js_beautify implements a passive module that unminifies and unpacks first-party JavaScript (React/Next/Vue SPA bundles) into readable source using the embedded jstangle tool (webcrack, no eval-based deobfuscation).
Package js_beautify implements a passive module that unminifies and unpacks first-party JavaScript (React/Next/Vue SPA bundles) into readable source using the embedded jstangle tool (webcrack, no eval-based deobfuscation).
modules/passive/mcp_dangerous_tool_exposure
Package mcp_dangerous_tool_exposure passively inventories the tools advertised by an MCP server and flags those whose names indicate high-impact, side- effecting capabilities (code execution, file write/delete, outbound fetch, raw SQL, secret access).
Package mcp_dangerous_tool_exposure passively inventories the tools advertised by an MCP server and flags those whose names indicate high-impact, side- effecting capabilities (code execution, file write/delete, outbound fetch, raw SQL, secret access).
modules/shared/diffscan
Package diffscan provides differential analysis tools for detecting injection vulnerabilities through response comparison.
Package diffscan provides differential analysis tools for detecting injection vulnerabilities through response comparison.
modules/shared/filesig
Package filesig provides shared structural confirmation that a leaked server-side file's real content appears in a response.
Package filesig provides shared structural confirmation that a leaked server-side file's real content appears in a response.
modules/shared/jwtutil
Package jwtutil provides shared JSON Web Token parsing and classification for the secret/JWT scanner modules.
Package jwtutil provides shared JSON Web Token parsing and classification for the secret/JWT scanner modules.
modules/shared/xssbreakout
Package xssbreakout builds executable XSS breakout payloads shared across the reflected, DOM-confirm, and stored XSS modules so they confirm the same classes of flaw with one source of truth.
Package xssbreakout builds executable XSS breakout payloads shared across the reflected, DOM-confirm, and stored XSS modules so they confirm the same classes of flaw with one source of truth.
notify/webhook
Package webhook fires a single HTTP POST when a scan reaches a terminal state (completed or failed).
Package webhook fires a single HTTP POST when a scan reaches a terminal state (completed or failed).
olium
Package olium is the root of the olium agent runtime.
Package olium is the root of the olium agent runtime.
olium/auth
Package auth handles credential loading and refresh for olium's LLM providers.
Package auth handles credential loading and refresh for olium's LLM providers.
olium/autopilot
Package autopilot implements the olium-backed autopilot mode — a single long-running AI loop that plans and executes its own security scan workflow, with full access to olium's tool registry plus two autopilot- specific tools (halt_scan, report_finding) that let the model signal completion and persist findings to the database.
Package autopilot implements the olium-backed autopilot mode — a single long-running AI loop that plans and executes its own security scan workflow, with full access to olium's tool registry plus two autopilot- specific tools (halt_scan, report_finding) that let the model signal completion and persist findings to the database.
olium/engine
Package engine owns olium's multi-turn agent loop: it orchestrates the provider, tool registry, conversation history, and event fan-out.
Package engine owns olium's multi-turn agent loop: it orchestrates the provider, tool registry, conversation history, and event fan-out.
olium/provider
Package provider defines the Provider interface every LLM backend implements.
Package provider defines the Provider interface every LLM backend implements.
olium/sessionlog
Package sessionlog records an olium engine run as a Pi-compatible JSONL session transcript for debugging.
Package sessionlog records an olium engine run as a Pi-compatible JSONL session transcript for debugging.
olium/skill
Package skill implements a passive, LLM-guided skill system for olium, matching the agentskills.io convention used by Claude Code and pi-mono.
Package skill implements a passive, LLM-guided skill system for olium, matching the agentskills.io convention used by Claude Code and pi-mono.
olium/stream
Package stream defines the unified event protocol that every olium provider translates to.
Package stream defines the unified event protocol that every olium provider translates to.
olium/tool
Package tool defines the Tool interface, registry, and shared types used by olium's agent loop to execute model-requested actions.
Package tool defines the Tool interface, registry, and shared types used by olium's agent loop to execute model-requested actions.
olium/toollog
Package toollog renders engine tool-call events as readable, optionally colorized lines for operator-facing tool logs (autopilot stderr, headless stderr, swarm phase streams).
Package toollog renders engine tool-call events as readable, optionally colorized lines for operator-facing tool logs (autopilot stderr, headless stderr, swarm phase streams).
olium/tui
Package tui implements the interactive Bubble Tea front-end for `vigolium agent olium`.
Package tui implements the interactive Bubble Tea front-end for `vigolium agent olium`.
olium/vigtool
Package vigtool defines olium-engine tools that bridge the agent into vigolium's native scanning, session storage, and JS extension subsystems.
Package vigtool defines olium-engine tools that bridge the agent into vigolium's native scanning, session storage, and JS extension subsystems.
output
Package output defines the ResultEvent finding model emitted by every module and the handlers that format and deliver results.
Package output defines the ResultEvent finding model emitted by every module and the handlers that format and deliver results.
payloads
Package payloads is the shared, provider-agnostic catalog of built-in attack payloads grouped by vulnerability class.
Package payloads is the shared, provider-agnostic catalog of built-in attack payloads grouped by vulnerability class.
piolium
Package piolium drives the Pi-native piolium audit harness from vigolium.
Package piolium drives the Pi-native piolium audit harness from vigolium.
piolium/picost
Package picost extracts the priced cost of a piolium audit run by reading Pi's per-cwd session transcripts.
Package picost extracts the priced cost of a piolium audit run by reading Pi's per-cwd session transcripts.
piolium/pistream
Package pistream decodes Pi's `--mode json` output (newline-delimited AgentSessionEvent JSON, schema in pi-coding-agent docs/json.md) into a compact colored terminal feed for `vigolium agent audit`.
Package pistream decodes Pi's `--mode json` output (newline-delimited AgentSessionEvent JSON, schema in pi-coding-agent docs/json.md) into a compact colored terminal feed for `vigolium agent audit`.
portsweep
Package portsweep provides a fast, concurrent TCP-connect + HTTP-confirm port sweep used during deep / --follow-subdomains scans to discover additional web services listening on common alternate HTTP(S) ports of an already-targeted host.
Package portsweep provides a fast, concurrent TCP-connect + HTTP-confirm port sweep used during deep / --follow-subdomains scans to discover additional web services listening on common alternate HTTP(S) ports of an already-targeted host.
procutil
Package procutil provides cross-platform process-management helpers shared by the command-execution surfaces (the olium bash tool and the JS extension exec() builtin).
Package procutil provides cross-platform process-management helpers shared by the command-execution surfaces (the olium bash tool and the JS extension exec() builtin).
queue
Package queue provides task queue implementations for the Vigolium HTTP server.
Package queue provides task queue implementations for the Vigolium HTTP server.
reconsig
Package reconsig provides generic recon-extraction primitives shared by the passive recon modules (subdomain_harvest, baas_endpoint_fingerprint): pulling hostnames out of response bodies and resolving their registrable domain (eTLD+1) so discovered subdomains can be scoped to the target organization.
Package reconsig provides generic recon-extraction primitives shared by the passive recon modules (subdomain_harvest, baas_endpoint_fingerprint): pulling hostnames out of response bodies and resolving their registrable domain (eTLD+1) so discovered subdomains can be scoped to the target organization.
replay
Package replay implements HTTP replay-with-mutation: take a baseline request, apply insertion-point mutations or a raw-request override, send the result, and return a baseline-vs-replay diff.
Package replay implements HTTP replay-with-mutation: take a baseline request, apply insertion-point mutations or a raw-request override, send the result, and return a baseline-vs-replay diff.
replay/jar
Package jar implements a disk-persistent http.CookieJar wrapper so a multi-step auth flow (login → CSRF cookie → action) survives between vigolium CLI invocations.
Package jar implements a disk-persistent http.CookieJar wrapper so a multi-step auth flow (login → CSRF cookie → action) survives between vigolium CLI invocations.
scanevents
Package scanevents is the machine-readable event stream a scan emits on stdout, alongside (never instead of) the human console render on stderr.
Package scanevents is the machine-readable event stream a scan emits on stdout, alongside (never instead of) the human console render on stderr.
secretscan
Package secretscan is vigolium's native, binary-free secret detector.
Package secretscan is vigolium's native, binary-free secret detector.
secretscan/catalog
Package catalog defines the on-disk schema for the native secret-detection rule catalog.
Package catalog defines the on-disk schema for the native secret-detection rule catalog.
secretscan/secretgen command
Command secretgen normalizes the kingfisher secret-detection rule set into a single RE2-compatible catalog embedded by pkg/secretscan.
Command secretgen normalizes the kingfisher secret-detection rule set into a single RE2-compatible catalog embedded by pkg/secretscan.
server
Package server implements the REST API server (built on Fiber): traffic ingestion endpoints, scan and findings APIs, the agent run API, project scoping via the X-Project-UUID header, and the bundled Swagger UI.
Package server implements the REST API server (built on Fiber): traffic ingestion endpoints, scan and findings APIs, the agent run API, project scoping via the X-Project-UUID header, and the bundled Swagger UI.
server/mitm
Package mitm provides a self-signed certificate authority used by the ingest proxy to intercept TLS connections.
Package mitm provides a self-signed certificate authority used by the ingest proxy to intercept TLS connections.
spitolas
Package spitolas provides browser-based web crawling (spidering) for vigolium.
Package spitolas provides browser-based web crawling (spidering) for vigolium.
spitolas/internal/action
Package action provides web crawling action types and handling.
Package action provides web crawling action types and handling.
spitolas/internal/auth
Package auth provides authentication bootstrap for benchmark apps.
Package auth provides authentication bootstrap for benchmark apps.
spitolas/internal/form
Package form provides form handling for web crawling.
Package form provides form handling for web crawling.
spitolas/internal/mab
Package mab implements Multi-Armed Bandit algorithms for crawl action prioritization.
Package mab implements Multi-Armed Bandit algorithms for crawl action prioritization.
spitolas/internal/metrics
Package metrics provides per-step metrics tracking for benchmark experiments.
Package metrics provides per-step metrics tracking for benchmark experiments.
spitolas/internal/testutil
Package testutil provides common test utilities for spitolas tests.
Package testutil provides common test utilities for spitolas tests.
storagesig
Package storagesig provides behavioral (not hostname-allowlist) detection of object-storage backends and their listing responses.
Package storagesig provides behavioral (not hostname-allowlist) detection of object-storage backends and their listing responses.
tlsprobe
Package tlsprobe performs a TLS handshake against a host and reports what the server presented: negotiated version and cipher, and the leaf certificate's identity, validity window and fingerprints.
Package tlsprobe performs a TLS handshake against a host and reports what the server presented: negotiated version and cipher, and the leaf certificate's identity, validity window and fingerprints.
yamlext
Package yamlext implements the YAML extension system (.vgm.yaml) for Vigolium.
Package yamlext implements the YAML extension system (.vgm.yaml) for Vigolium.
test
benchmark/harness
Package harness provides a data-driven benchmark test framework for Vigolium scanner modules.
Package harness provides a data-driven benchmark test framework for Vigolium scanner modules.
tools/covmerge command
Command covmerge merges multiple Go coverage profiles into one.
Command covmerge merges multiple Go coverage profiles into one.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL