gerardvincelillo/route-intent
GitHub: gerardvincelillo/route-intent
一款通过静态分析 HTML 和 JavaScript 来自动发现 Web 应用隐藏路由、API 端点及内部域名的 Python 安全侦察工具。
Stars: 0 | Forks: 0
# RouteIntent
RouteIntent 是一个专注于安全自动化的 CLI 工具,通过扫描 HTML 和客户端 JavaScript 来发现可能的应用程序路由、API 端点、认证路径、GraphQL 端点、管理或调试路径以及内部域名。
## 为什么开发 RouteIntent
现代 Web 应用程序通常将有用的侦察目标隐藏在打包的 JavaScript、内联脚本、客户端路由器和配置片段中。RouteIntent 自动化了首轮审查过程,使安全工程师、漏洞赏金研究人员、渗透测试人员和开发人员能够快速识别有趣的路径,而无需手动在前端代码中进行 grep 搜索。
## 功能特性
- 获取目标页面并跟随重定向。
- 从 HTML 响应中提取链接式和内联 JavaScript。
- 下载链接式 JavaScript 文件,支持可配置的限制。
- 应用实用的正则表达式和启发式匹配来识别可能的路由和域名。
- 将发现结果分类为 API、auth、GraphQL、admin、debug、frontend、internal-domain 和 unknown 存储桶。
- 在终端中打印分组的 Rich 摘要。
- 将结果导出为 JSON 和 Markdown。
- 支持从纯文本文件加载自定义请求标头。
## 安装
```
git clone https://github.com/your-org/route-intent.git
cd route-intent
python -m pip install -e .
```
## 用法
基本扫描:
```
routeintent scan https://example.com
```
导出 JSON 和 Markdown:
```
routeintent scan https://example.com --json findings.json --md findings.md
```
使用自定义标头:
```
routeintent scan https://target.example --headers headers.txt
```
示例 `headers.txt`:
```
User-Agent: RouteIntent/0.1
Authorization: Bearer
X-Forwarded-Host: recon.example
```
可用标志:
- `--json `: 将发现结果写入 JSON 报告。
- `--md `: 将发现结果写入 Markdown 报告。
- `--headers `: 从文件加载自定义 HTTP 标头。
- `--timeout `: 设置 HTTP 超时时间。
- `--max-js `: 限制下载的链接式 JavaScript 文件数量。
## 示例输出
```
RouteIntent Summary
Target: https://example.com
JS files analyzed: 8
Routes detected: 27
Internal domains detected: 3
API Routes
/api/auth/login
/api/user/profile
Auth Routes
/login
/register
/forgot-password
Interesting Routes
/admin/metrics
/internal/feature-flags
/debug
Internal Domains
api.internal.example.com
staging.example.com
```
## 工作原理
1. 获取目标 HTML。
2. 从页面解析 script 标签。
3. 解析相对 JavaScript URL。
4. 下载链接式 JavaScript 文件,直到 `--max-js` 限制。
5. 分析 HTML、内联 JavaScript 和链接式 JavaScript 内容。
6. 提取类似路由的字符串和外观为内部的域名。
7. 对发现结果进行分类、去重和报告。
## 限制
- MVP 版本使用正则表达式和启发式匹配,而非 AST 解析。
- 压缩后的 Bundle 仍可能包含噪音或不完整的路由片段。
- RouteIntent 不执行 JavaScript 也不驱动浏览器。
- 某些应用程序需要身份验证、Cookie 或特殊标头才能暴露有用的客户端代码。
- TLS 验证仅在运行时遇到证书验证失败时才会回退,这对侦察来说很实用,但可能不符合严格的企业策略。
## 路线图
- 为每个发现结果添加可选的源代码片段。
- 添加被动 sitemap 和 `robots.txt` 丰富功能。
- 为高关注度路由添加评分。
- 为大型 JavaScript 集合添加并发控制。
- 添加可选的基于 Playwright 的动态渲染。
- 扩展关于分类器和提取器边缘情况的测试。
## 许可证
MIT
标签:API端点探测, CLI, GraphQL探测, Python, Web安全, WiFi技术, 云安全监控, 内网域名发现, 密码管理, 对称加密, 文档结构分析, 无后门, 检测规则, 网络安全, 网络资产发现, 自动化审计, 蓝队分析, 路径扫描, 路由发现, 逆向工具, 隐私保护, 静态分析