jonarm/ai-security-llm-governance-controls

GitHub: jonarm/ai-security-llm-governance-controls

该项目以零售行业为场景,演示如何将AI/LLM安全治理框架映射到Microsoft 365和Azure环境中的实际安全控制措施。

Stars: 0 | Forks: 0

# AI 安全与 LLM 治理控制计划 这是一个针对虚构零售组织 **Contoso Retail Group** 的 AI 安全与治理计划的参考实现,涵盖了跨三个 AI 驱动系统的威胁建模、防护机制、检测工程和风险报告——并针对 Microsoft 365 / Azure 租户进行了真实的实时部署,而不仅仅是设计文档。 本仓库是一个由从业者构建的作品集项目。它旨在展示在 AI/LLM 安全、AI 治理框架和云安全工程方面的实际动手能力,而不是记录一个真实组织的实际部署。所有的组织名称、数据和发现都是虚构的;而部署到实时租户的基础设施、策略和检测规则,以及为使其正常运行所进行的故障排除,都是真实的。 ## 为什么会有这个项目 大多数公开的 AI 安全内容分为两类:没有技术实现的高层治理框架,或者没有治理背景的技术 LLM 安全文章。 本仓库试图将两者联系起来——从威胁模型开始,将其映射到公认的框架(OWASP LLM Top 10、NIST AI RMF、ISO/IEC 42001、MITRE ATLAS),然后将生成的控制措施实现为实际的 Conditional Access 策略、Purview DLP 规则、Sentinel 检测和 Terraform IaC——并在实时的 Microsoft 365 Business Premium 和 Azure 试用租户上进行了部署和验证,其方式与在真实安全计划中规划和交付此项工作的方式完全相同。 ## 实际运行的内容与参考设计的内容 该计划自始至终都明确指出了两者之间的区别——这是在深入了解之前值得了解的一个反复出现的主题: | 组件 | 状态 | |---|---| | Entra Conditional Access 策略(设计了 4 个中的 3 个) | **实时运行** — 通过 Terraform 部署,通过 Azure CLI 和门户验证 | | Purview 敏感度标签和标签策略 | **实时运行** — 已创建、发布并应用于真实的测试文档 | | Purview DLP 策略(仅审计) | **实时运行,配置已验证** — 策略/规则部署正确;在构建时间范围内未能确认实时检测事件(有关完整调查,请参阅 [`guardrails/purview-dlp-copilot-policies.md`](./guardrails/purview-dlp-copilot-policies.md)) | | Microsoft Sentinel 工作区和载入 | **实时运行** — 通过 Terraform 部署 | | Sentinel Analytics Rule:异常 Copilot 数据访问 | **已实时运行并部署** — 在纠正了几个基于文档的假设后,基于真实的租户 schema 构建(请参阅 [`sentinel/README.md`](./sentinel/README.md)) | | Sentinel Analytics Rule:影子 AI 检测 | **参考设计** — 受到真正的 Defender for Cloud Apps 许可/连接器限制的阻碍,已进行调查并记录 | | RAG 助手和 Agent 工作流威胁模型、防护机制设计 | **仅设计** — 这些是架构规范,不是正在运行的应用程序;它们的底层平台依赖(Azure OpenAI、Entra ID)是本计划已配置的真实服务 | | 针对 Prompt Injection 和 Agent 工具调用的 Sentinel 规则 | **参考设计** — 依赖于来自已设计但尚未构建为运行代码的组件的自定义应用程序日志记录 | | Power BI 治理和安全运营仪表板 | **已构建** — 数据模型、DAX 度量和仪表板页面,部分使用了真实的风险登记数据,部分使用了明确标记的虚构示例遥测数据 | ## 场景 **Contoso Retail Group** 是一家正在推出三个 AI 功能的中型零售商: | 系统 | 功能 | 风险原因 | |---|---|---| | **Microsoft 365 Copilot** | 跨 Outlook、Teams、Word、Excel、SharePoint 的租户范围 Copilot | 大规模继承用户权限——权限过高的账户会变成权限过高的 Copilot 会话 | | **RAG 客户服务助手** | 通过 Azure OpenAI + Azure AI Search 基于产品、订单和策略文档的面向客户的聊天机器人 | 面向公众的输入接口,检索客户 PII、忠诚度/CRM 数据和订单历史记录——直接暴露于 Prompt Injection 和敏感数据泄露 | | **Agentic 订单管理工作流** | LLM 驱动的 Agent,通过调用内部 API 检查订单状态、在阈值内发放退款并更新运输详情 | 拥有对支付和运输数据的写入权限——风险最高的组件,过度的自主性和工具滥用在这里最为致命 | 选择零售业是故意的:它迫使我们面对与真实 AI 安全审查中相同的恶意高风险数据流(PII、支付数据、忠诚度/CRM 数据、商户数据),而无需使用任何真实公司的数据或系统。 ## 本仓库包含什么 | 文件夹 | 内容 | |---|---| | `docs/` | 架构概述、STRIDE/LLM 威胁模型、框架控制映射 | | `governance/` | AI 风险登记表、供应商审查模板、用例风险分级模型 | | `guardrails/` | Entra Conditional Access、Purview DLP、Azure OpenAI 内容过滤器、RAG 输入/输出验证设计(+ 用于 CA 策略的 Terraform) | | `sentinel/` | KQL 检测规则——一个已实时部署,一个因记录在案的许可缺口而被阻碍,两个因计划范围而作为参考设计 | | `terraform/` | 用于 Sentinel 工作区、分析规则部署和 Entra Conditional Access 策略的 IaC | | `powerbi/` | 仪表板数据模型、DAX 度量、示例数据集和构建说明 | | `screenshots/` | 已部署控制措施的证据——Entra CA、Purview 标签/DLP、Sentinel 分析规则和实时数据、Copilot 许可和实际交互、Power BI 仪表板 | ## 如何浏览本仓库 如果您正在为招聘决定进行审查,最快的浏览路径是: 1. **[`docs/architecture-overview.md`](./docs/architecture-overview.md)** — 从这里开始。 包含所有三个系统的图表、信任边界以及所有其他文档所基于的设计原则。 2. **[`docs/threat-model-rag-assistant.md`](./docs/threat-model-rag-assistant.md)** 和 **[`docs/threat-model-agentic-workflow.md`](./docs/threat-model-agentic-workflow.md)** — 威胁建模工作,已映射到 OWASP LLM Top 10。 3. **[`docs/framework-mapping.md`](./docs/framework-mapping.md)** — 本仓库中的控制措施 如何跨 OWASP LLM Top 10、NIST AI RMF、ISO/IEC 42001 和 MITRE ATLAS 进行映射。 4. **`guardrails/`** 和 **`sentinel/`** — 威胁模型变为实际策略或 检测规则的地方,其背后有支持 Conditional Access 和 Sentinel 组件的 Terraform。请仔细阅读这些文档中的“部署注意事项”部分——它们记录了针对实时租户发现并修复的真实配置差距,与策略本身相比,这能更有效地体现动手能力。 5. **`powerbi/`** — 本计划如何向非技术利益相关者报告风险和控制态势。 ## 引用的框架 - [OWASP Top 10 for LLM Applications](https://owasp.org/www-project-top-10-for-large-language-model-applications/) - [NIST AI Risk Management Framework (AI RMF 1.0)](https://www.nist.gov/itl/ai-risk-management-framework) - [ISO/IEC 42001:2023 — AI Management Systems](https://www.iso.org/standard/81230.html) - [MITRE ATLAS](https://atlas.mitre.org/) ## 工具 - **Microsoft Entra ID** — Conditional Access,基于身份的 AI 应用访问控制 - **Microsoft Purview** — DLP 策略、敏感度标签 - **Azure OpenAI Service** — 内容过滤、模型部署 - **Microsoft Sentinel** — KQL 检测规则,跨 AI 平面的日志关联 - **Terraform** — 用于上述内容的基础设施即代码 - **Power BI** — 治理和安全运营报告 ## 相关工作 一个配套仓库 [`erp-identity-security-reference-architecture`](https://github.com/jonarm/erp-identity-security-reference-architecture), 涵盖了使用类似的“从威胁模型到控制措施”结构进行 Dynamics 365 F&O ERP 部署的身份和访问安全。 ## 免责声明 这是一个作品集项目。Contoso Retail Group、其数据和所有发现都是虚构的。 在构建本仓库时,没有使用或参考任何真实的生产系统、客户数据或供应商。对于部署了实时 Azure/Microsoft 365 基础设施的部分,它是部署在个人试用租户上的,仅用于演示目的。
标签:AI治理, DLL 劫持, 人工智能安全, 合规性, 大语言模型, 威胁建模