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
标签:自定义脚本, 逆向工具