MasterX-sec/spectra-ai
GitHub: MasterX-sec/spectra-ai
SpectraAI 是一个用于发现、监控和保护暴露 AI 基础设施的攻击面管理平台。
Stars: 0 | Forks: 0

# SpectraAI
**AI 原生攻击面监控**
用于发现、监控和保护暴露的 AI 基础设施的企业级平台——包括 MCP 服务器、泄露的凭证、向量数据库、智能体工作流和影子 AI 工具。
[](https://github.com/bb1nfosec/spectra-ai/actions/workflows/ci.yml)
[](LICENSE)
[](https://nextjs.org/)
[](https://www.typescriptlang.org/)
[](https://react.dev/)
[](https://tailwindcss.com/)
[](https://www.prisma.io/)
[](https://ui.shadcn.com/)
[](docker-compose.yml)
[演示](#live-demo) · [快速开始](#-quick-start) · [文档](#modules) · [参与贡献](CONTRIBUTING.md) · [更新日志](CHANGELOG.md)
## 主要功能
- **14 个集成模块** — 仪表盘、资产清单、外部扫描器、凭证监控器、威胁检测器、代理监控器、模型安全、合规中心、影子 AI、SIEM、修复、威胁情报源、红队引擎、设置
- **插件式扫描器** — GitHub(泄露的密钥)、Shodan(暴露的服务)、HuggingFace(模型风险)
- **实时监控** — WebSocket 事件流、实时扫描进度、即时警报
- **多租户** — 组织隔离、基于角色的访问控制(管理员/分析师/查看者)、SSO/SAML 就绪
- **合规引擎** — NIST AI RMF、ISO 42001、欧盟 AI 法案、SOC 2,并支持生成 PDF 报告
- **MITRE ATLAS 映射** — 威胁情报映射到 MITRE ATLAS 框架
- **企业级认证** — NextAuth.js JWT、Azure AD、Google Workspace、Okta、SAML 2.0
- **Docker 就绪** — 使用 Docker Compose + Caddy HTTPS 一键部署
## 架构
SpectraAI 基于模块化、微服务就绪的架构构建,支持插件式扫描器、租户隔离和实时事件流。
```
┌──────────────────────────────────────────────────────────┐
│ SpectraAI Platform │
├──────────┬──────────┬──────────┬──────────┬───────────────┤
│ Discovery│ Threat │ Risk & │Integration│ Intelligence │
│ │ Detection│Compliance│& Response │ │
├──────────┼──────────┼──────────┼──────────┼───────────────┤
│ AI Asset │ LLM │Compliance│ SIEM │ Threat Feed │
│Inventory │ Threat │ Hub │Connectors│ │
│ External │ Detector │ Shadow AI│ Remediation│ Red Team │
│ Scanner │ Agent │ │ Engine │ Engine │
│ │ Monitor │ │ │ │
└──────────┴──────────┴──────────┴──────────┴───────────────┘
│ │ │
┌────▼────┐ ┌──────▼──────┐ ┌──────▼──────┐
│ Scanner │ │ WebSocket │ │ Job Queue │
│ Plugins │ │ Events │ │ (BullMQ) │
│GitHub │ │ Service │ │ │
│Shodan │ │ (Port 3004)│ │ Redis │
│HuggingFace│ └─────────────┘ │ Persistent │
└─────────┘ └─────────────┘
```
## 模块
| 模块 | 描述 |
|--------|-------------|
| **管理仪表盘** | 实时 KPI、风险评分、合规概览 |
| **AI 资产清单** | 发现并编目所有 AI 基础设施 |
| **外部扫描器** | 基于 Shodan 的暴露服务检测 |
| **凭证监控器** | GitHub/DockerHub 泄露密钥检测 |
| **LLM 威胁检测器** | 提示词注入、越狱、数据渗出 |
| **代理工作流** | 监控智能体 AI,配备紧急停止开关 |
| **模型安全** | SBOM、pickle 漏洞利用、供应链扫描 |
| **合规中心** | NIST AI RMF、ISO 42001、欧盟 AI 法案、SOC 2 |
| **影子 AI 检测** | 检测未经授权的 AI 工具使用 |
| **SIEM 连接器** | 集成 Splunk、CrowdStrike、Palo Alto |
| **修复引擎** | 自动化的、基于剧本驱动的修复 |
| **威胁情报源** | 映射到 MITRE ATLAS 的威胁情报 |
| **红队引擎** | 模拟 AI 攻击场景 |
| **设置** | API 密钥管理、组织管理、SSO 配置 |
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| **前端** | Next.js 16 (App Router)、React 19、TypeScript、Tailwind CSS 4、shadcn/ui |
| **后端** | Next.js API 路由、Prisma ORM、SQLite(生产环境使用 PostgreSQL) |
| **实时** | Socket.IO WebSocket 事件服务器 |
| **认证** | NextAuth.js JWT + SSO/SAML(Azure AD、Google、Okta) |
| **队列** | 内存作业队列(兼容 BullMQ,生产环境使用 Redis 支持) |
| **状态** | Zustand 状态管理 |
| **扫描器** | 插件化架构 — GitHub、Shodan、HuggingFace |
| **部署** | Docker、Docker Compose、Caddy 反向代理、Vercel 就绪 |
## 现场演示
```
docker compose up -d
```
然后打开 **http://localhost:3000** 并使用以下账号登录:
- **管理员**:`admin@spectra.ai` / `admin123`
- **分析师**:`analyst@spectra.ai` / `analyst123`
- **查看者**:`viewer@spectra.ai` / `viewer123`
## 快速开始
### 前置条件
- Node.js 20+ 或 Bun
### 安装与运行
```
git clone https://github.com/bb1nfosec/spectra-ai.git
cd spectra-ai
bun install
cp .env.example .env
npx prisma db push
npx prisma generate
bun dev
```
打开 [http://localhost:3000](http://localhost:3000) 开始体验。
### Docker 部署
```
docker compose up -d
docker compose logs -f app # View logs
docker compose down # Stop
```
| 服务 | URL |
|---------|-----|
| **应用** | http://localhost:3000 |
| **WebSocket 事件** | ws://localhost:3004 |
| **Redis** | localhost:6379 |
| **Caddy (HTTPS)** | http://localhost / https://localhost |
## 扫描器集成
SpectraAI 使用基于插件的扫描器架构。通过设置 > 集成界面或环境变量配置 API 密钥。
### GitHub 扫描器
扫描代码仓库,查找泄露的 AI API 密钥(OpenAI、Anthropic、HuggingFace、Cohere 等)、安全扫描警报和暴露的凭证。
### Shodan 扫描器
发现暴露在互联网上的 AI/ML 服务,包括向量数据库(Qdrant、ChromaDB)、模型 API(Ollama、LiteLLM)、Jupyter 笔记本和 MCP 服务器。
### HuggingFace 扫描器
枚举模型、空间和数据集的安全风险,包括 pickle 文件漏洞利用、可疑的 Python 导入和敏感的公共数据集。
## 安全架构
- **永不存储原始 API 密钥** — 仅使用 SHA-256 指纹哈希
- **多租户隔离** — 所有数据行级别 org_id 范围限定
- **不可变审计日志** — 完整的操作记录链
- **JWT 认证** — 24 小时会话令牌,支持基于角色的访问控制
- **安全头** — X-Frame-Options、X-Content-Type-Options、HSTS
- **速率限制** — 每个 IP 每分钟 120 个请求
- **SSO/SAML 就绪** — Azure AD、Google Workspace、Okta、SAML 2.0
- **沙盒化扫描器** — 插件隔离,支持重试逻辑
## 项目结构
```
spectra-ai/
├── prisma/
│ └── schema.prisma # 20+ data models
├── src/
│ ├── app/
│ │ ├── api/ # 25+ API routes
│ │ │ ├── auth/ # NextAuth + SSO
│ │ │ ├── scanner/jobs/ # Job queue endpoints
│ │ │ ├── integrations/ # API key management
│ │ │ ├── organizations/ # Multi-tenant
│ │ │ └── reports/ # PDF/HTML compliance reports
│ │ ├── layout.tsx
│ │ └── page.tsx
│ ├── components/
│ │ ├── auth/ # Login, session provider
│ │ ├── dashboard/ # Executive overview
│ │ ├── scanner/ # Attack surface scanner
│ │ ├── credentials/ # Credential monitor
│ │ ├── threats/ # LLM threat detector
│ │ ├── workflows/ # Agent monitor
│ │ ├── models/ # Model security
│ │ ├── compliance/ # Compliance hub
│ │ ├── shadow-ai/ # Shadow AI detection
│ │ ├── siem/ # SIEM connectors
│ │ ├── remediation/ # Remediation engine
│ │ ├── intelligence/ # Threat feed
│ │ ├── redteam/ # Red team engine
│ │ ├── settings/ # Integrations, organization
│ │ ├── layout/ # Sidebar, header, org switcher
│ │ └── ui/ # 50+ shadcn/ui components
│ ├── hooks/ # useAuth, useScanEvents, useMobile
│ ├── lib/
│ │ ├── auth.ts # NextAuth configuration
│ │ ├── db.ts # Prisma client
│ │ ├── multi-tenant.ts # Org guards, RLS
│ │ ├── scanners/ # GitHub, Shodan, HuggingFace plugins
│ │ ├── queue/ # Job queue (BullMQ-compatible)
│ │ ├── integrations.ts # API key management
│ │ ├── sso-config.ts # SSO provider config
│ │ ├── pdf-generator.ts # Compliance report generator
│ │ └── report-templates.ts
│ ├── middleware.ts # Security headers, rate limiting
│ └── store/ # Zustand (navigation, auth, org)
├── mini-services/
│ └── scan-events/ # WebSocket events server
├── .github/
│ ├── workflows/ # CI + Release actions
│ ├── ISSUE_TEMPLATE/ # Bug, feature, security templates
│ └── PULL_REQUEST_TEMPLATE.md
├── Dockerfile
├── docker-compose.yml
├── Caddyfile
└── .env.example
```
## API 端点
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| GET | `/api/dashboard` | 管理仪表盘 KPI |
| GET/POST | `/api/scanner/jobs` | 列出/创建扫描任务 |
| GET/DELETE/POST | `/api/scanner/jobs/[id]` | 任务详情、取消、重试 |
| GET/POST/DELETE | `/api/integrations` | 管理 API 密钥集成 |
| POST | `/api/integrations/test` | 测试集成连接 |
| GET/POST | `/api/organizations` | 列出/创建组织 |
| GET/POST/DELETE/PATCH | `/api/organizations/[id]/members` | 成员管理 |
| GET/PATCH | `/api/organizations/[id]/settings` | 组织设置 |
| POST | `/api/reports/compliance` | 生成合规报告 |
| GET | `/api/reports/download/[id]` | 下载报告 |
| GET | `/api/auth/sso` | 列出启用的 SSO 提供商 |
| GET | `/api/assets` | AI 资产清单 |
| GET | `/api/threats` | LLM 威胁事件 |
| GET | `/api/compliance` | 合规框架数据 |
| GET | `/api/intelligence` | 威胁情报源 |
## 生产环境清单
- [ ] 将 `NEXTAUTH_SECRET` 更改为强随机值
- [ ] 配置真实的扫描器 API 密钥(GitHub、Shodan、HuggingFace)
- [ ] 从 SQLite 切换到 PostgreSQL
- [ ] 启用 SSO 提供商(Azure AD / Google / Okta)
- [ ] 配置 Redis 用于持久化作业队列
- [ ] 通过 Caddy 或您的反向代理设置 HTTPS
- [ ] 启用审计日志轮转
- [ ] 配置数据库备份策略
## 参与贡献
欢迎参与贡献!请查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解指南。
## 许可证
[MIT](LICENSE) © 2026 SpectraAI
标签:AI基础设施安全, AI安全, AI工作流监控, AMSI绕过, Chat Copilot, Docker, GitHub泄露检测, HuggingFace风险, Linux系统监控, MCP服务器, Prisma, React, Shodan扫描, SIEM集成, Syscalls, Tailwind CSS, TypeScript, WebSocket, WSL, 代理工作流, 代理监控, 仪表板, 依赖分析, 凭证监控, 合规中心, 向量数据库, 威胁情报, 威胁检测, 安全插件, 安全防御评估, 开发者工具, 影子AI, 插件扫描器, 攻击面监控, 暴露服务扫描, 模型安全, 测试用例, 漏洞修复, 网络安全, 网络安全培训, 请求拦截, 资产库存, 隐私保护