SGCYB/url-investigator
GitHub: SGCYB/url-investigator
一款跨平台 URL 调查工具,将 HTTP、DNS、TLS、安全标头、信誉查询和截图取证整合为附带可解释风险评分的 HTML 报告,服务于初步安全调查场景。
Stars: 0 | Forks: 0
# URL 调查器
URL Investigator 是一款跨平台的 URL 分析工具,可收集 Web、
网络、证书、信誉和截图证据,并将其整理为
易于阅读的 HTML 报告。
它专为初步调查而设计。风险评分会突出显示可能需要进一步审查的发现,
但不会独立判定 URL 是否恶意。
## 功能
- URL 结构、HTTP 和重定向分析
- DNS 和 TLS 证书收集
- 浏览器安全标头审查
- 可选的 VirusTotal 和 urlscan.io 查询
- 可选的本地网页截图
- 可解释的风险评分和 HTML 报告
API 密钥为可选项。所有核心本地检查无需它们即可运行。
## 下载
从
[GitHub Releases](https://github.com/SGCYB/url-investigator/releases/latest) 下载最新的安装包:
- `URL-Investigator-Windows.zip`
- `url-investigator-linux-venv.tar.gz`
## Windows
解压整个 Windows ZIP 文件,并将 `URLInvestigator.exe` 与其捆绑的
`_internal` 文件夹保留在同一目录下。在解压后的文件夹中打开 PowerShell 并运行:
```
.\URLInvestigator.exe https://example.com
```
捕获截图:
```
.\URLInvestigator.exe https://example.com --screenshot
```
截图功能会使用已安装的 Microsoft Edge 或 Google Chrome 浏览器。报告
默认保存在 `Documents\URL Investigator Reports` 中。
## Linux
Linux 需要 Python 3.11 或更高版本以及 `python3-venv`。
在 Debian 或 Ubuntu 上:
```
sudo apt update
sudo apt install python3 python3-venv
```
解压并设置应用程序:
```
tar -xzf url-investigator-linux-venv.tar.gz
cd url-investigator
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -r requirements.txt
```
运行扫描:
```
python3 main.py https://example.com
```
安装 Chromium 并捕获截图:
```
python3 -m playwright install --with-deps chromium
python3 main.py https://example.com --screenshot
```
Linux 报告默认保存在安装包的 `reports` 目录中。
## 命令选项
| 选项 | 默认值 | 用途 |
|---|---|---|
| `URL` | 省略时提示输入 | 要调查的 URL |
| `--screenshot` | 禁用 | 捕获本地网页截图 |
| `--no-screenshot` | — | 禁用截图捕获 |
| `--allow-private` | 禁用 | 允许授权的私有或内部目标 |
| `--timeout SECONDS` | 5 秒 | 设置 HTTP 和 API 超时时间 |
| `--output-dir DIRECTORY` | 平台报告目录 | 选择报告和截图的保存位置 |
| `--json` | 禁用 | 以 JSON 格式打印完整的扫描结果 |
| `-h, --help` | — | 显示帮助信息并退出 |
Windows 示例:
```
.\URLInvestigator.exe https://example.com --timeout 10 --output-dir .\reports
```
Linux 示例:
```
python3 main.py https://example.com --timeout 10 --output-dir ./reports
```
私有、环回、链路本地、保留及其他非公共目的地默认被
阻止。仅在针对您拥有或被授权评估的系统时使用 `--allow-private`。
## 可选配置
将 `.env.example` 复制到 `.env` 以配置 API 密钥或更改应用程序
默认设置。
Windows:
```
Copy-Item .env.example .env
```
Linux:
```
cp .env.example .env
```
重要默认设置:
```
ENABLE_SCREENSHOT=false
ALLOW_PRIVATE_TARGETS=false
REQUEST_TIMEOUT=5
DNS_TIMEOUT=2.5
TLS_TIMEOUT=4
SCREENSHOT_TIMEOUT=15
MAX_REDIRECTS=8
```
命令行选项会覆盖当前扫描相关的 `.env` 默认设置。
切勿提交或分享 `.env`。
## 报告与评分
报告包含 URL 和重定向详细信息、DNS 记录、TLS 信息、安全
标头、信誉结果、截图、扫描覆盖率以及评分发现。
每项评分发现都会说明检测到了什么、为何重要、其分数是如何
计算的,以及接下来应该审查什么。
分数最高为 100。缺失浏览器安全标头仅为信息提示,
不会增加风险分数。
## 隐私
启用后,VirusTotal 和 urlscan.io 将接收最终 URL 作为信誉
查询的一部分。应用程序不会请求新的公共扫描,但
第三方提供商可能会记录 API 查询。
包含凭据或已识别的敏感查询参数的 URL 不会
发送给这些集成服务。截图在本地捕获。
## 许可证
本项目基于 [MIT License](LICENSE) 授权。
从源码运行
Windows: ``` python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install -r requirements.txt python main.py https://example.com ``` Linux: ``` python3 -m venv .venv source .venv/bin/activate python3 -m pip install -r requirements.txt python3 main.py https://example.com ```开发与打包
### 依赖文件 该项目将应用程序、开发和打包依赖项分离开来: - `requirements.txt` 包含运行 URL Investigator 所需的包。 - `requirements-dev.txt` 包含运行时包以及测试、linting、 格式化和类型检查工具。 - `requirements-build.txt` 包含运行时包以及用于 创建 Windows 应用程序的 PyInstaller。 开发和构建文件中的 `-r requirements.txt` 行会自动 包含常规的应用程序依赖项。 请根据您的工作流需求仅安装所需内容: ``` # 从源码运行应用程序 python -m pip install -r requirements.txt # 开发或测试应用程序 python -m pip install -r requirements-dev.txt # 构建 Windows 应用程序 python -m pip install -r requirements-build.txt ``` 运行开发检查: ``` python -m pytest python -m ruff format --check . python -m ruff check . python -m mypy . ``` 构建 Windows 安装包: ``` .\packaging\windows\build.ps1 ``` Windows 构建脚本会自动安装 `requirements-build.txt`。标签:GitHub, Python, URL分析, 威胁情报, 实时处理, 开发者工具, 无后门, 漏洞挖掘, 特征检测, 逆向工具