dx7er/plankton
GitHub: dx7er/plankton
一款轻量级命令行 Web 漏洞扫描器,针对目标 URL 运行覆盖 OWASP Top 10(2021)的 12 项检测并生成多格式报告。
Stars: 22 | Forks: 2
# plankton
一款命令行 Web 漏洞扫描器。针对目标 URL 运行一系列映射到
**OWASP Top 10 (2021)** 的检测,并生成色彩丰富的终端
输出和美观的 HTML 报告。
版本:`1`
## 功能
- 12 项检测全面覆盖 OWASP Top 10 (2021)
- 带扫描摘要面板的彩色终端输出
- 深色主题 HTML 报告,包含严重级别卡片和每项发现的徽章
- 同时支持 JSON 和纯文本报告格式
- 可配置超时时间、User-Agent 和检测选项
- 在 Windows 终端自动启用 ANSI 颜色
- 零配置,单文件脚本
## OWASP Top 10 覆盖范围
| 代码 | 类别 | 检测名称 |
|------|-----------------------------------------|----------------------------------|
| A01 | 失效的访问控制 (Broken Access Control) | `access`, `redirect` |
| A02 | 加密失败 (Cryptographic Failures) | `crypto` |
| A03 | 注入 (Injection) | `sqli`, `xss`, `cmdi`, `lfi` |
| A04 | 不安全的设计 (Insecure Design) | 无法进行远程测试 |
| A05 | 安全配置错误 (Security Misconfiguration) | `misconfig` |
| A06 | 易受攻击和过时的组件 (Vulnerable and Outdated Components) | `components` |
| A07 | 身份识别和认证失败 (Identification and Authentication) | `auth` |
| A08 | 软件和数据完整性失败 (Software and Data Integrity Failures) | `integrity` |
| A09 | 安全日志记录和监控失败 (Security Logging and Monitoring) | 无法进行远程测试 |
| A10 | 服务端请求伪造 (Server-Side Request Forgery) | `ssrf` |
## 安装说明
```
pip install -r requirements.txt
```
Python 3.9+。
## 使用方法
```
python plankton.py [options]
```
选项:
```
-t, --timeout SEC HTTP timeout in seconds (default: 10)
-o, --output PATH Report file (default: plankton-report.)
-f, --format {text,json,html} Report format (default: html)
--only a,b,c Only run these checks
--skip a,b,c Skip these checks
--user-agent STR Override User-Agent
--no-color Disable colored terminal output
-V, --version Print version and exit
-h, --help Show help and exit
```
如果省略 `-o`,报告将写入:
- 当 `-f html` (默认) 时写入 `plankton-report.html`
- 当 `-f json` 时写入 `plankton-report.json`
- 当 `-f text` 时写入 `plankton-report.txt`
## 示例
```
python plankton.py https://example.com
python plankton.py https://example.com --only sqli,xss,misconfig
python plankton.py https://example.com -f json -o report.json
python plankton.py "https://example.com/page?id=1" --only cmdi,lfi,ssrf
python plankton.py https://example.com --skip components,integrity -t 20
python plankton.py https://example.com --no-color
```
## 输出
**终端。** 紫色横幅,绿色的步骤标记,青色的信息行,以及每项发现上带有严重级别颜色的标签。末尾的带框摘要面板会显示持续时间以及按严重级别划分的计数。
**HTML 报告。** 深色主题,渐变色标题,包含总计 / 严重 / 高 / 中 / 低严重级别的 KPI 卡片,每项发现对应一个卡片,显示 OWASP 代码、严重级别标签、URL、证据和修复建议。可在任何浏览器中打开。
**JSON 报告。** 机器可读格式,包含 `target`、`version`、`owasp`、`duration_seconds`、`generated_at`、`summary` 以及完整的 `findings` 列表。
**文本报告。** 带有元数据和计数的框式标题,随后是每项发现的详细章节。
## 退出代码
- `0`:未发现漏洞
- `1`:已报告发现的漏洞
- `2`:无法写入报告文件
## 法律声明
请仅扫描您拥有或获得书面测试授权的系统。
## 许可证
MIT。请参阅 `LICENSE`。
标签:CISA项目, DOE合作, OWASP Top 10, Python, Web安全, 加密, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具