dhanush222004/ai-safety-evaluation-dashboard
GitHub: dhanush222004/ai-safety-evaluation-dashboard
面向LLM的全栈安全评估与自动化红队测试平台,提供多维度安全审计、对抗性测试和合规报告生成能力。
Stars: 1 | Forks: 0
# AI 安全评估与自动化红队测试平台 (V2)
一个最先进的 **AI 安全评估与自动化红队测试平台**,采用 **React + Vite 前端**,连接到带有 **SQLite 数据库** 的 **FastAPI 后端**。该平台运行系统性的安全测试、自动化对抗攻击,以及对大型语言模型 (LLM) 输出进行的动态审计,涵盖毒性、人口统计偏见、事实差距和策略护栏违规等方面。
## 🌟 核心功能
* **多模式安全沙箱**:
1. **手动沙箱**:执行单个 prompt 安全扫描,提供 pipeline 日志和可解释的标记句子证据。
2. **自动化红队**:使用跨 8 个不同攻击向量(DAN、prompt injection、角色扮演绕过、编码绕过、PII 泄露、system prompt 提取等)的对抗性 prompt 自动攻击模型,以评估失败率。
3. **数据集批量测试**:拖放或加载 JSON prompt 数据集,以评估模型在大型基准测试上的安全稳健性。
* **独立的评估器架构**:安全分数由独立的、专门的评估器模块进行评估:
* *Toxicity Classifier*(毒性分类器)(侮辱、脏话、威胁)
* *Bias Evaluator*(偏见评估器)(种族、性别、年龄、社会经济职业刻板印象)
* *Factuality/Hallucination Classifier*(事实性/幻觉分类器)(事实差异、逻辑漏洞)
* *Policy Guard*(策略护栏)(受 Meta 启发的安全护栏 S1-S11)
* *Answer Relevance*(答案相关性)(与 prompt 上下文的契合度)
* *Faithfulness*(忠实度)(上下文基础)
* **动态排行榜**:基于直接从 SQLite 数据库编译的实际安全结果,对目标模型(OpenAI、Google Gemini、Anthropic 和本地 Ollama)进行动态排名。
* **PDF 审计报告**:动态、专业的 PDF 安全合规报告,包含评估元数据、prompt/补全内容、指标明细表、可解释的证据和修复计划。
* **故障安全离线模式**:内置 regex/keyword 启发式验证回退机制,可在没有活动模型凭证的情况下无缝运行评估和红队测试。
## 📂 项目结构
```
├── frontend/ # React + Vite application
│ ├── src/
│ │ ├── App.jsx # Upgraded V2 tabbed Dashboard & API client
│ │ ├── App.test.jsx # Vitest testing suite
│ │ ├── setupTests.js # Jest-DOM configurations
│ │ └── data/
│ │ └── mockData.js # Fallback templates & baseline statistics
│ ├── index.html
│ ├── vite.config.js # Vite config with backend API proxy (/api)
│ └── package.json
│
├── backend/ # FastAPI application
│ ├── main.py # API entry point & pre-seed logic
│ ├── database/ # SQLite configuration & SQLAlchemy models
│ │ ├── connection.py
│ │ └── models.py
│ ├── providers/ # Unified model connectors (Gemini, OpenAI, Ollama)
│ │ ├── base.py
│ │ ├── gemini.py
│ │ ├── openai.py
│ │ └── ollama.py
│ ├── evaluators/ # Independent safety classifiers
│ │ ├── toxicity.py
│ │ ├── bias.py
│ │ ├── hallucination.py
│ │ ├── policy_guard.py
│ │ ├── relevance.py
│ │ └── faithfulness.py
│ ├── redteam/ # Adversarial attack loop manager
│ │ └── attack_manager.py
│ ├── scoring/
│ │ └── risk_engine.py # Safety risk & PASS/WARN/FAIL compilation
│ ├── routers/ # API endpoints
│ │ ├── evaluation.py
│ │ ├── models.py
│ │ ├── redteam.py
│ │ └── reports.py
│ └── reports/
│ └── pdf_generator.py # Premium ReportLab PDF Generator
│
├── datasets/ # JSON datasets for red-team templates
│ └── redteam_templates.json
└── README.md # Platform documentation
```
## 🛠️ 安装与设置
### 前置条件
* Node.js (v18+)
* Python (3.10+)
### 1. 后端设置与启动
导航到根目录并初始化后端:
```
# 设置 virtual environment
python -m venv backend/.venv
# 激活 virtual environment (Windows PowerShell)
backend\.venv\Scripts\Activate.ps1
# 安装 requirements
backend\.venv\Scripts\pip.exe install -r backend/requirements.txt
# 启动 backend server
backend\.venv\Scripts\uvicorn.exe backend.main:app --host 127.0.0.1 --port 8000
```
*数据库文件 `safety_eval.db` 会在启动时自动创建并预填充数据。*
### 2. 配置凭证
在根目录下创建 `.env` 文件以激活实时评估(否则,平台将在启发式离线模式下运行):
```
GEMINI_API_KEY=YOUR_GEMINI_API_KEY
OPENAI_API_KEY=YOUR_OPENAI_API_KEY
```
### 3. 前端设置与启动
导航到 `frontend/` 目录并安装依赖:
```
cd frontend
npm install
# 启动 Vite Dev Server
npm run dev
```
## 🚀 执行与测试命令
* **运行 Vitest 测试套件**:
node "frontend/node_modules/vitest/vitest.mjs" run
* **编译生产环境包**:
node "frontend/node_modules/vite/bin/vite.js" build
* **本地预览生产环境**:
node "frontend/node_modules/vite/bin/vite.js" preview
标签:自定义脚本, 逆向工具