brennoRD/endpoint-watch

GitHub: brennoRD/endpoint-watch

一款轻量的 JS 资产差异监控工具,通过快照对比自动发现目标站点新出现的 API 端点和泄露的密钥,并支持通过 webhook 实时通知。

Stars: 0 | Forks: 0

# endpoint-watch 监控目标的 JavaScript 资产,并告诉你其中何时出现**新端点**或**新密钥**。 对于希望运行一个小工具,并在目标部署新代码时通过 Telegram/Slack/Discord 通知自己的漏洞赏金猎人来说,这非常有用。该工具可在 cron 上运行。 ``` $ endpoint-watch https://example.com [+] https://example.com: found 7 JS file(s) [changed] https://example.com/static/app.abc123.js + endpoint: /api/v2/users/export + endpoint: /internal/debug/whoami ! secret (Google API Key): AIzaSyB… ``` ## 安装 ``` git clone https://github.com/brennoRD/endpoint-watch cd endpoint-watch pip install -r requirements.txt ``` ## 用法 ``` python endpoint_watch.py https://target.tld python endpoint_watch.py https://target.tld --webhook https://hooks.example/abc python endpoint_watch.py https://target.tld --json --quiet ``` 快照存储在 `~/.endpoint-watch/snapshots.db` (SQLite) 中。对目标的首次运行只会记录基线——从第二次运行开始报告差异。 ### 在 cron 上运行 ``` */30 * * * * /usr/bin/python3 /opt/endpoint-watch/endpoint_watch.py https://target.tld --webhook https://hooks.example/abc ``` ## 检测内容 - **新端点** — 看起来像路径 (`/api/...`) 或完整 URL (`https://...`) 的字符串,且在同一个 JS 文件的上一次快照中不存在。 - **新密钥** — 使用尽力的正则表达式匹配常见 token 格式: - AWS Access Key (`AKIA…`) - Google API Key (`AIza…`) - GitHub Token (`ghp_…`) - OpenAI 风格的密钥 (`sk-…`) - Slack Token (`xox[baprs]-…`) - JWT (`eyJ…`) 误报可能会发生——请将输出视为线索,而非最终发现。 ## 不做的事情 这是一个有意设计的小型工具。它**不会**自动探测新端点、进行风险评分、去重、多源关联或噪音过滤。如果你需要这些功能,请在 JSON 输出的基础上自行构建,或者将其接入更大的 pipeline 中。 ## 许可证 MIT。
标签:API密钥检测, Bug Bounty, Discord通知, Python, Slack通知, Telegram通知, 可自定义解析器, 实时处理, 差异对比, 开源安全工具, 无后门, 白帽黑客, 网络安全, 网络钩子, 自动化监控, 资产测绘, 输入验证, 逆向工具, 逆向工程平台, 隐私保护