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安全, 加密, 无后门, 漏洞扫描器, 蓝队分析, 逆向工具