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 字段仅支持文本;尚无文件上传工作流。 ## 截图 以下是一些按模块分组的关键屏幕截图。展开每个部分以查看屏幕截图。
模块 1:红队测试库 + 报告生成器 #### 着陆页 ![着陆页](https://static.pigsec.cn/wp-content/uploads/repos/cas/84/84dd084c03f0e92773464c90f017b5eeb7b18e589dcf1d9e747ba194ae271c90.png) #### 仪表板 ![仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/1a/1a15ec74e79a6249cc844ccb857a7a9c962e33f5707d35104b1d8881c3ba44e2.png) #### 测试库 ![测试库](https://static.pigsec.cn/wp-content/uploads/repos/cas/8d/8de851e33ddfcd26b0aa7ae0dc21364cf170d44c1bb8b62e1631eebe4dda48e3.png) #### 项目仪表板 ![项目仪表板](https://static.pigsec.cn/wp-content/uploads/repos/cas/b4/b41ada24d69e460b44c2af331517e2179bcb117aff006e8f1db1acbe8c8de7ca.png) #### 报告生成器 ![报告生成器](https://static.pigsec.cn/wp-content/uploads/repos/cas/b8/b8807f5d19ef91800814722c786d99bc1c423ae551560b3118b2b775e2cf14a8.png)
模块 2:Prompt Injection 测试场 #### 带有授权声明的测试场主屏幕 ![带有授权声明的测试场主屏幕](https://static.pigsec.cn/wp-content/uploads/repos/cas/3d/3dd7980d02e7eef844d2aadc73904c189c07639fd0003f4810d530043c1758f3.png) #### 已加载的恶意检索文档场景 ![已加载的恶意检索文档场景](https://static.pigsec.cn/wp-content/uploads/repos/cas/e9/e94d3dd0b2fe5f7ea0dc0334dfb2b58ab20b57878d337a9cee749253d53ba65f.png) #### 带有实时风险评分的失败评估 ![带有实时风险评分的失败评估](https://static.pigsec.cn/wp-content/uploads/repos/cas/f8/f8df01d3939f5adb8c7602e27483d425cbd4a37fb4bd7cd94127cc7b75bf71c2.png) #### 显示来源为 Playground 的项目结果 ![显示来源为 Playground 的项目结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/59/593b3fe43486990910732305077acd699b50d8725d24014812ac612673d6037a.png) #### 显示来源为 Prompt Injection Playground 的报告预览 ![显示来源为 Prompt Injection Playground 的报告预览](https://static.pigsec.cn/wp-content/uploads/repos/cas/70/705b74a4c23784a416719a846ca6ca7594f9d0835f5328fb95ba47867040027d.png)
模块 3:RAG 攻击实验室 #### 带有“仅限手动”声明的 RAG 实验室主屏幕 ![带有“仅限手动”声明的 RAG 实验室主屏幕](https://static.pigsec.cn/wp-content/uploads/repos/cas/2d/2d54e4559e752d6b8f95d8a59dc394b788c134919c746aedf3cf6794d08b4ac3.png) #### 恶意保修文档场景 ![恶意保修文档场景](https://static.pigsec.cn/wp-content/uploads/repos/cas/7a/7aae4119ff7fcf84347da4975d90ee64f26d7c31fb2eb845c26377c5ee7941ba.png) #### 包含可信和不可信块的检索上下文 ![包含可信和不可信块的检索上下文](https://static.pigsec.cn/wp-content/uploads/repos/cas/05/05889e74fe81cf88d053034b9332c4c5a89e35760d4aefeb4c9b18e723d431fc.png) #### 带有实时风险评分的失败 RAG 评估 ![带有实时风险评分的失败 RAG 评估](https://static.pigsec.cn/wp-content/uploads/repos/cas/4d/4dc48ed60c747ea60b42ad64de5f9fabb687f65ae40e76c030157876b6e79d99.png) #### 显示来源为 RAG 攻击实验室的项目结果 ![显示来源为 RAG 攻击实验室的项目结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/1c/1c15b1b000e7fa2280c8148a277b0a32f00e208926e76f14d3c102e21580a1a0.png) #### 显示 RAG 发现和检索上下文的报告预览 ![显示 RAG 发现和检索上下文的报告预览](https://static.pigsec.cn/wp-content/uploads/repos/cas/4a/4a2ca520acbe69d9b71ce55256e5e58882f1d652842a71d8a0dafaf6931933e6.png)
模块 4:越狱与安全回归实验室 #### 带有工作流声明的安全实验室主屏幕 ![带有工作流声明的安全实验室主屏幕](https://static.pigsec.cn/wp-content/uploads/repos/cas/51/5102c328cc8e92b6fc978ea676c447c360df820cdb8ec013483d2f80d4b30177.png) #### 演示安全活动 ![演示安全活动](https://static.pigsec.cn/wp-content/uploads/repos/cas/b4/b4e02c23daf769d0cebc7b9445db320867fa73f9a9d9100fdbd0b3a4f5d6c340.png) #### 角色扮演边界测试评估 ![角色扮演边界测试评估](https://static.pigsec.cn/wp-content/uploads/repos/cas/bd/bdee7040e07a68e0c2cb26fd549e270fd248b9d51199a7d4f1830a2e1aa831dd.png) #### 拒绝一致性评分 ![拒绝一致性评分](https://static.pigsec.cn/wp-content/uploads/repos/cas/c5/c5c8b7bcfec9e51b22297490a325152f3adacba9127f527542d0025c2d98fb9c.png) #### 重新测试和缓解措施记录 ![重新测试和缓解措施记录](https://static.pigsec.cn/wp-content/uploads/repos/cas/7f/7f7ecc84167556a8f4b4003790366d733750419000caa8ac445febb1a8793fb8.png) #### 显示来源为安全实验室的项目结果 ![显示来源为安全实验室的项目结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/c1/c14dfdc39f152181e8705fca008151738723f0dee1ff9a27eef60ff00bd0fe0a.png) #### 显示安全回归摘要的报告预览 ![显示安全回归摘要的报告预览](https://static.pigsec.cn/wp-content/uploads/repos/cas/c3/c30002a7dbe3101cbd4d4ab4136536e77da544805390123b8956462d31f03af7.png)
## 质量检查 ``` npm test npm run typecheck ``` ## 路线图 - SQLitePrisma 持久层。 - 经过优化的 React/Next.js 前端。 - PDF 导出。 - 证据附件工作流。 - 测试库版本控制。 - 用于授权本地评估的可选模型 API 集成。 - RAG 攻击实验室模块 3.1 优化:更丰富的引文、块导入/导出和检索相关性评分。 - 安全实验室模块 4.1 优化:更丰富的活动比较、导入/导出以及版本间的回归图表。 - AI 安全仪表板改进。 - 多用户工作区。
标签:AI安全, Chat Copilot, LLM红队评估, MITM代理, RAG攻击测试, 安全报告生成, 提示词注入测试