elqahtani/wphunter
GitHub: elqahtani/wphunter
一款Python编写的WordPress全栈漏洞扫描器,支持离线和远程两种模式扫描插件、主题及核心程序的已知CVE,集成多源POC查询、赌博黑产检测和AI智能分析能力。
Stars: 1 | Forks: 0
# wphunter
一款用于扫描 WordPress **插件、主题和核心** 程序已知 CVE 漏洞的 Python CLI 工具,支持**查找公开 exploits/POCs**,检测 **judol (赌博垃圾邮件) 注入**,并通过 Claude 提供 **AI 驱动的分析**。既支持离线工作(从导出的列表),也支持远程工作(从 URL)。支持 Anthropic API 密钥(按 token 付费)或通过 Claude Code SDK 使用 Claude Pro/Max 订阅。
[](https://www.python.org/downloads/)
[](https://github.com/elqahtani/wphunter/actions)
[](https://opensource.org/licenses/MIT)
### JSON
```
python scanner.py -i plugins.csv -f json -o report.json
```
### CSV
```
python scanner.py -i plugins.csv -f csv -o report.csv
```
可在任何电子表格应用程序中打开。单元格内的引用以分号分隔。
### POC 查找输出
使用 `--poc` 时,将显示一个额外的表格,展示每个 CVE 的 exploit/POC 可用性:
```
POC / Exploit Lookup
┌──────────────────┬──────┬────────────────────┬─────────────────────────┐
│ CVE │ EPSS │ Status │ Details │
├──────────────────┼──────┼────────────────────┼─────────────────────────┤
│ CVE-2023-48777 │ 0.94 │ 🔴 EXPLOITED IN │ CISA KEV, 3 GitHub │
│ │ │ WILD │ repos (★47) │
├──────────────────┼──────┼────────────────────┼─────────────────────────┤
│ CVE-2024-27956 │ 0.91 │ 🟠 PUBLIC EXPLOIT │ EDB-51942 │
├──────────────────┼──────┼────────────────────┼─────────────────────────┤
│ CVE-2023-6553 │ 0.72 │ 🟡 PUBLIC POC │ 5 GitHub repos (★47) │
├──────────────────┼──────┼────────────────────┼─────────────────────────┤
│ CVE-2024-1234 │ 0.15 │ 🟡 NUCLEI TEMPLATE │ nuclei template │
├──────────────────┼──────┼────────────────────┼─────────────────────────┤
│ CVE-2024-5678 │ 0.03 │ ⚪ NO KNOWN POC │ — │
└──────────────────┴──────┴────────────────────┴─────────────────────────┘
3/5 CVEs have public exploits or POCs
1 CVE actively exploited in the wild (CISA KEV)
Top EPSS: CVE-2023-48777 (94% exploit probability)
```
**POC 状态分类 (优先级顺序):**
| 状态 | 图标 | 来源 | 含义 |
|--------|------|--------|---------|
| 在野外被利用 | 🔴 | CISA KEV | 正被主动利用,尽快修补 |
| 公开 Exploit | 🟠 | Exploit-DB | 存在即用型 exploit 代码 |
| 公开 POC | 🟡 | nomi-sec PoC-in-GitHub | GitHub 上的 POC 仓库 |
| Nuclei 模板 | 🟡 | nuclei-templates | 存在检测模板 |
| Exploit 引用 | 🔵 | NVD API | 标记为 "Exploit" 的引用 |
| 无已知 POC | ⚪ | (未匹配) | 未发现公开 exploit |
**EPSS** (Exploit Prediction Scoring System) 表示 CVE 在未来 30 天内被利用的概率。高于 0.5 (50%) 的分数以红色高亮显示。
## 退出代码
| 代码 | 含义 |
|:----:|---------|
| `0` | 干净 —— 未发现漏洞或感染 |
| `1` | 发现漏洞 |
| `2` | 检测到 Judol (赌博垃圾邮件) 感染 |
在 CI/CD 管道中使用此代码,以便在检测到易受攻击的插件时使构建失败。结合 `--min-severity high` 可仅在出现严重和高危漏洞时失败。
## 严重性级别
基于 CVSS v3 评分:
| 级别 | CVSS 范围 | 指示器 |
|-------|:----------:|:---------:|
| Critical | 9.0 - 10.0 | `9.8 C` |
| High | 7.0 - 8.9 | `8.8 H` |
| Medium | 4.0 - 6.9 | `5.3 M` |
| Low | 0.1 - 3.9 | `2.1 L` |
| Unknown | 无评分 | `? ?` |
## 工作原理
### 模式 1: 离线 (从导出的列表)
```
[WordPress Server] [Your Machine]
| |
wp plugin list wphunter/
wp theme list scanner.py
wp core version |
| v
v +------------------+
+--------------+ | Parse plugins/ |
| plugins.csv | --------> | themes from |
| themes.csv | scp | CSV/TXT |
| core: 6.4.3 | +---+----+---------+
+--------------+ | |
+------------+ +--------+
| |
v v
+----------------+ +-----------------+
| WPVulnerability| | WPScan API |
| .net (FREE) | | (API key) |
+-------+--------+ +--------+--------+
| |
v v
[Deduplicate + NVD Enrich] --> [POC Lookup (--poc)] --> [Table/JSON/CSV]
```
### 模式 2: 远程 (从 URL)
```
[Target WordPress Site] [Your Machine]
| |
| <--- HTTP requests --- scanner.py --url
| |
v v
+--------------+ +------------------+
| HTML source | --------> | Remote Scanner |
| REST API | | (fingerprint) |
| readme.txt | +--------+---------+
+--------------+ |
+--------+--------+
| |
v v
+-----------------+ +-------------+
| Vuln Scanning | | Judol |
| (same as above) | | Detection |
+--------+--------+ +------+------+
| |
v v
[Combined Report: vulns + POC + judol + AI]
```
### 全站审计示例
```
# 在 WordPress 服务器上: 导出所有内容
wp plugin list --format=csv > plugins.csv
wp theme list --format=csv > themes.csv
wp core version > wp-version.txt
# 在你的机器上: 扫描所有组件
WP_VER=$(cat wp-version.txt)
# Plugins + core + POC lookup
python scanner.py -i plugins.csv --wp-version $WP_VER --source both --poc
# Themes (需单独运行,因为 --type 不同)
python scanner.py -i themes.csv --type theme --source both --poc
```
## 项目结构
```
wphunter/
├── scanner.py # CLI entry point
├── config.py # API keys, URLs, rate limits
├── models.py # VulnResult dataclass
├── reporter.py # Output: table, JSON, CSV, judol reports
├── auth.py # Authentication system (API key, OAuth)
├── requirements.txt # requests, rich, beautifulsoup4, lxml, claude-agent-sdk
├── .env.example # Environment variable template
├── apis/
│ ├── wpscan.py # WPScan API v3 client
│ ├── wpvulndb.py # WPVulnerability.net client
│ ├── nvd.py # NVD CVSS enrichment
│ ├── poc_lookup.py # POC/exploit lookup (6 sources)
│ ├── ai_analyzer.py # Claude AI analysis
│ └── token_tracker.py # API token usage & cost tracking
├── parsers/
│ ├── wordpress.py # Plugin/theme list parser (3 formats)
│ └── remote.py # Remote WordPress fingerprinting
├── detectors/
│ └── judol.py # Judol (gambling spam) injection detector
├── tests/ # pytest test suite (111 tests)
├── test_fixtures/ # HTML fixtures for testing
├── docker-test/ # Docker WordPress for testing
│ └── docker-compose.yml
└── .github/workflows/
└── ci.yml # GitHub Actions CI (Python 3.10-3.13)
```
## Docker 测试环境
想用真实的 WordPress 进行测试?使用 Docker 启动一个:
```
cd docker-test
docker compose up -d db wordpress
# 安装 WordPress
docker compose run --rm wpcli core install \
--url=http://localhost:8888 \
--title="Test Site" \
--admin_user=admin \
--admin_password=admin123 \
--admin_email=admin@test.local \
--skip-email
# 安装一些旧 plugins
docker compose run --rm wpcli plugin install elementor --version=3.6.0 --activate
docker compose run --rm wpcli plugin install contact-form-7 --version=5.5.0 --activate
docker compose run --rm wpcli plugin install woocommerce --version=6.0.0 --activate
# 导出并扫描
docker compose run --rm wpcli plugin list --format=csv > live-plugins.csv
docker compose run --rm wpcli theme list --format=csv > live-themes.csv
WP_VER=$(docker compose run --rm wpcli core version | tr -d '\r')
cd ..
# 扫描 plugins + core
python scanner.py -i docker-test/live-plugins.csv --wp-version $WP_VER --source both
# 扫描 themes
python scanner.py -i docker-test/live-themes.csv --type theme --source both
```
## POC / Exploit 查找
漏洞扫描后,`--poc` 标志检查每个发现的 CVE 是否存在公开的 exploit 代码或概念验证。这有助于确定修补的优先级——一个拥有即用型 exploit 的 CVE 远比没有已知 POC 的危险得多。
### 工作原理
该工具查询 **6 个免费公开来源** (无需 API 密钥):
| 来源 | 提供内容 | 缓存 |
|--------|-----------------|-------|
| **Shodan CVEDB** | EPSS 评分 (利用概率) + KEV 标志 | 每次 CVE 实时查询 |
| **CISA KEV** | 确认在野外被主动利用 | 本地, 24h TTL (~2MB) |
| **Exploit-DB** | 即用型 exploit 代码条目 | 本地, 7d TTL (~12MB) |
| **nomi-sec PoC-in-GitHub** | GitHub POC 仓库及 star 数 | 每次 CVE 实时查询 |
| **Nuclei Templates** | 检测模板是否存在 | 实时 HEAD 检查 |
| **NVD API** | 标记为 "Exploit" 的引用 | 每次 CVE 实时查询 |
首次运行时,CISA KEV 和 Exploit-DB 会被下载并缓存在 `~/.wphunter/cache/`。后续运行会重用缓存直到 TTL 过期。
### 频率限制
- **Shodan CVEDB / nomi-sec**: 请求间隔 0.5s (保守)
- **NVD API**: 使用现有的 NVD 频率限制 (无密钥 6s, 有密钥 0.6s)
- **Nuclei / KEV / Exploit-DB**: 无每次请求限制 (缓存或仅 HEAD)
对于包含约 20 个 CVE 的扫描,总 POC 查找时间约为 30–40 秒。
### 用法
```
# 基本 POC lookup
python scanner.py -i plugins.csv --poc
# 结合远程扫描
python scanner.py --url https://example.com --poc -y
# 跳过 NVD enrichment 但仍执行 POC lookup
python scanner.py -i plugins.csv --no-enrich --poc
# 完整流程: 两个来源 + POC + judol + AI
python scanner.py --url https://example.com --source both --poc --detect-judol --ai -y
```
## Judol 检测
### 此工具检测什么
wphunter 的 `--detect-judol` 标志检查 WordPress 站点**是否已被感染**了赌博垃圾邮件注入。它不能防止攻击——它检测现有的感染以便你进行清理。
检测工作覆盖**所有页面**,通过 WordPress 站点地图爬取,而不仅仅是主页。
### 检测层
| 层 | 检查内容 | 方式 |
|-------|---------------|-----|
| **1. SERP 检查** | 赌博页面是否被 Google 收录? | 查询 Google CSE API 或生成手动搜索 URL |
| **2. 伪装** | 站点是否向 Googlebot 提供不同的内容? | 比较人类与 Googlebot User-Agent 的响应 |
| **3. 内容分析** | 页面中是否有隐藏的赌博内容? | 扫描关键词、隐藏的 CSS 元素、可疑链接 |
| **4. 站点地图爬取** | 单个页面是否被感染? | 获取 sitemap.xml/wp-sitemap.xml,爬取页面,逐一分析 |
| **5. 垃圾目录** | 攻击者是否创建了赌博目录? | 对常见垃圾路径 的 HEAD 请求 |
| **6. AI 分析** | 更深层的上下文分析 (可选) | 将发现发送到 Claude API 进行专家级评估 |
### 用法
```
# 基本 judol 扫描
python scanner.py --url https://example.com --detect-judol
# 包含 AI 分析
python scanner.py --url https://example.com --detect-judol --ai
# 完整扫描: 漏洞 + judol + aggressive 指纹识别
python scanner.py --url https://example.com --aggressive --detect-judol
# 用于集成的 JSON 输出
python scanner.py --url https://example.com --detect-judol -f json -o report.json
```
### 攻击媒介 (站点如何被感染)
wphunter 还通过扫描插件、主题和 WordPress 核心中的已知 CVE,帮助识别攻击者可能的**入侵方式**。judol 注入的常见攻击媒介:
| 攻击媒介 | 示例 | wphunter 是否检测? |
|---------------|---------|:-----------------:|
| **易受攻击的插件** | Elementor RCE (CVE-2023-48777, CVSS 9.9) | 是 —— `--url` 或 `-i plugins.csv` |
| **易受攻击的主题** | 主题文件上传漏洞 | 是 —— `--type theme` |
| **过时的 WordPress 核心** | 核心 XSS/CSRF/认证绕过 | 是 —— `--wp-version` 或通过 `--url` 自动检测 |
| **认证绕过** | Really Simple SSL (CVE-2024-10924, CVSS 9.8) | 是 —— CVE 扫描 |
| **弱凭证** | 被暴力破解的管理员密码 | 否 —— 使用 Wordfence/WPScan |
| **被入侵的主机** | 共享主机邻居攻击 | 否 —— 需要服务器级检查 |
| **供应链** | 破解/盗版插件/主题 | 否 —— 需要文件系统访问 |
| **文件上传滥用** | wp-content/uploads/ 中的恶意文件 | 否 —— 需要文件系统访问 |
| **数据库注入** | 被修改的 wp_options, wp_posts | 否 —— 需要数据库访问 |
### 修复指南 (如果被感染)
如果 wphunter 报告你的站点已感染 (INFECTED),请执行以下步骤:
**1. 立即行动**
- 在进行更改之前对站点进行**完整备份** (文件 + 数据库) —— 你可能需要它进行取证
- 将站点置于**维护模式**以停止向 Google 提供赌博内容
**2. 清除感染**
- 检查 `wp-content/mu-plugins/` —— 攻击者通常在此投放自动加载的 PHP 文件
- 检查 `wp-content/uploads/` —— 查找 `.php` 文件 (uploads 中不应有任何 PHP 文件)
- 检查被修改的主题文件: `functions.php`, `header.php`, `footer.php`, `index.php`
- 检查根目录和 `wp-content/` 中的 `.htaccess` —— 查找可疑的重写规则
- 搜索数据库 `wp_options` 表中的可疑条目:
SELECT * FROM wp_options WHERE option_value LIKE '%slot%' OR option_value LIKE '%togel%' OR option_value LIKE '%gacor%';
- 检查 `wp_posts` 和 `wp_postmeta` 中注入的赌博内容:
SELECT ID, post_title FROM wp_posts WHERE post_content LIKE '%slot gacor%' OR post_content LIKE '%judi online%';
**3. 封堵攻击媒介**
- **更新所有插件**到最新版本 —— `wp plugin update --all`
- **更新所有主题** —— `wp theme update --all`
- **更新 WordPress 核心** —— `wp core update`
- **删除未使用的插件和主题** —— 攻击者经常利用已安装但未激活的组件
- 考虑**完全替换 WordPress 核心文件**: `wp core download --force`
**4. 保护凭证**
- **更改所有 WordPress 管理员密码** —— 假设它们已被泄露
- **更改数据库密码**并更新 `wp-config.php`
- **重新生成 WordPress salts** —— 从 [api.wordpress.org/secret-key](https://api.wordpress.org/secret-key/1.1/salt/) 添加新的 salts
- **更改主机/FTP/SSH 密码**
- **审查用户账户** —— 删除任何未知的管理员用户:
SELECT * FROM wp_users;
SELECT * FROM wp_usermeta WHERE meta_key = 'wp_capabilities' AND meta_value LIKE '%administrator%';
**5. 加固站点**
- 安装安全插件 (Wordfence, Sucuri, 或 iThemes Security)
- 为所有管理员账户启用双因素认证
- 在 WordPress 中禁用文件编辑: 在 `wp-config.php` 中添加 `define('DISALLOW_FILE_EDIT', true);`
- 设置正确的文件权限: 目录 `755`, 文件 `644`, `wp-config.php` `440`
- 阻止在 uploads 中执行 PHP: 在 `wp-content/uploads/.htaccess` 中添加 `php_flag engine off`
**6. 请求重新收录**
- 如果你的站点被标记,在 Google Search Console 中提交**重新审核请求**
- 使用 **URL 检查工具**请求重新抓取已清理的页面
- 监控 Google Search Console 的 "安全问题" 警告
### AI 分析设置
要使用 `--ai`,你需要 **Anthropic API 密钥**或 **Claude Code OAuth token**:
```
# 选项 1: API key (按 token 付费)
export ANTHROPIC_API_KEY="sk-ant-api03-..."
# 选项 2: OAuth token (使用 Claude Pro/Max 订阅配额)
python scanner.py connect
# -> 选择选项 [2] 并粘贴你的 OAuth token
# -> 通过以下方式获取 token: claude setup-token
# 选项 3: 交互式设置 (保存到 ~/.wphunter/auth.json)
python scanner.py connect
```
**两种认证路径:**
| 认证方法 | 工作原理 | 模型 |
|---|---|---|
| **API Key** (`sk-ant-api03-*`) | 直接 Anthropic API 调用 | Claude Sonnet 4 (可通过 `--ai-model` 使用任何模型) |
| **OAuth Token** (`sk-ant-oat01-*`) | 通过 Claude Agent SDK → Claude Code CLI | Claude Sonnet 4 (使用订阅配额) |
在 [console.anthropic.com](https://console.anthropic.com/) 获取 API 密钥,或通过 OAuth 使用你的 Claude Pro/Max 订阅。两种路径都包含在 `requirements.txt` 中。
### Docker 测试环境 (Judol 模拟)
`docker-test/` 目录包含一个测试恶意软件文件 (`judol-infection.php`),用于模拟真实的 judol 攻击以进行测试。有关完整的测试过程,请参见 `docker-test/test-commands.sh`。
## 限制
- **仅限已知 CVE** —— 此工具检查公开的漏洞数据库。它无法检测零日漏洞、自定义代码错误或配置错误。
- **Slugs 必须匹配** —— CSV 中的 slug 必须与 WordPress.org 的 slug 匹配 (例如,插件应为 `wordpress-seo` 而不是 `yoast-seo`)。
- **远程扫描是尽力而为** —— 并非所有插件/主题都可以从 HTML 源代码中检测到。使用激进模式 (`--aggressive`) 以获得更广泛的覆盖。
- **Judol 检测是基于启发式的** —— 在包含合法赌博内容的站点上可能会产生误报。
- **无文件系统访问** —— wphunter 在外部工作。它无法检查上传的文件、数据库条目或服务器配置。对于深度取证,你需要服务器端工具,如 Wordfence CLI 或手动调查。
- **完整页面爬取需要站点地图** —— 如果站点没有 sitemap.xml 或 wp-sitemap.xml,则仅检查主页和常见的垃圾目录。
## 需求
- Python 3.10+
- `requests` >= 2.28.0
- `rich` >= 13.0.0
- `beautifulsoup4` >= 4.12 (用于 HTML 解析)
- `lxml` >= 5.0 (用于快速 HTML 解析)
- `claude-agent-sdk` >= 0.1.0 (用于通过 Claude Code 订阅进行 AI 分析)
## 相关
- [WPScan](https://github.com/wpscanteam/wpscan) —— WordPress 安全扫描器 (在线站点扫描, Ruby)
- [wordpress-vulnerable-scanner](https://github.com/robdotec/wordpress-vulnerable-scanner) —— WordPress CVE 扫描器 (Rust, 在线站点 + manifest)
- [WPVulnerability.net](https://www.wpvulnerability.net/) —— 免费的 WordPress 漏洞数据库 (6 个聚合来源)
## 许可证
MIT 许可证 —— 详情见 [LICENSE](LICENSE)。
## 免责声明
本工具仅供**授权的安全测试和审计**使用。使用本工具即表示你同意:
- 你将**仅扫描你拥有的网站**或拥有明确书面授权测试的网站。
- 远程扫描 (`--url`) 会向目标站点发送 HTTP 请求。虽然是非破坏性的,但可能会被目标的 WAF 或安全插件记录。
- 激进模式 (`--aggressive`) 会向目标发送大约 100+ 个 HTTP 请求。请负责任地使用并尊重频率限制。
- **judol 检测测试文件** (`docker-test/judol-infection.php`) 仅用于测试目的。它们模拟真实的攻击模式,**绝不能**部署在生产站点上。
- Jud 检测结果是**基于启发式的**,可能包含误报或漏报。在采取行动之前,务必手动验证发现。
- 本工具**不能防止攻击** —— 它检测现有的感染和已知的漏洞。将其作为更广泛的安全策略的一部分使用。
- 作者**不对**因使用本工具而导致的任何滥用、损害或未经授权的访问负责。
完整扫描输出 (文本)
``` ┬ ┬┌─┐┬ ┬┬ ┬┌┐┌┌┬┐┌─┐┬─┐ │││├─┘├─┤│ ││││ │ ├┤ ├┬┘ └┴┘┴ ┴ ┴└─┘┘└┘ ┴ └─┘┴└─ WordPress Plugin, Theme & Core Vulnerability Scanner Sources: WPScan API | WPVulnerability.net | NVD [*] Found 8 plugins in live-plugins.csv akismet@5.3.1 all-in-one-seo-pack@4.2.0 elementor@3.6.0 hello@1.7.2 jetpack@11.0 really-simple-ssl@6.0.0 updraftplus@1.22.24 woocommerce@6.0.0 [*] --- WPVulnerability.net --- [*] WPVulnerability.net: free API, no key required [+] akismet@5.3.1: 0 vulns [+] all-in-one-seo-pack@4.2.0: 10 vulns [+] elementor@3.6.0: 31 vulns [+] hello@1.7.2: 0 vulns [+] jetpack@11.0: 16 vulns [+] really-simple-ssl@6.0.0: 4 vulns [+] updraftplus@1.22.24: 12 vulns [+] woocommerce@6.0.0: 35 vulns [*] WPVulnerability.net: 108 vulnerabilities wphunter -- live-plugins.csv (Critical + High) ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓ ┃ CVE ┃ Plugin ┃ CVSS ┃ Severity ┃ Summary ┃ Fix ┃ ┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩ │ CVE-2023-48777 │ elementor@3.6.0 │ 9.9 C │ CRITICAL │ Contributor+ Arbitrary File Upload to │ 3.18.2 │ │ │ │ │ │ RCE │ │ ├──────────────────┼─────────────────────────┼────────┼────────────┼────────────────────────────────────────┼──────────┤ │ CVE-2024-10924 │ really-simple-ssl@6.0.0 │ 9.8 C │ CRITICAL │ Authentication Bypass (admin takeover) │ 9.1.1.1 │ ├──────────────────┼─────────────────────────┼────────┼────────────┼────────────────────────────────────────┼──────────┤ │ CVE-2022-1329 │ elementor@3.6.0 │ 8.8 H │ HIGH │ Subscriber+ Arbitrary File Upload │ 3.6.2 │ ├──────────────────┼─────────────────────────┼────────┼────────────┼────────────────────────────────────────┼──────────┤ │ CVE-2024-10957 │ updraftplus@1.22.24 │ 8.8 H │ HIGH │ PHP Object Injection via Backup │ 1.24.12 │ ├──────────────────┼─────────────────────────┼────────┼────────────┼────────────────────────────────────────┼──────────┤ │ CVE-2024-24934 │ elementor@3.6.0 │ 8.5 H │ HIGH │ Contributor+ Arbitrary File Upload │ 3.19.1 │ ├──────────────────┼─────────────────────────┼────────┼────────────┼────────────────────────────────────────┼──────────┤ │ CVE-2023-47504 │ elementor@3.6.0 │ 7.5 H │ HIGH │ Missing Authorization to Setting │ 3.16.5 │ │ │ │ │ │ Change │ │ ├──────────────────┼─────────────────────────┼────────┼────────────┼────────────────────────────────────────┼──────────┤ │ CVE-2023-32960 │ updraftplus@1.22.24 │ 7.1 H │ HIGH │ Sensitive Data Exposure via Backup Log │ 1.23.4 │ └──────────────────┴─────────────────────────┴────────┴────────────┴────────────────────────────────────────┴──────────┘ Total: 108 vulnerabilities (2 CRITICAL, 5 HIGH, 37 MEDIUM, 1 LOW) Source: wpvulndb (WPVulnerability.net) Recommended: elementor -> 3.18.2, really-simple-ssl -> 9.1.1.1 ```JSON 输出示例
``` { "scan": { "input_file": "plugins.csv", "source": "wpvulndb", "type": "wordpress" }, "summary": { "total": 108, "critical": 2, "high": 5, "medium": 37, "low": 1, "unknown": 63 }, "vulnerabilities": [ { "plugin": "elementor", "version": "3.6.0", "cve_id": "CVE-2023-48777", "cvss_score": 9.9, "severity": "CRITICAL", "summary": "Contributor+ Arbitrary File Upload to RCE", "fix_version": "3.18.2", "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-48777", "source": "wpvulndb", "references": [ "https://www.wordfence.com/threat-intel/vulnerabilities/id/...", "https://patchstack.com/database/vulnerability/elementor/..." ] }, { "plugin": "really-simple-ssl", "version": "6.0.0", "cve_id": "CVE-2024-10924", "cvss_score": 9.8, "severity": "CRITICAL", "summary": "Authentication Bypass (admin takeover)", "fix_version": "9.1.1.1", "url": "https://nvd.nist.gov/vuln/detail/CVE-2024-10924", "source": "wpvulndb", "references": ["..."] } ] } ```带 POC 数据的 JSON 输出
当使用 `--poc --format json` 时,添加一个 `poc` 键: ``` { "scan": { "..." : "..." }, "summary": { "..." : "..." }, "vulnerabilities": ["..."], "poc": { "CVE-2023-48777": { "cve_id": "CVE-2023-48777", "status": "EXPLOITED IN WILD", "epss_score": 0.9421, "epss_percentile": 0.9935, "exploited_in_wild": true, "ransomware_use": "Known", "exploit_db": [{"id": "51234", "title": "Elementor RCE", "url": "..."}], "github_pocs": [{"url": "...", "name": "user/repo", "stars": 47, "description": "..."}], "has_nuclei_template": true, "nuclei_template_url": "https://raw.githubusercontent.com/...", "nvd_exploit_refs": ["https://..."] }, "CVE-2024-5678": { "cve_id": "CVE-2024-5678", "status": "NO KNOWN POC", "epss_score": 0.03, "exploited_in_wild": false, "exploit_db": [], "github_pocs": [], "has_nuclei_template": false } } } ```标签:AI安全分析, Anthropic API, Claude, Claude AI, CVE检测, Judol检测, PE 加载器, POC利用, SEO垃圾清理, WordPress安全, 主题扫描, 公开漏洞查询, 加密, 域名收集, 密码管理, 插件安全, 操作系统监控, 核心漏洞, 漏洞扫描器, 离线扫描, 网站防护, 网络安全, 网络安全审计, 赌博垃圾邮件检测, 远程扫描, 隐私保护