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 不会 发送给这些集成服务。截图在本地捕获。
从源码运行 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`。
## 许可证 本项目基于 [MIT License](LICENSE) 授权。
标签:GitHub, Python, URL分析, 威胁情报, 实时处理, 开发者工具, 无后门, 漏洞挖掘, 特征检测, 逆向工具