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, 侦察工具, 实时处理, 无后门, 网络调试, 自动化, 运行时操纵, 进程管理, 逆向工具