返回更新列表
新发布Aug 7, 2026

vigolium v0.3.10

Vigolium - 高保真漏洞扫描器,融合智能体AI与原生速度、模块化和精准性

分享

Vigolium
Vigolium - 高保真漏洞扫描器,融合智能体 AI 与原生速度、模块化和精准性


Vigolium 提供两种互补的扫描模式:

  • 原生扫描 (vigolium scan):快速、强大且灵活。 确定性的多阶段扫描,包含 317 个模块,涵盖内容发现、浏览器/SPA 爬虫、主动/被动审计,覆盖注入、访问控制、文件/路径、API/协议、框架特定、云/基础设施以及带外(OAST)漏洞类别。

  • 智能体扫描 (vigolium agent):对你的代码库进行彻底审计。 由 AI 驱动的扫描,可自主规划攻击、选择模块、生成自定义扩展并对结果进行分类,将深度源代码审计与自动化和定向漏洞扫描相结合。

安装

快速安装(推荐)```bash

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

### [npm](https://www.npmjs.com/package/@vigolium/vigolium)```bash
npm install -g @vigolium/vigolium
其他方法,如 Docker 或从源码构建

Docker```bash

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

### 从源代码构建```bash
git clone https://github.com/vigolium/vigolium.git
cd vigolium
make build         # build and install to $GOPATH/bin

需要 Go 1.26+bun 1.3.11+。有关先决条件和构建详情,请参阅 HACKING.md

UI 仪表盘流量仪表盘
仪表盘 1仪表盘 2
静态报告静态报告
静态报告 1静态报告 2
原生扫描智能体扫描
原生扫描智能体扫描

主要特性

原生扫描

  • 323 个扫描器模块:207 个主动式(模糊测试)+ 116 个被动式(模式匹配),覆盖 OWASP Top 10 及更广泛的范围
  • 带外测试(OAST):通过 interactsh 回调实现盲 XSS/SSRF/命令注入,并自动进行载荷关联
  • 值感知变异:按语义类型(整数、UUID、JWT、电子邮件)对参数进行分类,并依意图进行变异
  • 多阶段流水线:外部信息收集、内容发现(Deparos)、浏览器/SPA 爬取(Spitolas)和审计,由策略预设和扫描配置控制
  • 灵活的输入:URL、OpenAPI/Swagger、Postman、Burp Suite、cURL、Nuclei JSONL
  • 多会话身份验证:内联会话、会话文件或完整的认证配置,支持登录流程、令牌提取以及 IDOR/BOLA 测试
  • JavaScript 扩展:通过内置的 JS 引擎实现自定义模块和钩子,并提供会话感知的 HTTP API
  • 可扩展与可报告:并发 worker 池,支持按主机限速、混合内存/磁盘/Redis 队列,以及自包含的 HTML 报告

智能体扫描

  • 进程内 olium 运行时:所有代理模式都运行在原生的 Go pkg/olium 引擎上:回合制循环、内置工具注册表、技能支持,以及可插拔的提供方驱动(无需子进程 SDK 池)
  • Autopilot:代理自主发现端点、运行扫描并对结果进行分类,可选多专家流水线和会话恢复
  • Swarm:主代理选择模块、生成自定义 JS 攻击扩展、运行代码审计 + SAST、执行扫描并分类结果;支持定向或全范围(--discover),并使用 --diff/--last-commits 进行聚焦变更的运行
  • 源代码审计驱动auditpiolium 和统一的 audit 调度器在前台运行源代码审计,共享同一发现模式和数据库标记
  • 查询模式:用于代码审查、端点发现和密钥检测的单次提示
  • 可插拔提供方openai-compatible(默认)、openai-codex-oauthopenai-api-keyopenai-responsesanthropic-api-keyanthropic-oauthanthropic-clianthropic-compatibleanthropic-vertexgoogle-vertex。相同的模式通过 REST API 暴露,支持 SSE 流式传输和 OpenAI 兼容的聊天端点

快速开始:原生扫描```bash

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

有关完整流水线,请参阅[架构概览](https://docs.vigolium.com/architecture/overview),有关策略、配置文件和节奏配置,请参阅[策略指南](https://docs.vigolium.com/native-scan/strategies)。如需快速命令参考,请参阅 [docs.vigolium.com/getting-started/cheat-sheet](https://docs.vigolium.com/getting-started/cheat-sheet)。

## 服务器模式```bash
# 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

I don't see any content to translate — the input after "INPUT:" is empty. Please provide the chunk text and I'll translate it.```bash

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

请参阅[运行服务器](https://docs.vigolium.com/server-mode/running-the-server)了解服务器设置,参阅[数据摄取](https://docs.vigolium.com/server-mode/ingestion)了解摄取工作流,并参阅 [API 概述](https://docs.vigolium.com/api-overview)获取完整的 REST API 参考。

> **Burp Suite 集成**:使用 [burp-vigolium](https://github.com/vigolium/burp-vigolium) 扩展将实时 Burp Suite 流量转发到运行中的 Vigolium 服务器。

## 认证扫描

Vigolium 支持针对 IDOR/BOLA 测试和权限提升检查的多会话认证扫描:```bash
# 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"

认证文件支持静态标头、Bearer 令牌,以及从 cookie、JSON 响应或标头中提取令牌的自动登录流程。预设示例见 public/presets/sessions/。完整指南请参阅认证指南

--auth / --auth-file 标志先前命名为 --session / --session-file。旧名称仍可作为弃用别名使用。

智能体扫描

AI 驱动的扫描,智能体在底层原生扫描引擎上自主规划、执行漏洞评估并对结果进行分类:```bash

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 扫描模式:
- **Autopilot**:自主扫描。CLI 直接调用 `pkg/olium/autopilot.Run`;服务器在同一循环周围添加 vigolium-audit 预备步骤、认证设置和冻结的上下文捆绑包
- **Swarm**:AI 引导的漏洞扫描,支持定向单请求和全范围(`--discover`)。主代理分析输入、选择模块、生成自定义 JS 扩展、运行代码审计和 SAST、执行扫描,并对结果进行分类处理
- **Audit**:通过 `vigolium agent audit` 进行源代码审计 — 一个统一分发器,用于运行内置的 **vigolium-audit**(claude/codex)和/或 **piolium**(Pi 原生)执行框架,通过 `--driver {auto|both|audit|piolium}` 选择(默认 `auto`:运行 audit,仅在 audit 失败时回退到 piolium)。各执行框架相互独立;**不要**通过 olium 路由。每个驱动在同一个父级 AgenticScan 下拥有各自的子行,并在扫描后对发现结果进行去重。没有独立的 `agent piolium` 子命令 — piolium 通过 `--driver=piolium` 运行

> **独立审计 CLI**:agentic 安全审计还随附了独立的 CLI,可独立于 Vigolium 运行:[vigolium-audit](https://github.com/vigolium/vigolium-audit)(`vigolium agent audit` 背后的执行框架)和 [piolium](https://github.com/vigolium/piolium)(`vigolium agent audit --driver=piolium` 背后的 Pi 原生驱动)。

完整指南请参阅 [agent 模式指南](https://docs.vigolium.com/agentic-scan/agent-mode)。

## ⚡ Vigolium 云控制台

面向希望获得 Vigolium 强大功能又无需管理基础设施的团队的云端解决方案。Console 是 Vigolium 的**升级版、功能完备版本**:托管扫描、集中化报告、团队协作,以及在开源核心之上叠加的额外功能,让您可以专注于修复漏洞,而非维护工具。

> 在 [console.vigolium.com](https://console.vigolium.com/) 查看云控制台。

## 原生扫描层

原生扫描管线由模块化层组成,每层均有独立文档:

| 层 | 描述 | 文档 |
|-------|-------------|------|
| **内容发现 (Deparos)** | 自适应目录/文件枚举,带基于指纹的软 404 检测 | [docs.vigolium.com/native-scan/phases/discovery](https://docs.vigolium.com/native-scan/phases/discovery) |
| **浏览器爬虫 (Spitolas)** | 由 Chromium 驱动的状态机爬虫,支持 CDP 流量捕获 | [docs.vigolium.com/native-scan/phases/spidering](https://docs.vigolium.com/native-scan/phases/spidering) |
| **审计** | 主动/被动漏洞扫描,包含插入点提取和 DiffScan 框架 | [docs.vigolium.com/native-scan/phases/audit](https://docs.vigolium.com/native-scan/phases/audit) |
| **扫描器模块** | 207 个主动和 116 个被动模块,覆盖 OWASP Top 10 及更广范围 | [docs.vigolium.com/native-scan/modules-reference](https://docs.vigolium.com/native-scan/modules-reference) |

## 文档

完整文档位于 [docs.vigolium.com](https://docs.vigolium.com/)。发布说明和版本历史见 [CHANGELOG](https://github.com/vigolium/vigolium/blob/HEAD/CHANGELOG.md)。快速链接:

| 主题 | 链接 |
|-------|------|
| 设置代理 | [docs.vigolium.com/getting-started/setup-agent](https://docs.vigolium.com/getting-started/setup-agent) |
| 启动原生扫描 | [docs.vigolium.com/getting-started/native-scan](https://docs.vigolium.com/getting-started/native-scan) |
| 启动 Agentic 扫描 | [docs.vigolium.com/getting-started/agentic-scan](https://docs.vigolium.com/getting-started/agentic-scan) |
| 启动 Agentic 审计 | [docs.vigolium.com/getting-started/agentic-security-audit](https://docs.vigolium.com/getting-started/agentic-security-audit) |
| 快速入门 | [docs.vigolium.com/getting-started/quickstart](https://docs.vigolium.com/getting-started/quickstart) |
| 速查表 | [docs.vigolium.com/getting-started/cheat-sheet](https://docs.vigolium.com/getting-started/cheat-sheet) |
| 服务器与数据接入 | [docs.vigolium.com/getting-started/server-and-ingestion](https://docs.vigolium.com/getting-started/server-and-ingestion) |
| 编写扩展 | [docs.vigolium.com/customization/writing-extensions](https://docs.vigolium.com/customization/writing-extensions) |

## JavaScript 引擎

直接运行 JavaScript/TypeScript 代码,或编写自定义扫描模块和钩子,无需重新编译:```bash
# 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

JS 引擎暴露了会话感知的 HTTP API,用于经过身份验证的测试:```javascript // 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" } } ]);

扩展编写指南请参阅 [编写扩展](https://docs.vigolium.com/customization/writing-extensions),完整的 TypeScript API 定义请参阅 `pkg/jsext/vigolium.d.ts`。

## CLI 参考

<details>
<summary>展开完整的命令与标志参考</summary>

### 命令```
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

标志```

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: 50) -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 / HEADN for change-focused scans --last-commits Shorthand for --diff HEADN --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 /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

</details>

## 仓库布局

`platform/` 目录包含外部工具、UI 仪表板,不属于核心扫描器的一部分。不应对其进行任何修改。

## 基准测试

Vigolium 持续针对故意存在漏洞的应用程序进行基准测试,并通过漏洞赏金和负责任的披露计划,对真实世界目标进行大量测试。

- **自托管(Docker):** [DVWA](https://github.com/digininja/DVWA)、[OWASP Juice Shop](https://github.com/juice-shop/juice-shop)、[VAmPI](https://github.com/erev0s/VAmPI)、[crAPI](https://github.com/OWASP/crAPI)、[Vulnerable Java App](https://github.com/DataDog/vulnerable-java-application)、[Vulnerable Nginx](https://github.com/detectify/vulnerable-nginx)、[OopsSec Store](https://github.com/kOaDT/oss-oopssec-store)(自定义 Next.js 应用)
- **外部(托管):** [Acunetix TestPHP](http://testphp.vulnweb.com)、[Gin & Juice Shop](https://ginandjuice.shop)、[Testfire](http://demo.testfire.net)
- **XSS 与多漏洞:** [BruteLogic XSS](https://github.com/vigolium/vigolium/blob/HEAD/test/benchmark/xss_scanner/)、[XBOW](https://github.com/vigolium/vigolium/blob/HEAD/test/benchmark/definitions/xbow/)(XSS、SQLi、SSTI、LFI、SSRF、XXE、命令注入)

使用 `make test-canary`(Docker 应用)或 `make test-integration`(XSS)运行基准测试。

## 开发```bash
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

参见 HACKING.md 以获取完整构建指南、代码库地图和模块开发指南。

安全

Vigolium 是一款攻击性安全工具,其中有两个部分有意保持宽松权限:Agent 模式在无沙箱环境下运行(LLM 在主机上拥有完整的 shell、文件与网络访问权限),并且扩展可以运行任意命令。请在限定于本次测试项目的临时容器/虚拟机中运行 Agent 模式,并将不受信任的扩展视为不受信任的代码。开始前请参阅 SECURITY.md,并私下将 Vigolium 自身的漏洞报告给 [email protected]

许可证

Vigolium 依据 GNU Affero General Public License v3.0 发布。衍生作品必须基于相同条款保持开源。

@j3ssie 倾心打造,@theblackturtle 作为核心初始贡献者。

分类