Aayush-Poonia/AI-Threat-Intelligence

GitHub: Aayush-Poonia/AI-Threat-Intelligence

一款基于 React 和大模型构建的 AI 驱动型网络安全 SaaS 平台,提供假新闻检测、钓鱼 URL 分析和密码强度测试等综合安全分析功能。

Stars: 0 | Forks: 0

# AI 驱动网络安全套件 (SaaS) 一个综合性的、AI 驱动的网络安全平台,作为现代 SaaS Web 应用程序构建。它结合了**假新闻检测**、**钓鱼 URL 分析**、**密码强度测试**、**AI 聊天助手**、**PDF 报告生成**和完整的**扫描历史记录**——所有这些都由 Firebase Authentication 和 Firestore 提供支持,以实现持久化数据存储。 ## 🚀 功能特性 ### 🔐 身份验证 (Firebase) - **邮箱/密码**注册和登录 - **Google OAuth**一键登录 - 受保护的路由——所有工具都需要身份验证 - 通过 Firebase Auth 进行安全的会话管理 ### 📊 威胁仪表板 (`/dashboard`) - 所有安全分析的实时概览 - **KPI 卡片**:总扫描次数、已分析新闻、已检查 URL、发现威胁 - **饼图**:各工具类型的扫描分布 - **柱状图**:威胁与安全结果的对比 - 包含最新扫描的**最近活动源** ### 📰 新闻分析器 (`/news`) - 粘贴任何文章、标题或社交帖子 - AI 驱动的结论:`likely_real` / `uncertain` / `likely_fake` - 置信度评分、情感和偏见检测 - 危险信号和可信度指标 - 每项声明的可验证性评估 - 由 Groq 的 `llama-3.3-70b-versatile` 提供支持,具有结构化的工具调用 ### 🌐 PhishGuard (`/phishing`) - 输入任何 URL 以进行全面的钓鱼分析 - 基于启发式规则的评分 (HTTPS、IP 主机、punycode、品牌仿冒等) - 通过 WhoisXMLAPI 进行 WHOIS 丰富 - AI 结论:`safe` / `suspicious` / `phishing` 及风险评分 - 详细的分析与可折叠面板 ### 🔑 密码实验室 (`/password`) - 实时强度评分(熵、字符类、模式) - 针对多种攻击场景的破解时间估算 - 具有可自定义设置的强密码生成器 - 100% 客户端运行——密码永远不会离开浏览器 ### 🤖 AI 聊天助手 (`/chat`) - 基于 **Groq** 的网络安全问答(与新闻分析器使用相同的 Edge Function 技术栈) - **工具集成**:说“分析新闻:[文本]”或粘贴 `https://...` 链接即可从聊天中运行新闻 / PhishGuard 分析 - Markdown 渲染的响应 - 聊天记录持久化存储在 Firestore 中 - 当 Edge Function 不可用时提供离线式备用回答 ### 📄 PDF 报告 (`/reports`) - 生成全面的 PDF 安全报告 - 带有威胁统计信息的汇总表 - 新闻和钓鱼分析的详细说明 - 包含页眉、表格和页码的专业排版 - 一键下载 ### 📜 扫描历史 (`/history`) - 所有过去分析的完整日志 - 按扫描类型(新闻、钓鱼、密码)过滤 - 查看结论、置信度和风险评分 - 删除单次扫描 - 所有数据持久化存储在 Firestore 中 ## 🏗️ 技术栈 | 层级 | 技术 | |---|---| | Frontend | React 19 + Vite 7 | | Routing | react-router-dom v7 | | Styling | Tailwind CSS v4 + shadcn/ui + Radix | | State / Data | TanStack Query | | Charts | Recharts | | PDF Generation | jsPDF + jspdf-autotable | | Markdown | react-markdown | | Auth | Firebase Authentication | | Database | Cloud Firestore | | Backend Functions | Supabase Edge Functions (Deno) | | AI | Groq API (llama-3.3-70b-versatile) | | WHOIS | WhoisXMLAPI | ## 📁 项目结构 ``` src/ ├── App.tsx # Router + auth-protected routes ├── main.tsx # Entry point with AuthProvider ├── contexts/ │ └── AuthContext.tsx # Firebase auth context ├── components/ │ ├── AppShell.tsx # Sidebar layout for authenticated pages │ └── ui/ # shadcn components ├── lib/ │ ├── firebase.ts # Firebase config & initialization │ ├── firestore.ts # Firestore CRUD operations │ ├── api.ts # Edge function invocation helper │ └── utils.ts # Utility functions ├── pages/ │ ├── Login.tsx # Auth page (sign in / sign up / Google) │ ├── Dashboard.tsx # Threat dashboard with charts │ ├── Home.tsx # News analyzer │ ├── Phishing.tsx # PhishGuard URL scanner │ ├── Password.tsx # Password strength lab │ ├── Chat.tsx # AI chat assistant │ ├── Reports.tsx # PDF report generator │ └── HistoryPage.tsx # Scan history viewer └── integrations/supabase/ # Auto-generated Supabase client supabase/functions/ ├── analyze-news/index.ts # Groq: fake-news analysis OR AI assistant chat (`messages` in body) ├── analyze-phishing/index.ts # Heuristics + WHOIS + Groq phishing detection └── analyze-email/index.ts # Groq: phishing-email analysis (sender/subject/body + URL extraction) ``` ## 🔥 Firebase 设置 ### Firestore 集合 | 集合 | 字段 | |---|---| | `scans` | `userId`, `type` (news/phishing/password), `input`, `source`, `result`, `createdAt` | | `chats` | `userId`, `role` (user/assistant), `content`, `createdAt` | ### Firestore 安全规则 将这些规则复制到您的 Firebase Console → Firestore → 规则中: ``` rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { // Users can only read/write their own scans match /scans/{scanId} { allow read, write: if request.auth != null && request.auth.uid == resource.data.userId; allow create: if request.auth != null && request.auth.uid == request.resource.data.userId; } // Users can only read/write their own chat messages match /chats/{chatId} { allow read, write: if request.auth != null && request.auth.uid == resource.data.userId; allow create: if request.auth != null && request.auth.uid == request.resource.data.userId; } // Deny all other access match /{document=**} { allow read, write: if false; } } } ``` ### Firebase 身份验证设置 1. 转到 [Firebase Console](https://console.firebase.google.com) 2. 选择您的项目:`cybersecurity-saas` 3. 导航到 **Authentication → Sign-in method** 4. 启用 **Email/Password** 5. 启用 **Google**(选择一个支持邮箱) ## ☁️ 后端:Lovable Cloud **Supabase**(Edge Functions + anon 客户端环境)和**服务器端密钥**通过 **Lovable Cloud** 进行管理,而不仅仅来自此代码库的 `.env` 文件。 这里**没有单独的“AI 助手”Edge Function**。应用使用**一个**函数 —— **`analyze-news`** —— 来同时处理: | 应用界面 | 请求体 | 相同的 Groq 密钥 | |---|---|---| | 新闻分析器 (Home) | `{ content, source? }` | `GROQ_API_KEY` | | AI 助手 (Chat) | `{ messages: [...] }` | 相同 | `supabase/functions/analyze-news/index.ts` 中的处理程序根据请求体进行分支。客户端在 `src/lib/api.ts` 中将两者封装为 `analyzeNewsArticle` / `analyzeNewsAssistantChat`,因此很明显它们属于同一个后端。 **Lovable** 必须部署此代码库中 `supabase/functions/` 目录下的所有内容(例如,当您推送更改时)。如果聊天功能运行不正常但新闻功能正常,通常是因为 Lovable 仍在运行**较旧的** `analyze-news` 打包文件,其中不包含 `{ messages }` 分支 —— 请在那里更新函数;您并不需要接入第二个 AI 服务。 Lovable 中的**密钥** (`Deno.env.get`): - `GROQ_API_KEY` —— 用于新闻、助手聊天以及(通过其他函数)钓鱼 Groq 调用 - `WHOISXML_API_KEY` —— 可选,用于钓鱼信息丰富 ## 🛠️ 本地开发 ``` # 安装依赖 bun install # 启动开发服务器 bun run dev ``` 应用将在 `http://localhost:5173` 上可用。 ### 环境变量 Lovable 通常会使用 Supabase **URL + anon(公开)密钥**为本地和托管构建**自动管理** `.env`。这些密钥在浏览器中是安全的;它们**无法**部署 Edge Functions 或读取 Groq 密钥。 Firebase 客户端配置位于 `src/lib/firebase.ts` 中。 ### 可选:从您的机器部署 Edge Functions 如果您还使用带有**个人访问令牌**(而非 anon 密钥)的 Supabase CLI,您可以运行: ``` npm run supabase:deploy ``` 这将运行 `scripts/supabase-deploy.ps1` (Windows),部署 `analyze-news` 和 `analyze-phishing`,并且如果您进行了设置,可以从 `.env` 中推送 `GROQ_API_KEY` / `WHOISXML_API_KEY`。**Lovable 用户**可以忽略此步骤,直接依赖 Lovable Cloud。 ## 📦 部署 ### Vercel 1. 推送至 GitHub 2. 在 Vercel 中导入 → framework:**Vite** 3. 构建命令:`bun run build` 4. 输出目录:`dist` 5. SPA 路由由 `vercel.json` 处理 ### Firebase 设置检查表 - [ ] 在 Firebase Console 中启用 Email/Password 身份验证 - [ ] 在 Firebase Console 中启用 Google Sign-In - [ ] 部署 Firestore 安全规则(见上文) - [ ] 创建 Firestore 索引(由 Firebase 自动提示) ## 🔒 安全说明 - 所有 API 密钥(Groq、WhoisXML)均作为服务器端密钥存储——永远不会暴露给浏览器 - Firebase Auth 安全地处理会话管理 - Firestore 规则强制执行按用户的数据隔离 - 密码实验室完全在客户端运行——密码永远不会离开浏览器 - Edge functions 强制执行 CORS 和请求验证 ## 📊 数据流 ``` User → Firebase Auth → Protected Routes → Tools (News/Phishing/Password/Chat) ↓ Edge Functions (Groq AI + WHOIS) ↓ Results → Firestore (persisted) ↓ Dashboard / History / PDF Reports ``` ## 📝 许可证 MIT
标签:AI聊天助手, DLL 劫持, Edge Functions, Firebase, Firestore, Google OAuth, Llama 3.3, PDF报告, React, SaaS, Syscalls, TCP/IP协议栈, WHOIS查询, 人工智能, 假新闻检测, 偏见检测, 协议探测, 启发式分析, 大语言模型, 威胁仪表盘, 威胁分析, 密码强度测试, 密码生成器, 情感分析, 扫描历史, 搜索语句(dork), 用户模式Hook绕过, 网络安全, 网络安全平台, 自动化侦查工具, 自动化攻击, 钓鱼网站检测, 隐私保护