sunilkumardo/threatlens-ai

GitHub: sunilkumardo/threatlens-ai

ThreatLens AI 是一个集成 AI 风险分析的 OWASP 全栈 Web 漏洞扫描器,可生成可视化报告并支持 PDF 导出。

Stars: 1 | Forks: 0

# ThreatLens AI 🔐 ![CI/CD 流水线](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/7cf603ad97202255.svg) ![安全](https://img.shields.io/badge/Security-CodeQL%20Enabled-green) ![Python](https://img.shields.io/badge/Python-3.12-blue) ![Node](https://img.shields.io/badge/Node.js-22-green) ![许可证](https://img.shields.io/badge/License-MIT-yellow) ## 🚀 ThreatLens AI 是什么? ThreatLens AI 是一个全栈安全工具,可扫描任意公开网站是否存在 OWASP 漏洞,并生成由 AI 驱动的风险报告——类似于 Qualys、Tenable 和 Burp Suite 等企业级工具,但完全使用免费工具构建。 ## ✨ 功能特性 - 🔍 **OWASP 漏洞扫描器** — 检查安全标头、HTTPS、Cookie、开放重定向、服务器信息泄露 - 🤖 **Gemini AI 分析** — 为每个漏洞生成包含影响+修复方案的通俗风险报告 - 📊 **实时仪表盘** — 严重程度图表、扫描历史、带颜色标注的发现结果表格 - 📄 **PDF 报告导出** — 下载并分享专业的安全报告 - 🔐 **JWT 认证** — 安全的登录/注册,使用 bcrypt 密码哈希 - 🛡️ **速率限制 + Helmet** — 生产级 API 安全 - ⚙️ **CI/CD 流水线** — 每次推送自动测试、安全审计、构建验证 - 🔎 **GitHub 高级安全** — 启用了 CodeQL 扫描、Dependabot、密钥扫描 ## 🏗️ 架构 | 层 | 组件 | 详情 | |------|---------|--------| | 🖥️ 前端 | React.js | 仪表盘、扫描器 UI、图表、PDF 导出 | | ⚙️ 后端 | Node.js + Express | REST API、JWT 认证、速率限制、Helmet | | 🐍 扫描器 | Python 3.12 | OWASP 检查、标头分析、重定向检测 | | 🤖 AI 引擎 | Google Gemini API | 风险分析、执行摘要、修复建议 | | 🔄 CI/CD | GitHub Actions | 每次推送自动测试、构建、安全审计 | | 🔐 安全 | GitHub GHAS | CodeQL、Dependabot、密钥扫描、分支保护 | **流程:** 用户输入 URL → React 发送到 Node API → Python 扫描目标 → Gemini AI 分析 → 仪表盘显示报告 + PDF ## 🛠️ 技术栈 | 层 | 技术 | |------|---------| | 前端 | React.js、Recharts、jsPDF | | 后端 | Node.js、Express.js、JWT、Helmet | | 扫描器 | Python 3.12、Requests | | AI | Google Gemini API(免费) | | CI/CD | GitHub Actions | | 安全 | CodeQL、Dependabot、密钥扫描 | ## 🔐 已实现的安全功能 - ✅ JWT 认证(Token 有效期 24 小时) - ✅ bcrypt 密码哈希(盐值轮数:10) - ✅ 所有响应使用 Helmet.js 安全标头 - ✅ 速率限制(每 IP 每 15 分钟 100 次请求) - ✅ 所有端点输入验证 - ✅ 每次 PR 进行 CodeQL 扫描(已修复 URL 清理问题) - ✅ Dependabot 依赖漏洞告警 - ✅ GitHub 密钥扫描 + 推送保护 - ✅ main 分支保护规则 ## ⚙️ 本地设置与运行 ### 前置条件 - Node.js 18+ - Python 3.12+ - Gemini API 密钥(免费获取: [aistudio.google.com](https://aistudio.google.com)) ### 后端 ``` cd backend npm install # 创建 .env 文件: # PORT=5000 # JWT_SECRET=your_secret # GEMINI_API_KEY=your_gemini_key npm run dev ``` ### 前端 ``` cd frontend npm install npm start ``` ### 扫描器(独立测试) ``` cd backend python scanner.py https://example.com ``` ## 📸 截图 ## 🧪 执行的 OWASP 检查 | 检查项 | 严重程度 | |--------|-----------| | HTTPS 已启用 | 高 | | X-Frame-Options 标头 | 高 | | Content-Security-Policy | 高 | | Strict-Transport-Security | 高 | | X-Content-Type-Options | 中 | | X-XSS-Protection | 中 | | Referrer-Policy | 低 | | 服务器版本信息泄露 | 低 | | 开放重定向 | 高 | | Cookie 安全标志 | 中 | ## 📄 示例 AI 报告输出 ``` { "risk_level": "HIGH", "executive_summary": "The website has several critical security misconfigurations...", "top_risks": [ { "risk": "Missing Content-Security-Policy", "impact": "Vulnerable to XSS attacks", "fix": "Add Content-Security-Policy header" } ], "quick_wins": ["Enable HTTPS", "Add X-Frame-Options"], "overall_score": 35 } ``` ## 👨‍💻 作者 - GitHub: [@sunilkumardo](https://github.com/sunilkumardo) - LinkedIn: [Sunil Kumar D O](https://linkedin.com/in/sunilkumardo) - 作品集: [sunilkumardo.vercel.app](https://sunilkumardo.vercel.app) - 邮箱: sunilkumardo2004@gmail.com ## 📜 许可证 MIT 许可证 —— 可自由使用和修改。
标签:AI安全, Chat Copilot, Cookie安全, Gemini AI, GitHub Actions, GNU通用公共许可证, HTTPS检查, JWT认证, MITM代理, Node.js, PDF导出, Python, React仪表盘, 企业安全工具, 免费工具, 安全头检测, 开放重定向, 无后门, 服务器信息泄露, 网络安全, 自动化安全扫描, 自动笔记, 自定义脚本, 逆向工具, 隐私保护, 风险报告