GabrielMartorelli/scope2aveone

GitHub: GabrielMartorelli/scope2aveone

一款将 bug bounty 项目策略和范围文本自动解析为优先级排序 URL 队列的 Python CLI 工具。

Stars: 1 | Forks: 0

# scope2aveone `scope2aveone` 是一个个人 Python 项目,旨在将 bug bounty 项目的指南和范围转换为有效且经过优先级排序的 URL 队列。 该工具首先接收策略/指南,然后接收范围,保存原始文本,解析重要规则,并在生成可由其他自动化工具使用的文件之前执行保守的验证。 ## 功能特点 - 交互式粘贴指南和范围。 - 检测明确的“仅限生产环境”规则。 - 提取项目要求的 `User-Agent`。 - 支持 wildcard、精确 host 和带有路径的精确 URL。 - 解析 negative scope。 - 仅对 wildcard 进行被动发现。 - 区分私有 hosts、未解析的 hosts、mTLS、SaaS 和外部重定向。 - 最终文件每行一个 URL。 - 启发式优先级排序。 - 以 JSON 格式保存解析结果。 - 不遵循外部重定向。 - 不将目标替换为 CNAME 或 IP。 ## 负责任的使用 仅对您拥有明确授权的资产使用。 该工具不能替代人工阅读策略。在进行侦察之前,它会显示解析结果并要求确认。如果策略似乎禁止自动化,则执行会中断。 ## 依赖项 - Python 3.10+ - `dnsx` - `httpx` - 存在 wildcard 时需要 `subfinder` - 可选的 `amass` 对于 wildcard,该工具还会通过 `crt.sh` 查询 Certificate Transparency。 ## 在 Kali 中的推荐安装方式 使用 `pipx`: ``` sudo apt update sudo apt install -y pipx pipx ensurepath ``` 打开一个新终端,并在仓库目录中执行: ``` pipx install . ``` 测试: ``` scope2aveone --version scope2aveone --help ``` 更改后更新: ``` pipx reinstall scope2aveone ``` 移除: ``` pipx uninstall scope2aveone ``` ## 直接全局安装 根目录下的 `scope2aveone` 文件是独立可执行的: ``` sudo install -m 755 scope2aveone /usr/local/bin/scope2aveone ``` 然后: ``` scope2aveone ``` ## 免安装运行 ``` chmod +x scope2aveone ./scope2aveone ``` 通过包运行: ``` PYTHONPATH=src python3 -m scope2aveone ``` ## 交互式流程 在您希望生成文件的目录中执行: ``` scope2aveone ``` 工具将提示输入指南: ``` Cole a GUIDELINE/POLÍTICA abaixo. Finalize digitando __FIM_GUIDELINE__ sozinho em uma linha. ``` 随后提示输入范围: ``` Cole o ESCOPO abaixo. Finalize digitando __FIM_ESCOPO__ sozinho em uma linha. ``` 在进行任何侦察之前,将显示解析结果。 ## 目标类型 Wildcard: ``` *.example.com ``` 精确 host: ``` api.example.com ``` 精确 URL: ``` https://api.example.com/v1/accounts ``` 在精确 URL 中,路径会被保留。 ## 生产环境规则 只有当策略明确规定仅限生产环境在范围内时,`dev`、`hml`、`qa`、`sandbox`、`staging`、`uat`、`poc` 和 `preprod` 的隔离才会被激活。 如果没有明确规则,此步骤将保持禁用状态。 ## 生成的文件 输入与解析: ``` 00-guideline-original.txt 00-escopo-original.txt 00-interpretacao.json 01-escopo-positivo-interpretado.txt 01-escopo-negativo-interpretado.txt 01-evidencias-producao.txt 01-evidencias-user-agent.txt ``` 发现与验证: ``` 02-raizes-wildcard.txt 02-alvos-exatos.txt 03-subfinder-resultados.txt 03-crtsh-resultados.txt 03-amass-hosts.txt 04-hosts-descobertos.txt 05-hosts-em-escopo.txt 05-hosts-excluidos.txt 05-hosts-quarentena-nao-producao.txt 06-hosts-candidatos-dns.txt 06-dns-a.txt 06-dns-aaaa.txt 06-dns-cname.txt 07-hosts-publicos.txt 07-hosts-somente-privados.txt 07-hosts-nao-resolvidos.txt 08-alvos-httpx.txt 08-httpx-resultados.jsonl ``` 最终队列: ``` 09-aveone-prioridade.txt 09-aveone-principal.txt 09-aveone-prioridade-alta.txt 09-aveone-prioridade-media.txt 09-aveone-prioridade-baixa.txt 09-aveone-revisao-fornecedor.txt 09-aveone-revisao-mtls.txt 09-aveone-revisao-redirecionamento-externo.txt 09-motivos-prioridade.tsv 09-revisao-http.tsv 10-resumo.json ``` 用于自动化的通用队列为: ``` 09-aveone-prioridade.txt ``` 保守队列为: ``` 09-aveone-principal.txt ``` ## 实用选项 仅解析: ``` scope2aveone --analyze-only ``` 指定其他输出目录: ``` scope2aveone --out /caminho/do/bounty ``` 覆盖生产环境规则: ``` scope2aveone --production-only yes scope2aveone --production-only no ``` 覆盖 User-Agent: ``` scope2aveone --user-agent BUGPAY-Hunter ``` 调整速率: ``` scope2aveone \ --http-rate 2 \ --http-threads 2 \ --dns-rate 5 \ --dns-threads 5 ``` 使用文件作为输入: ``` scope2aveone \ --guideline-file guideline.txt \ --scope-file scope.txt \ --yes ``` ## 目录结构 ``` . ├── .github/ ├── src/scope2aveone/ ├── tests/ ├── scope2aveone ├── pyproject.toml ├── README.md ├── LICENSE ├── SECURITY.md ├── CONTRIBUTING.md ├── CHANGELOG.md └── Makefile ``` ## 许可证 MIT。 ## 免责声明 本项目专为授权研究和 bug bounty 项目设计。用户有责任遵守每个项目的范围、技术限制、法律法规以及相关条款。
标签:Blue Team, GitHub, Python, 侦察工具, 实时处理, 无后门, 网络调试, 自动化, 运行时操纵, 进程管理, 逆向工具