开源推荐
evening
GitHub 热门项目:autoswagger
2026-06-26
1 阅读
GitHub Trending
GitHub 项目:autoswagger
仓库地址:https://github.com/intruder-io/autoswagger
明星:1948 | 作者:入侵者io
项目描述:Intruder 的 Autoswagger - 检测 API 身份验证弱点
===================================================
自述文件内容:
# [Autoswagger](https://www.intruder.io/research/broken-authorization-apis-autoswagger) 作者:[Intruder](https://intruder.io/)
**[Autoswagger](https://www.intruder.io/research/broken-authorization-apis-autoswagger)** 是一个命令行工具,旨在使用 **Swagger/OpenAPI** 文档发现、解析和测试未经身份验证的端点。它有助于识别未受保护的 API 端点中的潜在安全问题,例如 PII 泄漏和常见的秘密泄露。 **请注意,Autoswagger 的初始版本并不完整,并且该工具当前无法处理某些类型的规范。请随意使用它,并扩展其检测功能或添加检测正则表达式来覆盖您的特定用例!** --- ## 目录 1. [简介](#简介) 2. [主要特点](#key-features) 3.【安装与使用】(#安装--使用) 4. [发现阶段](#discovery-phases) 5. [端点测试](#endpoint-testing) 6. [PII 检测](#pii-detection) 7. [输出示例](#output) 8. [统计与报告](#stats--reporting) 9. [致谢](#致谢) --- ## 简介 Autoswagger 自动执行查找 **OpenAPI/Swagger** 规范、提取 API 端点并系统地测试它们的 **PII** 暴露、**秘密** 以及大型或有趣的响应的过程。它利用 **Presidio** 进行 PII 识别,并利用 **regex** 进行敏感密钥/令牌检测。 --- ## 主要特点 - **多个发现阶段** 通过三种方式发现 OpenAPI 规范: 1. **直接规范**:如果提供了路径以“.json”、“.yaml”或“.yml”结尾的完整 URL,则直接解析该文件。 2. **Swagger UI**:解析 Swagger UI 的已知路径(例如 `/swagger-ui.html`),并从 HTML 或 JavaScript 中提取规范。 3. **Bruteforce 的直接规范**:尝试使用常见的 OpenAPI 架构位置(`/swagger.json`、`/openapi.json` 等)进行发现。仅当 1. 和 2. 未产生结果时才尝试此操作。 - **并行端点测试** 许多端点的多线程并发测试,遵守可配置的速率限制(“-rate”)。 - **参数值的暴力破解** 如果使用“-b”或“--brute”,请尝试使用带有一些示例值的各种数据类型,以尝试绕过特定于参数的验证。 - **Presidio PII 检测** 检查输出中的电话号码、电子邮件、地址和姓名(通过上下文验证来减少误报)。还可以解析 CSV 行和简单的“key: value”行。 - **秘密检测** 利用一组正则表达式模式来检测令牌、密钥和调试工件(如环境变量)。 - **命令行或 JSON 输出** 在默认模式下,在表格中显示结果。使用“-json”,输出 JSON 结构。 `-product` 模式过滤输出到
**[Autoswagger](https://www.intruder.io/research/broken-authorization-apis-autoswagger)** 是一个命令行工具,旨在使用 **Swagger/OpenAPI** 文档发现、解析和测试未经身份验证的端点。它有助于识别未受保护的 API 端点中的潜在安全问题,例如 PII 泄漏和常见的秘密泄露。 **请注意,Autoswagger 的初始版本并不完整,并且该工具当前无法处理某些类型的规范。请随意使用它,并扩展其检测功能或添加检测正则表达式来覆盖您的特定用例!** --- ## 目录 1. [简介](#简介) 2. [主要特点](#key-features) 3.【安装与使用】(#安装--使用) 4. [发现阶段](#discovery-phases) 5. [端点测试](#endpoint-testing) 6. [PII 检测](#pii-detection) 7. [输出示例](#output) 8. [统计与报告](#stats--reporting) 9. [致谢](#致谢) --- ## 简介 Autoswagger 自动执行查找 **OpenAPI/Swagger** 规范、提取 API 端点并系统地测试它们的 **PII** 暴露、**秘密** 以及大型或有趣的响应的过程。它利用 **Presidio** 进行 PII 识别,并利用 **regex** 进行敏感密钥/令牌检测。 --- ## 主要特点 - **多个发现阶段** 通过三种方式发现 OpenAPI 规范: 1. **直接规范**:如果提供了路径以“.json”、“.yaml”或“.yml”结尾的完整 URL,则直接解析该文件。 2. **Swagger UI**:解析 Swagger UI 的已知路径(例如 `/swagger-ui.html`),并从 HTML 或 JavaScript 中提取规范。 3. **Bruteforce 的直接规范**:尝试使用常见的 OpenAPI 架构位置(`/swagger.json`、`/openapi.json` 等)进行发现。仅当 1. 和 2. 未产生结果时才尝试此操作。 - **并行端点测试** 许多端点的多线程并发测试,遵守可配置的速率限制(“-rate”)。 - **参数值的暴力破解** 如果使用“-b”或“--brute”,请尝试使用带有一些示例值的各种数据类型,以尝试绕过特定于参数的验证。 - **Presidio PII 检测** 检查输出中的电话号码、电子邮件、地址和姓名(通过上下文验证来减少误报)。还可以解析 CSV 行和简单的“key: value”行。 - **秘密检测** 利用一组正则表达式模式来检测令牌、密钥和调试工件(如环境变量)。 - **命令行或 JSON 输出** 在默认模式下,在表格中显示结果。使用“-json”,输出 JSON 结构。 `-product` 模式过滤输出到