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. |
|
helperblob
Package helperblob packs and unpacks the Bun-compiled helper executables vigolium carries (jstangle, vigolium-audit).
|
Package helperblob packs and unpacks the Bun-compiled helper executables vigolium carries (jstangle, vigolium-audit). |
|
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. |
|
tools/blobpack
command
Command blobpack zstd-compresses a Bun-compiled helper executable for embedding and writes its pin file.
|
Command blobpack zstd-compresses a Bun-compiled helper executable for embedding and writes its pin file. |
|
tools/swaggergen
command
Command swaggergen regenerates components.schemas of the REST API's OpenAPI document from the Go request/response types registered in server.SwaggerSchemaTypes, keeping the hand-written paths and prose, and writes the canonical copy plus the copy embedded into the server binary.
|
Command swaggergen regenerates components.schemas of the REST API's OpenAPI document from the Go request/response types registered in server.SwaggerSchemaTypes, keeping the hand-written paths and prose, and writes the canonical copy plus the copy embedded into the server binary. |
|
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. |
|
apicontract
Package apicontract holds the machine contract shared by every transport vigolium speaks to a program: the CLI's -j/--json documents and process exit status, and the REST API's error bodies.
|
Package apicontract holds the machine contract shared by every transport vigolium speaks to a program: the CLI's -j/--json documents and process exit status, and the REST API's error bodies. |
|
audit/bin
Package bin provides the vigolium-audit host binary to vigolium and installs it into a per-user cache directory on first use.
|
Package bin provides the vigolium-audit host binary to vigolium and installs it into 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/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. |
|
contract
Package contract is the machine-readable description of vigolium's machine output: a JSON Schema (draft 2020-12) for every registered -j document, for each --events line type, for the error envelope, and for standalone documents such as the scan plan.
|
Package contract is the machine-readable description of vigolium's machine output: a JSON Schema (draft 2020-12) for every registered -j document, for each --events line type, for the error envelope, and for standalone documents such as the scan plan. |
|
contract/contracttest
Package contracttest validates real machine output against the registered contract schemas, so a test that already captures a command's -j document (or an --events line, or an error envelope) can assert that the document matches what `vigolium schema` promises.
|
Package contracttest validates real machine output against the registered contract schemas, so a test that already captures a command's -j document (or an --events line, or an error envelope) can assert that the document matches what `vigolium schema` promises. |
|
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. |
|
core/egress
Package egress is the single admission point for scan traffic aimed at a target: the global request-rate token bucket, the per-host concurrency slot, the dead-host breaker and the wire-attempt counter, applied in one order by one type.
|
Package egress is the single admission point for scan traffic aimed at a target: the global request-rate token bucket, the per-host concurrency slot, the dead-host breaker and the wire-attempt counter, applied in one order by one type. |
|
core/hosterrors
Package hosterrors is the scan-wide dead-host circuit breaker.
|
Package hosterrors is the scan-wide dead-host circuit breaker. |
|
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/clientroute
Package clientroute turns client-side router paths (jstangle clientRoute facts) into concrete, navigable paths.
|
Package clientroute turns client-side router paths (jstangle clientRoute facts) into concrete, navigable paths. |
|
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. |
|
httpmsg/pathshape
Package pathshape reduces a URL path to its structural template, so /users/42/orders/550e8400-… and /users/7/orders/9b2f… are recognised as the same endpoint (/users/{int}/orders/{uuid}) while /users/me, /about-us and /blog/my-post stay distinct.
|
Package pathshape reduces a URL path to its structural template, so /users/42/orders/550e8400-… and /users/7/orders/9b2f… are recognised as the same endpoint (/users/{int}/orders/{uuid}) while /users/me, /about-us and /blog/my-post stay distinct. |
|
httpstack
Package httpstack builds the standalone HTTP stack a command sends target traffic through outside the native-scan Runner: a reference on the shared network dialer, a dedup manager, a per-host concurrency limiter, an optional global rate limit, and one egress gate over them, behind a Requester.
|
Package httpstack builds the standalone HTTP stack a command sends target traffic through outside the native-scan Runner: a reference on the shared network dialer, a dedup manager, a per-host concurrency limiter, an optional global rate limit, and one egress gate over them, behind a Requester. |
|
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/internal/jsonstream
Package jsonstream holds the json.Decoder token helpers shared by the input formats that stream large JSON documents (HAR, Postman) one value at a time instead of unmarshalling them whole.
|
Package jsonstream holds the json.Decoder token helpers shared by the input formats that stream large JSON documents (HAR, Postman) one value at a time instead of unmarshalling them whole. |
|
input/formats/internal/multipartform
Package multipartform renders multipart/form-data bodies for the input formats that rebuild a form from a structured description (curl -F, HAR postData.params, Postman formdata).
|
Package multipartform renders multipart/form-data bodies for the input formats that rebuild a form from a structured description (curl -F, HAR postData.params, Postman formdata). |
|
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. |
|
jsext/exttest
Package exttest runs one extension against one HTTP message, outside a scan.
|
Package exttest runs one extension against one HTTP message, outside a scan. |
|
jsext/jsheaders
Package jsheaders implements the header object every extension API hands to JavaScript (ctx.request.headers, ctx.response.headers, vigolium.http.* responses, session responses, the yamlext JS matcher).
|
Package jsheaders implements the header object every extension API hands to JavaScript (ctx.request.headers, ctx.response.headers, vigolium.http.* responses, session responses, the yamlext JS matcher). |
|
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, failed or cancelled).
|
Package webhook fires a single HTTP POST when a scan reaches a terminal state (completed, failed or cancelled). |
|
oast/oastclass
Package oastclass defines the vulnerability class an OAST callback URL is minted for.
|
Package oastclass defines the vulnerability class an OAST callback URL is minted for. |
|
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. |
|
output/formats
Package formats is the single table of output formats: every name, alias, file extension, kind and the command surfaces that accept it.
|
Package formats is the single table of output formats: every name, alias, file extension, kind and the command surfaces that accept it. |
|
parammine
Package parammine discovers hidden HTTP parameters: names an endpoint reads and acts on although no observed request ever carried them (debug=1, callback=, admin=).
|
Package parammine discovers hidden HTTP parameters: names an endpoint reads and acts on although no observed request ever carried them (debug=1, callback=, admin=). |
|
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). |
|
proxytarget
Package proxytarget keeps a plain-HTTP request's destination intact when it is forwarded through an HTTP proxy (Burp, --proxy http://…, HTTP_PROXY).
|
Package proxytarget keeps a plain-HTTP request's destination intact when it is forwarded through an HTTP proxy (Burp, --proxy http://…, HTTP_PROXY). |
|
proxytarget/proxytest
Package proxytest provides a recording forward HTTP proxy for tests that assert what a client puts on the wire to a proxy.
|
Package proxytest provides a recording forward HTTP proxy for tests that assert what a client puts on the wire to a proxy. |
|
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. |
|
requestscheme
Package requestscheme settles the scheme of a raw HTTP request whose request line does not carry one ("a mis-schemed target is loud").
|
Package requestscheme settles the scheme of a raw HTTP request whose request line does not carry one ("a mis-schemed target is loud"). |
|
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. |
|
scanplan
Package scanplan is the resolved plan of a native scan: which phases run and why the others do not, the budgets and pace each phase runs under, the modules, scope, auth sessions and targets it will use, and a rough estimate of how many requests it will send.
|
Package scanplan is the resolved plan of a native scan: which phases run and why the others do not, the budgets and pace each phase runs under, the modules, scope, auth sessions and targets it will use, and a rough estimate of how many requests it will send. |
|
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. |
|
selfupdate
Package selfupdate replaces the running vigolium binary with a newer signed release, in process: no shell, no curl, no install script.
|
Package selfupdate replaces the running vigolium binary with a newer signed release, in process: no shell, no curl, no install script. |
|
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. |
|
utils/textutil
Package textutil holds small, dependency-free string helpers that every renderer needs and none should reimplement: truncation that never splits a UTF-8 sequence.
|
Package textutil holds small, dependency-free string helpers that every renderer needs and none should reimplement: truncation that never splits a UTF-8 sequence. |
|
utils/yamlschema
Package yamlschema checks a parsed YAML document against the Go type it decodes into: every mapping key is matched to a struct field (by its yaml tag), so a caller can report each unknown key with its position and the closest known key, which yaml.v3's KnownFields cannot (it stops at the first one, without a suggestion).
|
Package yamlschema checks a parsed YAML document against the Go type it decodes into: every mapping key is matched to a struct field (by its yaml tag), so a caller can report each unknown key with its position and the closest known key, which yaml.v3's KnownFields cannot (it stops at the first one, without a suggestion). |
|
verify
Package verify re-runs the module behind a stored finding against its target and reports whether the finding reproduces (`vigolium finding verify`).
|
Package verify re-runs the module behind a stored finding against its target and reports whether the finding reproduces (`vigolium finding verify`). |
|
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. |
Click to show internal directories.
Click to hide internal directories.





