Felix-OA/ai-security-workbench
GitHub: Felix-OA/ai-security-workbench
一款用于授权LLM应用红队测试的结构化评估与AI风险快照报告生成工具,涵盖提示注入、RAG攻击和越狱安全回归等测试场景的记录与评分。
Stars: 1 | Forks: 1
# AI 安全工作台
一款用于记录授权 LLM 红队测试、对发现进行评分并生成 AI 风险快照报告的本地 Web 应用。
## 概述
**AI 安全工作台** 是一个用于结构化 AI 安全评估的防御性项目组合项目。模块 1,**红队测试库 + 报告生成器**,帮助用户管理可复用的 LLM 安全测试,将其附加到评估项目中,记录手动测试结果,评估风险,并导出专业的 Markdown 报告。模块 2,**Prompt Injection 测试场**,添加了一个受控的模拟器,用于记录授权的 Prompt Injection 场景并将发现保存到项目报告中。模块 3,**RAG 攻击实验室**,添加了一个检索风险工作区,用于记录 RAG 系统中可信和不可信上下文的行为。模块 4,**越狱与安全回归实验室**,添加了活动式的安全边界测试、拒绝一致性跟踪以及重新测试记录。
## 适用人群
- 正在构建 AI 安全和 AI 红队项目作品集的安全学习者。
- 在发布前测试自己 LLM 应用的 AI 构建者。
- 准备演示 AI 风险快照的顾问。
- 记录授权 AI 安全审查的内部团队。
## 核心功能
- 可复用的红队测试库,包含类别、严重程度、OWASP 风格映射、标签和评估准则字段。
- 评估项目包含范围、目标、系统类型、状态、测试员和授权确认。
- 测试结果工作流涵盖 Prompt/输入、观察到的响应、状态、可能性、影响、证据、建议和重新测试状态。
- Prompt Injection 测试场包含场景模板、系统 Prompt/预期行为设置、用户 Prompt 输入、模拟检索上下文、手动观察响应捕获、实时风险预览以及保存到项目的流程。
- RAG 攻击实验室包含场景构建器、检索上下文模拟器、信任级别和风险标签、手动观察响应捕获、实时风险预览以及保存到项目的流程。
- 越狱与安全回归实验室包含安全活动构建器、可复用模板、拒绝一致性评分、重新测试工作流、实时风险预览以及保存到项目的流程。
- 项目和作品集仪表板提供风险评分、状态分布、严重程度分布、类别细分和主要发现。
- AI 风险快照报告生成器支持浏览器渲染预览、复制 Markdown、下载 Markdown 和打印。
- 预置的演示数据包含 15 个 AI 安全测试用例、8 个 Prompt Injection 场景、6 个 RAG 实验室场景、8 个安全实验室模板、1 个安全实验室活动以及 1 个示例客户支持助手评估。
OWASP 风格的映射使用 2025 GenAI/LLM Top 10 风格的标签以提供实用指导。在正式评估中使用输出结果之前,请对照最新的 OWASP GenAI Top 10 审查映射关系。
## 模块 2:Prompt Injection 测试场
Prompt Injection 测试场允许用户准备授权的 Prompt Injection 场景,记录预期行为,粘贴来自被测 AI 系统的观察响应,评估结果,并将发现保存到项目报告中。它不直接调用 LLM。
主要功能:
- 系统 Prompt / 预期行为设置。
- 用户 Prompt 输入。
- 模拟的检索文档、工具输出或上下文。
- 场景模板涵盖直接覆盖、RAG 上下文注入、工具输出注入、角色混淆、泄漏尝试和输出处理探测。
- 从被测 AI 系统手动捕获观察到的响应。
- 通过/失败/部分通过的评估。
- 风险评分预览。
- 将运行记录保存到项目。
- 将场景保存为可复用的测试用例。
- 报告生成器集成 `Source: Prompt Injection Playground`。
## 模块 3:RAG 攻击实验室
RAG 攻击实验室允许用户模拟基于检索的 AI 风险,记录可信和不可信上下文,评估观察到的助手行为,并将 RAG 发现保存到项目报告中。
主要功能:
- RAG 场景构建器。
- 检索上下文模拟器。
- 信任级别和风险标签。
- 预期行为准则。
- 手动捕获观察到的响应。
- 通过/失败/部分通过的评估。
- 风险评分预览。
- 保存到项目。
- 将场景保存为可复用的测试用例。
- 报告生成器集成 `Source: RAG Attack Lab`。
## 模块 4:越狱与安全回归实验室
越狱与安全回归实验室帮助记录授权的安全边界测试、拒绝一致性、越狱抵抗力、缓解措施后的重新测试以及安全回归发现。
主要功能:
- 安全活动构建器。
- 可复用的安全测试模板。
- 拒绝边界测试。
- 指令层级测试。
- 系统 Prompt 泄漏尝试。
- 多轮升级记录。
- 重新测试工作流。
- 拒绝一致性评分。
- 保存到项目。
- 报告生成器集成 `Source: Jailbreak & Safety Regression Lab`。
## 演示工作流
1. 打开仪表板。
2. 查看预置的示例项目。
3. 打开测试库并过滤 `Prompt Injection` 或 `High` 严重程度。
4. 打开一个测试用例,查看其预期行为、失败指标和评估准则。
5. 在现有项目中使用该测试。
6. 使用过滤器和“全选可见”功能从库中添加多个测试。
7. 编辑失败的结果并查看计算出的风险评分。
8. 打开 Prompt Injection 测试场并加载预置场景。
9. 粘贴观察到的 AI/应用响应,评估结果,并将运行记录保存到示例项目中。
10. 打开 RAG 攻击实验室并加载 `Malicious Warranty Document Instruction`。
11. 查看可信和不可信的检索块,粘贴观察到的 AI/应用响应,评估结果,并将运行记录保存到示例项目。
12. 打开安全实验室并加载演示安全活动。
13. 查看预置的拒绝边界测试,粘贴观察到的响应,评估结果,并将安全实验室发现保存到示例项目。
14. 打开项目仪表板。
15. 生成 AI 风险快照报告。
16. 复制或下载 Markdown 报告。
## 技术栈
- Node.js
- Express
- TypeScript
- 原生 HTML/CSS/JavaScript 前端
- 在 `data/db.json` 中进行本地 JSON 持久化
- 使用 Node 测试运行程序处理评分、种子数据、报告、测试场、RAG 实验室和安全实验室的保存流程
当前 v1 版本有意保持现有的轻量级架构。未来版本可以在产品工作流稳定后迁移至 Next.js、Prisma、SQLite 和组件框架。
## 本地设置
```
npm install
npm run db:seed
npm run dev
```
打开 `http://localhost:3000`。
## 种子数据
重置本地演示数据:
```
npm run db:seed
```
种子数据会创建:
- 15 个可复用的 AI 红队测试用例。
- 8 个 Prompt Injection 测试场场景。
- 6 个 RAG 攻击实验室场景。
- 8 个安全实验室模板。
- 1 个安全实验室演示活动,包含混合的通过、失败、部分通过和未测试运行记录。
- 1 个演示项目:`Demo Assessment - Customer Support AI Assistant`。
- 附带的项目结果包含测试库、测试场、RAG 实验室和安全实验室来源。
应用内的 **重置演示数据** 操作仅用于本地演示。除非显式设置了 `ALLOW_DEMO_RESET=true`,否则在生产环境中将被禁用。
## 评分方法
单个发现评分:
```
severityWeight * likelihoodWeight * impactWeight * resultStatusMultiplier
```
严重程度权重:
- Info: 0
- Low: 2
- Medium: 4
- High: 7
- Critical: 10
可能性和影响权重:
- Low: 1
- Medium: 1.25
- High: 1.5
结果状态乘数:
- Passed: 0
- Not Applicable: 0
- Not Tested: 0
- Partial: 0.5
- Failed: 1
项目风险评分使用分母中的 `Passed`、`Failed` 和 `Partial` 结果归一化为 0-100。`Not Tested` 和 `Not Applicable` 被排除在外。
低分并不能保证 AI 系统是安全的。它仅反映了评估中记录的测试。
## 合理使用声明
本工具仅用于授权的 AI 安全测试、内部评估、演示和教育用途。请勿用于测试您不拥有或未获得明确许可进行评估的系统。
请仅在本工具用于您拥有或获得明确测试许可的系统上。
## 当前局限性
- 本地单用户应用;无身份验证或多用户工作区。
- JSON 文件持久化;尚无数据库迁移。
- 仅限手动测试执行;无实时模型扫描或自动化攻击性测试。
- 仅支持 Markdown 和适合打印的报告导出;暂不支持生成 PDF。
- 证据 URL 字段仅支持文本;尚无文件上传工作流。
## 截图
以下是一些按模块分组的关键屏幕截图。展开每个部分以查看屏幕截图。
## 质量检查
```
npm test
npm run typecheck
```
## 路线图
- SQLitePrisma 持久层。
- 经过优化的 React/Next.js 前端。
- PDF 导出。
- 证据附件工作流。
- 测试库版本控制。
- 用于授权本地评估的可选模型 API 集成。
- RAG 攻击实验室模块 3.1 优化:更丰富的引文、块导入/导出和检索相关性评分。
- 安全实验室模块 4.1 优化:更丰富的活动比较、导入/导出以及版本间的回归图表。
- AI 安全仪表板改进。
- 多用户工作区。
模块 1:红队测试库 + 报告生成器
#### 着陆页  #### 仪表板  #### 测试库  #### 项目仪表板  #### 报告生成器 模块 2:Prompt Injection 测试场
#### 带有授权声明的测试场主屏幕  #### 已加载的恶意检索文档场景  #### 带有实时风险评分的失败评估  #### 显示来源为 Playground 的项目结果  #### 显示来源为 Prompt Injection Playground 的报告预览 模块 3:RAG 攻击实验室
#### 带有“仅限手动”声明的 RAG 实验室主屏幕  #### 恶意保修文档场景  #### 包含可信和不可信块的检索上下文  #### 带有实时风险评分的失败 RAG 评估  #### 显示来源为 RAG 攻击实验室的项目结果  #### 显示 RAG 发现和检索上下文的报告预览 模块 4:越狱与安全回归实验室
#### 带有工作流声明的安全实验室主屏幕  #### 演示安全活动  #### 角色扮演边界测试评估  #### 拒绝一致性评分  #### 重新测试和缓解措施记录  #### 显示来源为安全实验室的项目结果  #### 显示安全回归摘要的报告预览 标签:AI安全, Chat Copilot, LLM红队评估, MITM代理, RAG攻击测试, 安全报告生成, 提示词注入测试