mzain2004/Phish-Slayer

GitHub: mzain2004/Phish-Slayer

一个面向SOC团队的企业级威胁情报平台,集成多源威胁数据、AI分析和实时告警功能。

Stars: 0 | Forks: 0

# 🛡️ PHISH-SLAYER ### 新一代威胁情报平台 [![Next.js](https://img.shields.io/badge/Next.js-16-000?style=for-the-badge&logo=next.js)](https://nextjs.org) [![Supabase](https://img.shields.io/badge/Supabase-PostgreSQL-3ECF8E?style=for-the-badge&logo=supabase)](https://supabase.com) [![Tailwind CSS](https://img.shields.io/badge/Tailwind-CSS-06B6D4?style=for-the-badge&logo=tailwindcss)](https://tailwindcss.com) [![License: MIT](https://img.shields.io/badge/License-MIT-0D9488?style=for-the-badge)](LICENSE) **自治蓝队 AI SaaS — 监控、分析、消除** _由 [@mzain2004](https://github.com/mzain2004) (Muhammad Zain) 构建与维护_
## 🔍 概述 **Phish-Slayer** 是一个企业级网络安全指挥中心,提供实时威胁情报、自动化漏洞扫描以及 AI 驱动的事件响应。专为 SOC 分析师和安全团队设计,它结合了专有威胁情报库与外部扫描引擎,可提供即时威胁判定 —— 所有这些都封装在一个高品质的网络主题仪表板中。 ``` ┌─────────────────────────────────────────────────────┐ │ PHISH-SLAYER PIPELINE │ │ │ │ Target ──▶ Whitelist ──▶ Intel Vault ──▶ VirusTotal│ │ Gate 1 Gate 2 Gate 3 │ │ │ │ │ │ │ SAFE CRITICAL GEMINI AI │ │ │ │ │ │ ┌────▼──────────────▼──┐ │ │ │ 🚨 DISCORD ALERT │ │ │ │ 📄 PDF REPORT │ │ │ │ 📊 DASHBOARD │ │ │ └──────────────────────┘ │ └─────────────────────────────────────────────────────┘ ``` ## ⚡ 核心功能 ### 🔐 身份与访问管理 - Supabase SSR 身份验证(支持邮箱/密码 + Google/GitHub OAuth) - 中间件强制保护所有仪表板路由 - Row Level Security (RLS) 策略 —— 仅限认证用户 ### 🏴 专有情报库 - 私有威胁情报数据库,包含自定义指标(IP、域名) - 从事件仪表板进行手动管理封禁 - 在调用任何外部 API 之前进行即时本地查询 ### 🤖 自动化威胁收集器 - 通过 Vercel Cron Jobs(每 12 小时)自动同步 URLhaus 恶意软件源 - 集成 VirusTotal API,支持速率限制和智能缓存 - Google Gemini AI 驱动的威胁分析与风险评分 ### 🚨 Discord 警报 Webhooks - 检测到恶意扫描时发送实时红色嵌入警报 - 同时针对仪表板扫描和 API 发起的扫描触发 - 管理员封禁通知推送到您的安全频道 ### 📄 高管 PDF 报告 - 包含扫描判定结果和 AI 摘要的面向 CEO 的品牌 PDF 报告 - 基于 jsPDF + AutoTable 引擎,采用青色/板岩色调品牌风格 - 从威胁分析仪表板一键下载 ### 📊 上帝视角仪表板 - 实时 KPI 卡片:总扫描数、恶意比例、活跃事件、情报库大小 - Recharts 驱动的威胁类别可视化 - 带有判定徽章和趋势指标的活动流 ### 🔌 公共 REST API (v1) - `GET/POST /api/v1/scan?target=example.com` - 通过 `x-api-key` 请求头进行 API 密钥认证 - 包含完整 3 重检测流水线的 JSON 响应 ### 📥 事件管理 - 完整的 CRUD 事件生命周期,支持解决/删除/封禁操作 - 事件报告的 Excel 导出 (`.xlsx`) - 严重性徽章、风险评分条和负责人追踪 ## 🛠️ 技术栈 | 层级 | 技术 | | --------------- | -------------------------------------- | | **Framework** | Next.js 16 (App Router) | | **Language** | TypeScript | | **Auth & DB** | Supabase (PostgreSQL + SSR Auth + RLS) | | **Styling** | Tailwind CSS v3.4 + shadcn/ui | | **AI Engine** | Google Gemini 2.5 Flash | | **CTI Scanner** | VirusTotal API | | **Alerts** | Discord Webhooks | | **Payments** | Stripe SDK v14 | | **PDF** | jsPDF + jsPDF-AutoTable | | **Charts** | Recharts | | **Excel** | SheetJS (xlsx) | | **Deployment** | Vercel (with Cron Jobs) | ## 🚀 快速开始 ### 前置条件 - Node.js 18+ 和 npm - 一个 [Supabase](https://supabase.com) 项目 - 一个 [VirusTotal](https://virustotal.com) API 密钥 - 一个 [Google AI Studio](https://aistudio.google.com) API 密钥 (Gemini) ### 安装 ``` # 克隆仓库 git clone https://github.com/mzain2004/phish-slayer.git cd phish-slayer # 安装依赖 npm install # 创建环境文件 cp .env.example .env.local ``` ### 环境变量 在根目录下创建一个 `.env.local` 文件,内容如下: ``` # Supabase NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_service_role_key # 扫描与 AI VIRUS_TOTAL_API_KEY=your_virustotal_key GEMINI_API_KEY=your_gemini_key # 告警 DISCORD_WEBHOOK_URL=your_discord_webhook_url # Public API PHISH_SLAYER_API_KEY=your_api_key # Intel Harvester CRON URLHAUS_AUTH_KEY=your_urlhaus_key CRON_SECRET=your_cron_secret # Stripe(可选) STRIPE_SECRET_KEY=your_stripe_secret NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable STRIPE_WEBHOOK_SECRET=your_stripe_webhook_secret # Site NEXT_PUBLIC_SITE_URL=http://localhost:3000 ``` ### 本地运行 ``` npm run dev ``` 在浏览器中打开 [http://localhost:3000](http://localhost:3000)。 ## 📂 项目结构 ``` phish-slayer/ ├── app/ │ ├── auth/ # Login, signup, OAuth callback │ ├── api/ │ │ ├── v1/scan/ # Public REST API │ │ ├── intel/sync/ # URLhaus CRON harvester │ │ └── stripe/webhook/ # Stripe payment webhooks │ └── dashboard/ │ ├── page.tsx # God's Eye Command Center │ ├── incidents/ # Incident management + Excel export │ ├── scans/ # Scan launcher & history │ ├── threats/ # Threat deep-dive + PDF export │ ├── intel/ # Intel Vault + API docs │ └── settings/ # User/org configuration ├── lib/ │ ├── ai/analyzer.ts # Gemini AI threat analysis │ ├── scanners/ # VirusTotal integration │ ├── supabase/ # Auth, actions, middleware │ └── agent/ # Endpoint monitoring agent ├── middleware.ts # Route protection guard └── vercel.json # CRON job configuration ``` ## 🔒 安全性 - **零信任认证:** 所有仪表板路由均受 Supabase SSR 中间件保护 - **强制 RLS:** 数据库操作仅限于认证用户 - **API 密钥认证:** 公共 API 通过 `x-api-key` 请求头验证进行保护 - **CRON 安全性:** 情报收集器通过 Bearer Token 验证进行保护 - **输入验证:** 所有 Server Action 负载均使用 Zod schemas 进行验证 - **Git 中无密钥:** 全面的 `.gitignore` 覆盖所有环境文件 ## 📜 许可证 本项目基于 **MIT 许可证** 授权 —— 详情请参阅 [LICENSE](LICENSE) 文件。
**由 [mzain2004](https://github.com/mzain2004) (Muhammad Zain) 用 🛡️ 构建** _一次扫描一份平安,守护互联网安全。_
标签:Ask搜索, DAST, Discord-机器人, DNS 反向解析, IAM, IP 地址批量处理, MIT-许可, PDF-报告, PostgreSQL, SaaS, Supabase, Tailwind-CSS, VirusTotal, 人工智能, 企业级安全, 反钓鱼, 威胁情报, 安全仪表盘, 安全运营中心, 开发者工具, 开源安全工具, 恶意软件分析, 情报库, 测试用例, 用户模式Hook绕过, 网络安全, 网络映射, 网络测绘, 自动化攻击, 自动化防御, 逆向工程平台, 隐私保护