polyfuze4336-bot/azure-ai-redteam-demo

GitHub: polyfuze4336-bot/azure-ai-redteam-demo

一个 Azure AI 红队演示项目,用于测试和验证针对受保护 AI 模型的对抗攻击与防护效果。

Stars: 0 | Forks: 0

# Azure AI 红队演示 一个用于 Azure AI 红队能力的演示应用程序。该应用程序模拟针对受 Azure AI 内容安全和提示防护保护的 AI 模型的对抗测试。 ![Azure AI 红队演示](https://raw.githubusercontent.com/polyfuze4336-bot/azure-ai-redteam-demo/master/docs/screenshot.png) ## 功能 - **攻击控制台**:对受保护的 AI 模型执行红队场景 - **活动历史**:查看历史攻击活动及结果 - **对比模式**:基线与防护模型的并排对比 - **PyRIT 集成**:使用 Microsoft PyRIT 进行可选自动化红队测试 - **实时指标**:防御率、攻击成功率跟踪、延迟监控 ## 架构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ Azure AI Red Team Demo │ ├─────────────────────────────────────────────────────────────────┤ │ Frontend (React + TypeScript + Tailwind) │ │ - Attack Console UI │ │ - Campaign History │ │ - Comparison View │ ├─────────────────────────────────────────────────────────────────┤ │ Backend API (FastAPI + Python) │ │ - Attack Runner Pipeline │ │ - Safety Layer (Content Safety + Prompt Shields) │ │ - Evaluator Service │ │ - Telemetry & Tracing │ ├─────────────────────────────────────────────────────────────────┤ │ Azure AI Foundry │ │ - Azure OpenAI (GPT-4o) │ │ - Azure AI Content Safety │ │ - Prompt Shields │ └─────────────────────────────────────────────────────────────────┘ ``` ## 快速开始 ### 先决条件 - Python 3.11+ - Node.js 18+ - Azure CLI (`az`) - 用于身份验证 - Azure Developer CLI (`azd`) - 用于部署 - 对 Azure AI Foundry 的访问权限及已部署的模型 ### 本地开发 1. **克隆仓库** git clone https://github.com/YOUR_USERNAME/azure-ai-redteam-demo.git cd azure-ai-redteam-demo 2. **配置环境** # 后端 cd backend cp .env.example .env # 使用 Azure AI Foundry 详细信息编辑 .env 3. **启动后端** cd backend pip install -r requirements.txt uvicorn main:app --reload 4. **启动前端** cd frontend npm install npm run dev 5. **打开浏览器** 导航至 http://localhost:5173 ### Azure 部署 使用 Azure Developer CLI 部署到 Azure: ``` # 登录到 Azure az login azd auth login # 初始化环境 azd init # 部署(创建 App Service + 静态 Web 应用) azd up ``` 这将: - 为后端 API 创建 Azure 应用服务 - 为前端创建 Azure 静态 Web 应用 - 配置环境变量以连接到你的 Azure AI Foundry 资源 ## 配置 ### 环境变量 | 变量 | 描述 | 是否必需 | |----------|-------------|----------| | `RUN_MODE` | `demo` 或 `azure` | 是 | | `FOUNDRY_RESOURCE_NAME` | Azure AI Foundry 资源名称 | 是(azure 模式) | | `AZURE_OPENAI_ENDPOINT` | Azure OpenAI 终结点 URL | 是(azure 模式) | | `AZURE_OPENAI_DEPLOYMENT_NAME` | 模型部署名称 | 是(azure 模式) | | `AZURE_OPENAI_API_KEY` | API 密钥(或使用 DefaultCredential) | 条件 | 请参阅 [backend/.env.example](backend/.env.example) 获取完整配置选项。 ### 使用现有的 Azure AI Foundry 资源 本演示旨在连接到你的现有 Azure AI Foundry 资源。默认配置使用: - **资源**:`mkhalib-4370-resource` - **模型**:`gpt-4o` 更新环境变量或 Bicep 参数以使用你自己的资源。 ## API 端点 | 端点 | 方法 | 描述 | |----------|--------|-------------| | `/health` | GET | 健康检查 | | `/api/attacks` | POST | 运行单次攻击 | | `/api/campaigns` | POST | 运行攻击活动 | | `/api/campaigns` | GET | 列出活动 | | `/api/scenarios` | GET | 列出攻击场景 | | `/api/comparison` | POST | 运行对比攻击 | ## 项目结构 ``` azure-ai-redteam-demo/ ├── azure.yaml # Azure Developer CLI config ├── infra/ # Bicep infrastructure │ ├── main.bicep │ └── modules/ ├── backend/ # FastAPI backend │ ├── main.py │ ├── config.py │ ├── models/ │ ├── routes/ │ ├── services/ │ └── telemetry/ └── frontend/ # React frontend ├── src/ │ ├── components/ │ ├── pages/ │ └── services/ └── package.json ``` ## 开发 ### 运行测试 ``` # 后端测试 cd backend pytest # 前端测试 cd frontend npm test ``` ### 演示模式 用于在不连接 Azure 的情况下进行本地测试: ``` # 在 backend/.env RUN_MODE=demo ``` 这将使用模拟响应而非真实的 Azure AI 调用。 ## 安全 - API 密钥不应提交到源代码控制 - 在生产中使用 Azure 托管标识 - 内容安全提供输入/输出过滤 - 提示防护检测越狱和注入尝试 ## 许可证 MIT ## 贡献 1. 叉出仓库 2. 创建功能分支 3. 提交拉取请求 ## 支持 如有问题和疑问,请打开 GitHub 问题。
标签:AI安全, AV绕过, Azure AI, Chat Copilot, FastAPI, Microsoft安全, Naabu, Prompt Shields, PyRIT, Python后端, Tailwind, TypeScript, 云端安全测试, 内容安全, 前端React, 多智能体系统, 安全插件, 实时指标, 密钥泄露防护, 对抗测试, 对比模式, 延迟监控, 提示词防护, 攻击成功率, 攻击控制台, 攻击模拟, 机器学习安全, 活动历史, 生成式AI安全, 自动化红队, 虚拟机, 评估服务, 逆向工具, 遥踪, 防御率, 驱动签名利用