manahylkhan/AI-Security-Policy-Chatbot
GitHub: manahylkhan/AI-Security-Policy-Chatbot
基于 RAG 与 Claude AI 的企业安全策略智能问答平台,支持策略文档语义检索、合规差距分析与审计日志记录。
Stars: 0 | Forks: 0
# PolicyIQ — AI 安全策略聊天机器人
一个基于 RAG 的智能聊天机器人,允许员工用通俗的英语询问有关公司安全策略的问题,并获得准确、带引用的回答 — 由 Claude AI 提供支持。
## 功能
- **策略聊天** — 提出任何问题,获取引用自实际策略文档的回答
- **管理面板** — 拖拽上传 PDF/DOCX 策略
- **合规仪表板** — 显示查询趋势、回答率和热门策略的图表
- **差距分析** — 自动检测与 ISO 27001 / NIST / GDPR 相比的缺失控制措施
- **审计日志** — 每次问答都会记录到 PostgreSQL 中,作为合规证据
- **AI 策略生成器** — 使用 Claude 自动起草缺失的策略
## 技术栈
| 层级 | 技术 |
|-------|-----------|
| 前端 | React 18 + TypeScript + Tailwind CSS + Vite |
| 后端 | Python FastAPI + Uvicorn |
| AI 模型 | Anthropic Claude (claude-sonnet-4-6) |
| 向量数据库 | ChromaDB (本地,持久化) |
| Embeddings | sentence-transformers all-MiniLM-L6-v2 (本地,免费) |
| 数据库 | PostgreSQL + SQLAlchemy |
| 解析 | PyMuPDF (PDF) + python-docx (Word) |
## 架构
```
React Frontend → FastAPI Backend → ChromaDB (vector search) → Claude API
→ PostgreSQL (audit logs)
```
**RAG 流水线:**
1. 管理员上传 PDF/DOCX → 解析为 800 字符的块 → 嵌入为 384 维向量 → 存储在 ChromaDB 中
2. 员工提问 → 对问题进行向量化 → 检索 Top-5 相似块 → 作为上下文发送给 Claude → 返回带引用的回答
## 快速开始
### 前置条件
- Python 3.11+, Node.js 18+, PostgreSQL 14+
- Anthropic API 密钥(可在 console.anthropic.com 免费获取)
### 后端
```
cd backend
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements.txt
cp ../.env.example .env # Add your ANTHROPIC_API_KEY
uvicorn app.main:app --reload --port 8000
```
### 前端
```
cd frontend
npm install
npm run dev
```
打开 **http://localhost:3000**
## 截图
## 项目结构
```
├── backend/app/
│ ├── api/ # FastAPI routes (chat, policies, logs, dashboard, gap-analysis)
│ ├── services/ # document_parser, vector_store, rag_pipeline
│ ├── models/ # SQLAlchemy DB models + Pydantic schemas
│ └── core/ # config, database connection
├── frontend/src/
│ ├── pages/ # ChatPage, AdminPage, DashboardPage, GapAnalysisPage, LogsPage
│ └── components/ # ChatMessage, ChatInput, PolicyUpload, Badge, Spinner
└── database/ # PostgreSQL schema
```
## 环境变量
```
ANTHROPIC_API_KEY=your_key_here
DATABASE_URL=postgresql://postgres:password@localhost:5432/security_chatbot
```
## API 端点
| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| POST | `/api/policies/upload` | 上传 PDF/DOCX 策略 |
| POST | `/api/chat/` | 提问(RAG 流水线) |
| GET | `/api/dashboard/` | 合规指标 |
| GET | `/api/logs/` | 问答审计日志 |
| POST | `/api/gap-analysis/` | ISO27001/NIST/GDPR 差距分析 |
| GET | `/health` | 系统健康检查 |
基于 FastAPI · React · ChromaDB · Anthropic Claude · PostgreSQL 构建
标签:AI助手, AV绕过, ChromaDB, Claude, CVE检测, FastAPI, RAG, React, Syscalls, 全栈应用, 测试用例, 自动化攻击, 逆向工具