Cyb3rgh/phishing-url-analyzer

GitHub: Cyb3rgh/phishing-url-analyzer

该项目是一款钓鱼网址分析器,通过结合本地静态结构分析与 VirusTotal 威胁情报,在无需访问目标地址的情况下对可疑 URL 进行安全风险评估。

Stars: 0 | Forks: 0

# Phishing URL 分析器 一款防御性网络安全应用,无需打开即可检查可疑 URL。它结合了本地结构分析与现有的 VirusTotal 威胁情报报告,从而生成清晰的风险评估。 由 **Fayyad Dahweesh** 开发,作为一个实用的网络安全作品集项目。 ## 功能 - 无需访问目标即可进行静态 URL 检查 - 自动进行 URL 规范化和域名提取 - 从 0 到 100 的风险评分 - 低风险、可疑和高风险分类 - HTTPS 验证 - IP 地址检测 - 可疑关键词检测 - URL 缩短服务检测 - Punycode 和异常子域名检测 - 实时 VirusTotal 信誉查询 - 安全引擎判定统计 - 社区信誉和 URL 分类 - 响应式 SOC 风格界面 - 服务端 API 密钥保护 ## 技术栈 - Next.js - React - TypeScript - Tailwind CSS - VirusTotal API v3 - ESLint ## 工作原理 1. 用户提交一个 URL。 2. 应用程序对输入进行规范化和验证。 3. 本地引擎检查结构性的钓鱼指标。 4. 服务端 API 路由创建 VirusTotal URL 标识符。 5. 该路由获取现有的 VirusTotal 报告。 6. 将本地和外部情报结合计算出风险评分。 7. 界面显示分析结果和引擎统计信息。 应用程序不会导航至提交的目标地址。 ## 风险指标 本地引擎会评估以下指标: - 缺少 HTTPS - 使用原始 IP 地址而不是域名 - 可能会掩盖目标地址的 `@` 符号 - Punycode 域名 - URL 长度过长 - 诸如 `login`、`verify` 和 `password` 等可疑词汇 - 子域名过多 - 已知的 URL 缩短服务 当安全引擎将 URL 判定为可疑或恶意时,VirusTotal 的检测结果会提高最终的风险评分。 ## 本地设置 ### 环境要求 - Node.js 20.9 或更高版本 - npm - 免费的 VirusTotal 社区版 API 密钥 ### 安装说明 克隆代码库并进入项目目录: ``` git clone https://github.com/Cyb3rgh/phishing-url-analyzer.git cd phishing-url-analyzer ``` 安装依赖: ``` npm install ``` 在项目根目录下创建一个 `.env.local` 文件: ``` VIRUSTOTAL_API_KEY=your_private_api_key ``` 切勿在客户端代码中暴露 API 密钥,也不要提交 `.env.local`。 启动开发服务器: ``` npm run dev ``` 打开: ``` http://localhost:3000 ``` ## 测试 安全的文档测试: ``` example.com ``` 预期结果:低风险,且没有恶意的 VirusTotal 检测结果。 受控的钓鱼警告测试: ``` https://testsafebrowsing.appspot.com/s/phishing.html ``` 这是一个官方的 Safe Browsing 测试 URL。请将其粘贴到分析器中;不要直接在浏览器中访问。 质量检查: ``` npm run lint npm run build ``` ## 安全与隐私 - VirusTotal API 密钥存储在仅限服务端访问的环境变量中。 - 该密钥永远不会返回给浏览器。 - `.env.local` 已被排除在 Git 之外。 - 仅接受 HTTP 和 HTTPS URL。 - 会拒绝包含嵌入式凭证的 URL。 - 限制输入长度。 - 应用程序仅获取现有的 VirusTotal 报告,不会自动提交新 URL 进行扫描。 请勿使用公共威胁情报服务分析私密的密码重置链接、公司内部 URL、身份验证 token 或机密地址。 ## 局限性 - 低风险结果并不能保证 URL 是安全的。 - 未检测出威胁的结果意味着引擎尚未得出结论,并不代表该 URL 无害。 - 受限于 VirusTotal 社区 API 的配额。 - 以前未见过的 URL 可能没有现成的 VirusTotal 报告。 - 静态指标可能会产生误报或漏报。 ## 免责声明 本项目旨在用于防御性安全教育和作品集展示。其结果应作为专业调查和安全控制的辅助参考,而非替代品。 ## 作者 **Fayyad Dahweesh** 技术支持专家 | IT 支持专业人员 | 有志成为网络安全分析师
标签:React, Syscalls, TypeScript, URL分析, 威胁情报, 安全插件, 开发者工具, 网络钓鱼检测, 自动化攻击