tFran09/url-scanner

GitHub: tFran09/url-scanner

一款集成 VirusTotal v3 API 的 Python CLI 工具,将可疑 URL 的威胁情报查询与分诊流程自动化,并在终端输出结构化安全报告。

Stars: 0 | Forks: 0

# 🛡️ VirusTotal URL 扫描器与威胁情报工具 一款基于 Python 的命令行界面 (CLI) 工具,专为安全分析师设计,用于快速分诊可疑 URL。通过集成 VirusTotal v3 API,该工具可自动化威胁扫描,并直接在终端中输出清晰、易读的威胁报告。 ## 🚀 核心功能 * **安全的 API 管理:** 利用 .env 和 .gitignore 配置来防止 API 密钥泄露,遵循安全的软件开发实践。 * **动态轮询循环:** 脚本不依赖死板、任意的 sleep 计时器,而是使用动态的 while 循环来轮询 VirusTotal API,直到扫描完成。 * **适配 SOC 的分诊仪表盘:** 将复杂的嵌套 JSON payload 转换为清晰、结构化的安全报告。 ## 🛠️ 技术栈与工具 * **语言:** Python 3 * **库:** requests(用于 HTTP 通信)、python-dotenv(用于安全注入环境变量) * **IDE:** VS Code * **外部 API:** VirusTotal API (v3) ## 📦 安装与设置 1. **克隆仓库:** git clone [https://github.com/your-username/url-scanner.git](https://github.com/your-username/url-scanner.git) cd url-scanner 2. **安装依赖:** pip install requests python-dotenv 3. **配置密钥:** * 在根目录下创建一个 .env 文件。 * 添加你的 VirusTotal API 密钥: VT_API_KEY=your_actual_virustotal_api_key_here ## 🎮 使用方法 在终端中运行脚本: ``` python3 scanner.py ``` 系统会提示你输入一个 URL。脚本将提交该 URL,轮询扫描完成状态,并输出最终的分析结果: ``` [+] Submitting target 'google.com' to VirusTotal... [+] Scan submitted successfully. [~] Checking scan status... [+] Scan complete! Processing results... ======================================== 🛡️ THREAT INTELLIGENCE REPORT: google.com ======================================== 🔴 Malicious Flags: 0 🟡 Suspicious Flags: 0 🟢 Harmless Engines: 74 ⚪ Undetected: 16 ======================================== ✅ CLEAN: No active threat flags detected. ======================================== ``` ## 🧠 构建过程中的经验总结 * **异步 API 轮询:** 学习了如何编写带有 break 结构的健壮的 while True 轮询循环,以便在不增加系统内存负担或超过 API 速率限制的情况下,安全地查询实时外部扫描引擎。 * **JSON payload 导航:** 掌握了如何解析嵌套字典,并从复杂的多层 API payload 中提取特定的整数。 * **密钥管理:** 通过实现 .env 配置文件将敏感的 API 凭据与公开代码库分离,践行了安全设计(secure-by-design)原则。
标签:Python, VirusTotal API, 威胁情报, 开发者工具, 无后门