
vigolium v0.4.8
Vigolium - 高保真漏洞扫描器,融合智能体AI与原生速度、模块化和精准性
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
Windows
上面的 npm install 在 Windows 上可用。或者,从
releases 页面下载
vigolium_<version>_windows_amd64.zip,解压后
将 vigolium.exe 放到你的 PATH 中的某个位置。
Windows 仅提供 x64 版本;在 Windows ARM 上它通过模拟运行。上面的 shell 安装程序仅适用于 POSIX,因此
vigolium update在 Windows 上不可用——请重新运行 npm install 或下载更新的 zip 来升级。
其他方法,如 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.27+ 和 bun 1.3.11+。有关先决条件和构建细节,请参阅 HACKING.md。
| UI 仪表盘 | 流量仪表盘 |
|---|---|
![]() | ![]() |
| 静态报告 | 静态报告 |
|---|---|
![]() | ![]() |
| 原生扫描 | 智能体扫描 |
|---|---|
![]() | ![]() |
赞助商
感谢 Daytona 赞助沙箱基础设施
主要功能
原生扫描
- 324 个扫描器模块:207 个主动(模糊测试)+ 117 个被动(模式匹配),覆盖 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
- 可扩展且可报告:并发工作池,支持按主机限速、混合内存/磁盘/Redis 队列,以及自包含的 HTML 报告
智能体扫描
- 进程内 olium 运行时:每种智能体模式都运行在原生 Go
pkg/olium引擎上:基于回合的循环、内置工具注册表、技能支持,以及可插拔的提供程序驱动(无子进程 SDK 池) - Autopilot:智能体自主发现端点、运行扫描并对发现进行分诊,可选多专家流水线和会话恢复
- Swarm:主智能体选择模块、生成自定义 JS 攻击扩展、运行代码审计 + SAST、执行扫描并对结果进行分诊;支持定向或全范围(
--discover),并通过--diff/--last-commits进行以变更为重点的运行 - 源码审计驱动:
audit、piolium以及统一的audit调度器运行前台源代码审计,共享同一发现模式和数据库标记 - 查询模式:用于代码审查、端点发现和机密检测的单次提示
- 可插拔提供程序:
openai-compatible(默认)、openai-codex-oauth、openai-api-key、openai-responses、anthropic-api-key、anthropic-oauth、anthropic-cli、anthropic-compatible、anthropic-vertex、google-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
使用
python3 -m pip install -r requirements.txt
python3 -m pip install -e .
命令行界面
python3 -m cveintel --help
usage: cveintel [-h] [-v] [-d] [-c CONFIG] [-o OUTPUT] [-f {json,table,csv}] [-s {critical,high,medium,low}]
[-k KEYWORD] [-l LIMIT] [-p PROVIDER] [-t TIMEFRAME] [--no-cache] [--clear-cache]
[--cache-stats] [--cache-max-age CACHE_MAX_AGE] [--cache-dir CACHE_DIR] [--no-color]
[--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [--log-file LOG_FILE]
CVE Intelligence Aggregator - 从多个来源获取并分析 CVE 数据
options:
-h, --help 显示此帮助信息并退出
-v, --version 显示程序版本号并退出
-d, --debug 启用调试日志
-c CONFIG, --config CONFIG
配置文件路径
-o OUTPUT, --output OUTPUT
输出文件路径
-f {json,table,csv}, --format {json,table,csv}
输出格式(默认:table)
-s {critical,high,medium,low}, --severity {critical,high,medium,low}
按严重程度过滤
-k KEYWORD, --keyword KEYWORD
按关键词过滤
-l LIMIT, --limit LIMIT
结果数量限制
-p PROVIDER, --provider PROVIDER
指定数据提供者(nvd、cisa、github、all)
-t TIMEFRAME, --timeframe TIMEFRAME
时间范围(例如:7d、30d、90d)
--no-cache 禁用缓存
--clear-cache 清空缓存后退出
--cache-stats 显示缓存统计信息后退出
--cache-max-age CACHE_MAX_AGE
缓存最大保留时间(秒)
--cache-dir CACHE_DIR
缓存目录
--no-color 禁用彩色输出
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
日志级别
--log-file LOG_FILE 日志文件路径
示例
# 获取最近的严重 CVE
python3 -m cveintel -s critical -l 10
# 获取最近 30 天的 CVE
python3 -m cveintel -t 30d -f json -o cves.json
# 按关键词搜索
python3 -m cveintel -k "remote code execution" -l 20
# 使用特定提供者
python3 -m cveintel -p nvd -s high -l 15
# 显示缓存统计信息
python3 -m cveintel --cache-stats
# 清空缓存
python3 -m cveintel --clear-cache
输出示例
┌─────────────┬──────────┬──────────────────────────────────────┬────────────┐
│ CVE ID │ 严重程度 │ 描述 │ 发布日期 │
├─────────────┼──────────┼──────────────────────────────────────┼────────────┤
│ CVE-2024-...│ CRITICAL │ 远程代码执行漏洞... │ 2024-01-15 │
│ CVE-2024-...│ HIGH │ 身份验证绕过... │ 2024-01-14 │
└─────────────┴──────────┴──────────────────────────────────────┴────────────┘
配置
配置文件
创建 config.yaml:
# API 密钥
api_keys:
nvd: "your-nvd-api-key"
github: "your-github-token"
# 数据提供者
providers:
nvd:
enabled: true
base_url: "https://services.nvd.nist.gov/rest/json/cves/2.0"
cisa:
enabled: true
base_url: "https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json"
github:
enabled: true
base_url: "https://api.github.com/advisories"
# 缓存设置
cache:
enabled: true
ttl: 3600 # 秒
directory: "~/.cache/cveintel"
# 输出设置
output:
format: "table"
color: true
max_results: 100
# 日志设置
logging:
level: "INFO"
file: "cveintel.log"
环境变量
export NVD_API_KEY="your-nvd-api-key"
export GITHUB_TOKEN="your-github-token"
export CVEINTEL_CONFIG="/path/to/config.yaml"
export CVEINTEL_CACHE_DIR="/path/to/cache"
export CVEINTEL_LOG_LEVEL="DEBUG"
架构
cveintel/
├── __init__.py
├── __main__.py # 入口点
├── cli.py # 命令行界面
├── config.py # 配置管理
├── models.py # 数据模型
├── cache.py # 缓存实现
├── aggregator.py # 数据聚合
├── providers/ # 数据提供者
│ ├── __init__.py
│ ├── base.py # 基础提供者类
│ ├── nvd.py # NVD 提供者
│ ├── cisa.py # CISA 提供者
│ └── github.py # GitHub 提供者
├── filters/ # 过滤逻辑
│ ├── __init__.py
│ ├── severity.py # 严重程度过滤
│ ├── keyword.py # 关键词过滤
│ └── timeframe.py # 时间范围过滤
└── output/ # 输出格式化器
├── __init__.py
├── json_formatter.py
├── table_formatter.py
└── csv_formatter.py
开发
环境搭建
# 克隆仓库
git clone https://github.com/yourusername/cveintel.git
cd cveintel
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装开发依赖
pip install -r requirements-dev.txt
pip install -e .
# 运行测试
pytest
# 运行代码检查
flake8 cveintel/
black cveintel/
mypy cveintel/
运行测试
# 运行所有测试
pytest
# 运行覆盖率测试
pytest --cov=cveintel --cov-report=html
# 运行特定测试文件
pytest tests/test_providers.py
# 运行特定测试
pytest tests/test_providers.py::test_nvd_provider
代码风格
本项目遵循以下代码风格指南:
- PEP 8 - Python 代码风格指南
- Black - 代码格式化工具
- isort - 导入排序工具
- flake8 - 代码检查工具
- mypy - 静态类型检查工具
贡献
我们欢迎各种形式的贡献!请遵循以下步骤:
- Fork 本仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到分支(
git push origin feature/amazing-feature) - 创建 Pull Request
贡献指南
- 遵循现有的代码风格
- 为新功能添加测试
- 更新文档
- 确保所有测试通过
- 保持提交信息清晰且具有描述性
许可证
本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。
致谢
- NVD - 国家漏洞数据库
- CISA - 网络安全和基础设施安全局
- GitHub Security Advisories - GitHub 安全公告
- 所有为本项目做出贡献的贡献者
支持
- 📫 问题反馈:GitHub Issues
- 💬 讨论交流:GitHub Discussions
- 📖 文档:Wiki
免责声明
本工具仅用于教育和防御性安全目的。用户有责任遵守所有适用的法律法规。作者不对本软件的任何滥用行为负责。
⭐ 如果这个项目对您有帮助,请给它一个星标!```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);有关完整的 REST API 参考,请参阅 [API 概览](https://docs.vigolium.com/api-overview)。
> **代理集成**:使用适用于 Burp Suite 的 [burp-vigolium](https://github.com/vigolium/burp-vigolium) 扩展或适用于 Caido 的 [caido-vigolium](https://github.com/vigolium/caido-vigolium) 插件,将实时代理流量转发到正在运行的 Vigolium 服务器。两者都提供相同的桥接协议(`-B/--burp-bridge-url`,别名为 `--caido-bridge-url`),并且摄取到的流量会标记其来源代理。
## 认证扫描
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 分支,当解析到的 `claude`/`codex` CLI 在 PATH 上、二进制已内嵌且链具有 audit 支持的模式时运行它;否则回退到 piolium 而不启动 audit。运行中 audit 失败会暴露出来,而不是切换驱动)。独立的执行框架;**不要**通过 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 强大功能而无需管理基础设施的团队的云解决方案。控制台是 **Vigolium 的升级、全功能版本**,由**先进的自主代理**主导整个工作流程——对目标进行推理、选择自己的攻击路径并确认其发现——在开源核心之上叠加托管扫描和共享结果,让你可以专注于修复漏洞,而不是维护工具。
> 感兴趣?[联系我们获取演示](https://www.vigolium.com/request-demo)。
## 原生扫描层
原生扫描流水线由模块化层组成,每一层都有单独的文档:
| 层 | 描述 | 文档 |
|-------|-------------|------|
| **内容发现(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 个主动模块和 117 个被动模块,覆盖 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/main/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" } } ]);
See [writing extensions](https://docs.vigolium.com/customization/writing-extensions) for the extension authoring guide and `pkg/jsext/vigolium.d.ts` for the full TypeScript API definitions.
## 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: 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 / 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 Dashboard,不属于核心扫描器的一部分。不应对其进行任何更改。
## 基准测试
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/main/test/benchmark/xss_scanner)、[XBOW](https://github.com/vigolium/vigolium/blob/main/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 基于 MIT 许可证发布。
由 @j3ssie 用 ♥ 精心打造,@theblackturtle 作为核心初始贡献者。





