mzain2004/Phish-Slayer
GitHub: mzain2004/Phish-Slayer
一个面向SOC团队的企业级威胁情报平台,集成多源威胁数据、AI分析和实时告警功能。
Stars: 0 | Forks: 0
# 🛡️ PHISH-SLAYER
### 新一代威胁情报平台
[](https://nextjs.org)
[](https://supabase.com)
[](https://tailwindcss.com)
[](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绕过, 网络安全, 网络映射, 网络测绘, 自动化攻击, 自动化防御, 逆向工程平台, 隐私保护