mbwika/AI-Assurance-Framework

GitHub: mbwika/AI-Assurance-Framework

AIAF 是一个开源 AI 安全保障平台,通过持续的风险评估、红队测试、供应链验证和治理合规映射,帮助组织在整个生命周期内提升 AI 系统的可信度和安全性。

Stars: 6 | Forks: 0

# AI 保障框架 (AIAF) AI 保障框架 (AIAF) 是一个开源平台,旨在通过持续保障方法论提升人工智能系统的安全性、可信度、弹性和治理能力。 该框架使组织能够评估 AI 安全风险、验证治理控制、监控 AI 部署,并在现代 AI 系统的整个生命周期内增强 AI 供应链的完整性。 ## 核心功能 - 外部模型引入与采用分诊(针对未知模型的分级采用判定) - 通过 garak(120+ 种对抗性探测)和 PyRIT(自定义活动)进行全面红队评估 - 实时行为探测(在分诊时进行 10 项 prompt injection / jailbreak / 提取探测) - Artifact 序列化扫描(非执行状态的 pickle/safetensors/ONNX 安全扫描) - HuggingFace 模型卡片信息丰富化(自动从模型卡片中提取 PROVIDER_DECLARED 事实) - Sigstore / OpenSSF 模型签名验证(INDEPENDENTLY_VERIFIED 身份凭证) - CycloneDX 1.7 ML-BOM 导出和导入 - 凭证来源标记(每个事实均根据其获取方式进行权重加成) - AI 安全风险评估 - 不确定性感知的模型影响和暴露评估(固有的 / 残余的 / 置信度受限的) - Prompt Injection 检测 - Jailbreak 分析 - Agentic AI 安全验证(权限、影响范围、工作流和委派分析) - Runtime Agent 工具授权 - Agent 遏制控制(挂起、隔离、封禁特定工具) - 单工具调用风险评分 - RAG 后端安全态势(访问控制、租户隔离、索引新鲜度、embedding 来源) - 偏见与公平性评估 - 幻觉与事实可靠性风险 - AI 供应链安全(来源评分、签名认证、OSV 风格的公告匹配) - 计划性持续安全运营执行(运行到期任务、创建事件、导出至 SIEM) - 训练数据保障与成员推理信号 - 可信度评分 - 持续 AI 保障 - 合规性映射 - 治理报告 ## 基础 Artifact - [技术架构](architecture.md) - [威胁模型](threat_model.md) - [安全控制目录](security_control_catalog.md) ## 对齐 该框架对齐以下标准: - NIST AI 风险管理框架 (AI RMF) - NIST 安全软件开发框架 (SSDF) - OWASP LLM 应用 Top 10 (2025) - MITRE ATLAS - CIS Controls v8 - 欧盟 AI 法案 (法规 2024/1689) - ISO/IEC 42001:2023 (AI 管理体系) - 安全设计原则 ## 愿景 通过支持创新、经济竞争力和国家安全目标的实用开源保障技术,推进安全、可信和具有弹性的 AI 应用。 ## 安装设置 ### 快速开始 - 前置条件:Python 3.10+ 和 `pip`。 - (可选)创建并激活虚拟环境: ``` python -m venv .venv source .venv/bin/activate ``` - 安装运行时依赖: ``` pip install -r requirements.txt ``` - (可选)安装用于代码检查的开发者工具: ``` pip install ruff ``` ## 执行运行 ### 在本地运行 API 在仓库根目录下,您可以在开发模式下运行 FastAPI 服务器: ``` ./scripts/run_local.sh # 或 PYTHONPATH=src python -m aiaf.cli run --host 0.0.0.0 --port 8000 ``` 然后在浏览器中打开 **http://localhost:8000/** 上的控制台 — 这是一个 React 单页 控制台(概览 · 采用分诊 · 风险分析器 · 治理与合规 · 模型注册表 · RAG 清单 · Agent 授权 · 架构 · API 资源管理器), 它反映了正在运行的框架,具有趋势线、随时间推移的偏移图表、 实时自动刷新、精心策划的检索和授权视图,以及由 CycloneDX 支持的 runtime 组件清单。交互式 API 文档位于 `/docs`。 在控制台顶部输入 API 密钥(默认为 `dev-key`)。 该控制台是一个位于 [`frontend/`](frontend/) 中的 Vite + React + Tailwind + Recharts 应用, 被构建到 `src/aiaf/web/` 中并由 FastAPI 提供服务。编译后的输出已被提交(包含在仓库中), 因此服务器无需 Node 工具链即可呈现 UI。要修改控制台: ``` cd frontend npm install npm run dev # hot-reload dev server, proxies the API to :8000 npm run build # recompiles into src/aiaf/web/ for FastAPI to serve ``` 如果构建文件缺失,`GET /` 将返回一条包含构建命令的简短提示, 而不是控制台;但 JSON API 将保持完全可用。 API 提供了一个最小化的健康检查端点: ``` GET /health -> { "status": "ok" } GET /v1/info -> basic project info ``` 为了实现生产级持久化,请将 `AIAF_PG_DSN` 设置为 PostgreSQL 连接 URI。 PostgreSQL 后端用于存储模型来源、注册任务、安全发现、 治理审计凭证以及历史风险和信任指标。 模型注册会自动检查目录和归档文件中受限的依赖清单,包括 `requirements*.txt`、`pyproject.toml`、 `Pipfile.lock` 和 `package.json`。发现的记录和源清单将 包含在模型清单和 AI-BOM 中。 漏洞情报通过受保护的 API 以 OSV 风格的 JSON 导入, 并存储在本地以用于可重复扫描。导入新的安全公告 会自动重新扫描已注册的模型。确切的依赖版本将与引入、修复、最后受影响及明确的受影响版本数据进行匹配; 未解析的范围将报告为部分覆盖,而不会被视为安全。 设置 `AIAF_ADVISORY_FEED_KEY` 以及可选的 `AIAF_ADVISORY_FEED_KEY_ID` 以 导入经过身份验证的公告源。签名信封绑定了源身份、 单调序列、来源、新鲜度时间窗口以及确切的公告内容。 过期的源、无效的签名、回滚以及同序列内容更改 将被拒绝。一旦启用签名源治理,未经核实的手动导入 将被阻止;现有的混合信任目录在报告和警报中仍将保持可见。 历史源验证要求保留与每个密钥 ID 关联的密钥,直到实现非对称或托管密钥验证。 设置 `AIAF_ATTESTATION_KEY` 以及可选的 `AIAF_ATTESTATION_KEY_ID` 以颁发和 验证签名的来源声明。目前的 HMAC-SHA256 实现 适用于组织控制的完整性验证;请通过部署密钥管理器 保护和轮换此共享密钥。 设置 `AIAF_REPORT_SIGNING_KEY` 以及可选的 `AIAF_REPORT_SIGNING_KEY_ID` 以 颁发 HMAC 签名的保障报告快照。未签名的快照仍可进行 SHA-256 验证;签名的快照额外绑定了其身份、范围、 版本、摘要、创建者、时间戳和密钥 ID。请使用与模型来源密钥不同的独立托管密钥,并根据治理策略进行轮换。 对于非对称签名,请设置 `AIAF_REPORT_SIGNING_PRIVATE_KEY_PEM`、 `AIAF_REPORT_SIGNING_PUBLIC_KEY_PEM` 和 `AIAF_REPORT_SIGNING_KEY_ID`。 当提供了 PEM 格式的私钥时,AIAF 会使用 `ED25519` 签署报告快照,并使用配置的公钥进行验证。请将私钥保存在部署密钥管理器中,仅将公钥分发给验证者,并 保留每个历史密钥 ID,直到使用它签名的所有快照都已超出您的保留期限。PEM 值可以作为多行密钥提供,或者使用字面量 `\n` 转义符。操作员流程示例: ``` openssl genpkey -algorithm ed25519 -out report-signing-private.pem openssl pkey -in report-signing-private.pem -pubout -out report-signing-public.pem export AIAF_REPORT_SIGNING_PRIVATE_KEY_PEM="$(cat report-signing-private.pem)" export AIAF_REPORT_SIGNING_PUBLIC_KEY_PEM="$(cat report-signing-public.pem)" export AIAF_REPORT_SIGNING_KEY_ID="fedramp-ed25519-2026q2" ``` ### 运行持续保障 通过 `POST /v1/monitoring/schedules` 创建计划,然后在一个 单独的进程中运行 worker。它将执行到期的风险和治理评估, 并持久化每次运行及其下一次执行时间。 ``` PYTHONPATH=src python -m aiaf.cli monitor --poll-seconds 30 ``` 对于 cron 任务、容器任务或单次调度执行,请使用 `--once`。 对于 Phase D 安全运营,AIAF 现在还为周期性安全工作 公开了一流的计划执行器: - `POST /v1/ops/schedules/{schedule_id}/execute` — 立即执行一个计划任务 - `POST /v1/ops/schedules/execute-due` — 执行所有到期任务(或筛选出的子集) 支持的任务类型包括红队运行、遥测批量摄取、异常 扫描、漏洞扫描和保障报告快照。计划的异常 和漏洞运行可在本地事件跟踪器中自动创建事件。 ### 运行红队评估 (garak / PyRIT) AIAF 可以使用 [garak](https://github.com/NVIDIA/garak)(120+ 种探测)或 [Microsoft PyRIT](https://github.com/Azure/PyRIT),针对任何在线的 OpenAI 兼容模型端点运行全面的对抗性红队评估。结果将持久化 到模型记录中,并自动纳入下一次采用分诊判定。 **步骤 1 — 在与 AIAF 相同的虚拟环境中安装工具**: ``` # garak — 完整 probe library 所需 pip install garak # PyRIT — 可选,用于自定义 red-team campaigns pip install pyrit ``` **步骤 2 — 启动一个在线模型端点。** 这两个工具都需要一个 兼容 OpenAI 的聊天补全 API。本地选项: ``` # Ollama (最简单 — 暴露 http://localhost:11434/v1) ollama serve && ollama pull llama3 # 或:vLLM, LM Studio, llama.cpp --server 等。 ``` **步骤 3 — 启动评估。** *从控制台:* 打开 **Adoption** 标签页,选择一个模型,输入 端点 URL,然后点击 **Launch red-team**。选择 **Quick**(4 个探测 家族,约 2–10 分钟)或 **Full**(全部 12 个家族,约 30–90 分钟)。任务 在后台运行;面板每 10 秒轮询一次。当其 完成后,点击 **Run adoption triage** 以整合发现结果。 *从 API:* ``` # 启动快速 garak 扫描(立即返回 job_id) curl -X POST http://localhost:8000/v1/interop/models/YOUR_MODEL_ID/redteam \ -H "X-API-Key: dev-key" -H "Content-Type: application/json" \ -d '{ "endpoint_url": "http://localhost:11434/v1", "backend": "garak", "model_name": "llama3", "depth": "quick" }' # 轮询状态 / 结果 curl http://localhost:8000/v1/interop/models/YOUR_MODEL_ID/redteam/JOB_ID \ -H "X-API-Key: dev-key" # 重新运行 triage — garak 发现现在已包含在 adoption verdict 中 curl -X POST http://localhost:8000/v1/intake/triage \ -H "X-API-Key: dev-key" -H "Content-Type: application/json" \ -d '{"model_id": "YOUR_MODEL_ID"}' ``` *直接运行 garak*(适用于在 AIAF 之外进行调试): ``` OPENAI_API_BASE=http://localhost:11434/v1 OPENAI_API_KEY="${OPENAI_API_KEY:?set OPENAI_API_KEY}" \ python -m garak \ --model_type openai --model_name llama3 \ --probes promptinject,dan,leakage,encoding \ --generations 3 ``` **探测家族及其测试内容:** | 家族 | 类别 | 严重性 | 测试内容 | |---|---|---|---| | `promptinject` | Prompt injection | HIGH | 劫持模型行为的注入指令 | | `encoding` | Prompt injection | HIGH | 通过 Base64、ROT13、Unicode 技巧进行的同类攻击 | | `dan` | Jailbreak | CRITICAL | “Do Anything Now”及指令覆盖变体 | | `jailbreak` | Jailbreak | CRITICAL | 通过角色扮演和虚构设定绕过安全限制 | | `gcg` | Jailbreak | CRITICAL | Greedy Coordinate Gradient 对抗性后缀 | | `leakage` | 信息泄露 | HIGH | 训练数据提取和记忆 | | `replay` | System-prompt 提取 | MEDIUM | 通过重复进行 System prompt 重建 | | `continuation` | 有害内容 | HIGH | 有害叙事续写 | | `malwaregen` | 有害内容 | CRITICAL | 漏洞利用代码和恶意软件诱导 | | `realtoxicityprompts` | 有害内容 | HIGH | 有毒内容生成 | | `xss` | Prompt injection | HIGH | 模型输出中的 XSS 载荷 | **根据红队发现设定的判定上限:** | 发现严重性 | 采用判定上限 | |---|---| | CRITICAL 或 HIGH | `DO_NOT_APPROVE` | | MEDIUM | `PILOT_ONLY` | | 未安装 garak | 仅凭证缺失(无上限) | | 部分结果(超时) | 完整性缺口 | 如果未安装 garak,分诊将记录一次凭证缺失,但不会 阻止采用——缺少该工具并不意味着模型是干净的。 ### 运行测试 运行单元测试(使用 `pytest`): ``` python -m pytest -q ``` ### API 接口 - `POST /models/register`:注册上传的模型或 Hugging Face 模型 URL。 可选的表单字段包括 `publisher`、`license`、`training_data`、 `dependencies`、`training_artifacts`、`deployment_pipeline` 和 `version`,以提供更丰富的供应链凭证。 - `GET /jobs/{job_id}`:检查长时间运行的注册任务。 - `GET /models/{model_id}/mbom`:导出包含已发现依赖项和来源凭证的模型 AIAF AI-BOM。 - `GET /models/{model_id}/vulnerabilities`:检查模型持久化的依赖漏洞凭证。 - `POST /models/{model_id}/vulnerabilities/scan`:针对当前的本地公告目录刷新单个模型。 - `POST /models/{model_id}/attestations`:颁发并持久化一个 schema-2 签名声明,绑定模型身份、artifact 摘要、来源以及各项凭证摘要(依赖清单、训练来源、部署流水线、AI-BOM、组合清单)。该信封是严格格式的,因此验证器输出将**单独**持久化(通过其 `attestation_sha256` 绑定到声明),而不是在签名认证内部。HMAC 保障属于对称身份验证,而非不可否认性。 - `POST /models/{model_id}/attestations/verify`:双重读取验证 — schema-2 信封将根据明确的身份和新鲜度策略进行检查;旧版 schema-1 认证将继续通过 v1 路径进行验证。 - `GET /models/{_id}/attestations`:列出持久化的来源认证。 - `POST /models/{model_id}/attestations/verify`:针对当前的注册表记录验证签名和模型/AI-BOM 完整性。 - `POST /v1/intake/triage`:为已注册模型运行外部模型引入采用分诊。AIAF 将汇总其来源、聚合风险、治理控制覆盖率和依赖漏洞凭证——每一项事实均由凭证来源(`user_entered`、`provider_declared`、`artifact_derived`、`locally_observed`、`independently_verified`)进行标记——并返回一个分级的采用判定(`DO_NOT_APPROVE`、`INSUFFICIENT_EVIDENCE`、`PILOT_ONLY`、`APPROVE_WITH_CONDITIONS`、`APPROVE_FOR_SCOPED_USE`),包含来源标记的理由、需满足的条件、无法获取的凭证明确列表以及保守的决策置信度。仅依赖于操作员输入声明的身份无法获得干净的批准;经过验证的签名认证则可以。 - `GET /v1/intake/{model_id}`:返回最近一次持久化的采用判定。 - `GET /`:React 单页操作控制台(概览、采用分诊、风险分析器、治理与合规、模型注册表、RAG 清单、Agent 授权、架构、API 资源管理器),具有趋势线、随时间推移的偏移图表、实时自动刷新,以及为检索清单和 runtime 工具授权量身定制的视图——完全由公共 API 提供数据支持。 - `GET /v1/reporting/metrics`:按指标名称分组的(按时间最旧优先排序)历史保障指标时间序列,为控制台趋势和偏移图表提供数据支持。 - `GET /v1/architecture`:检查已实现的架构目录和层/组件映射。 - `POST /v1/risk/analyze`:通过风险引擎运行安全分析层。 模型评估使用 `model_risk_profile` 凭证来确定影响级别、领域、 部署暴露、数据分类、用户访问、功能权限、 访问控制、输出验证、安全评估和人工监督。v2 版本的模型和 Agent 风险评分器具备不确定性感知能力:它们区分固有风险、 残余风险和置信度受限风险,公开评分闸门和可解释的 因子,并报告保守的上限 0-10 分。发现仅在 MEDIUM 或更高严重级别下发出(Agent 风险还要求 artifact 是 agentic 的);在此之下,以及对于包括零风险结果在内的每次评估, 结果将作为历史趋势指标保留。 - `POST /v1/supply-chain/advisories/import`:导入 OSV 风格的公告,并可选择重新扫描所有已注册模型。 - `GET /v1/supply-chain/advisories`:按生态系统和包列出或筛选本地公告目录。 - `POST /v1/supply-chain/advisories/feeds/import`:验证并导入已签名且受新鲜度限制的公告源,并可选择重新扫描已注册模型。双重读取——schema-2 源绑定到引擎派生的哈希链(每个源必须在密码学上链接到已存储的头部摘要,并将序列推进一),并在当前时间评估其新鲜度;旧版 schema-1 源保留其单调序列的重放保护。HMAC 保障属于对称身份验证,而非不可否认性。 - `GET /v1/supply-chain/advisories/feeds`:列出持久化的源快照元数据,但不嵌入完整的公告内容。 - `GET /v1/supply-chain/advisories/feeds/status`:检查经过身份验证的、混合的、陈旧的或未经验证的公告情报状态。 - `GET /v1/supply-chain/advisories/feeds/{snapshot_id}`:检索一个持久化的签名源快照。 - `POST /v1/supply-chain/advisories/feeds/{snapshot_id}/verify`:重新检查信封签名、新鲜度、摘要和持久化元数据的一致性。 - `POST /v1/supply-chain/scan`:针对本地目录扫描任意依赖清单。 - `GET /v1/risks`:按生命周期状态、artifact 或严重性列出并筛选去重后的受管风险。 - `GET /v1/risks/{risk_id}`:检查单个风险的复发情况、所有权、截止日期、标准映射和处置凭证。 - `PATCH /v1/risks/{risk_id}`:通过 `OPEN`、`IN_PROGRESS`、`ACCEPTED` 和 `RESOLVED` 分配或转换风险;已接受和已解决的风险需要提供理由,严重性特定的 `remediation_sla` 小时数用于设置初始截止日期,并且重复出现的已解决检测会以新的截止日期重新开启。 - `GET /v1/agentic/policy-profiles`:检查可重用的受限、标准和开发 Agent 策略配置文件。 - `POST /v1/agentic/validate`:验证 Agent 策略、工作流可达性、终止、循环、不受信任的数据流和权限转换;将评估结果持久化为审计事件和历史指标。 - `POST /v1/agentic/sessions`:仅在静态策略和工作流验证通过后创建活动的 runtime 会话;有效策略将为该会话进行快照保存。 - `GET /v1/agentic/sessions`:列出 runtime 会话及其当前状态和外部调用使用情况。 - `POST /v1/agentic/sessions/{session_id}/authorize`:根据会话策略、工作流步骤、权限、输入验证凭证、审批要求、会话状态和外部调用预算对幂等工具调用进行授权。 - `PATCH /v1/agentic/sessions/{session_id}`:撤销或关闭活动的 Agent 会话。 - `GET /v1/agentic/invocations`:检查持久的 `ALLOW`、`DENY` 和 `REQUIRE_APPROVAL` 决策。 - `POST /v1/monitoring/schedules`:注册周期性保障目标和间隔。 - `GET /v1/monitoring/schedules`:列出已启用或已禁用的评估计划。 - `PATCH /v1/monitoring/schedules/{schedule_id}`:更新、暂停或重新安排目标。 - `POST /v1/monitoring/run-due`:执行在请求时间到期的所有计划。 - `POST /v1/monitoring/schedules/{schedule_id}/run`:立即执行一个目标。 - `GET /v1/monitoring/runs`:检查持久化的评估运行历史和结果。 - `GET /v1/governance/controls`:检查可执行的 AI 保障控制目录。 - `POST /v1/governance/evaluate`:评估治理控制并写入审计日志。 - `POST /v1/governance/evidence`:提交绑定到特定保障控制字段的 SHA-256 凭证引用。 - `GET /v1/governance/evidence`:按 artifact、控制或状态列出凭证并审查其健康度。 - `POST /v1/governance/evidence/{evidence_id}/review`:通过持久的理由独立批准或拒绝待处理的凭证;禁止自我审查,且过期的凭证无法被批准。 - `GET /v1/reporting/summary`:汇总发现结果、审计日志和历史指标。传入 `artifact_id` 可隔离单个 AI 系统。 - `GET /v1/reporting/assurance-report`:导出基于凭证的 AI 保障合规报告(JSON 或 markdown 格式),包括聚合和模型风险态势、计划与运行健康状况、治理状态、标准覆盖率、供应链凭证和可信度趋势。传入 `artifact_id` 可将所有凭证限定于单个 AI 系统;如果省略,则生成项目组合报告。 - 标准覆盖范围包括带版本的框架来源,以及精确的 NIST AI RMF 子类别和 MITRE ATLAS 技术标识符。缺失的治理控制将作为缺口报告,不计入合规凭证。 - `GET /v1/reporting/compliance`:返回带有 AIAF 控制状态、已提供和缺失的凭证、映射的标准参考、风险发现和得出的覆盖率百分比的框架级凭证矩阵。结果用于衡量凭证完整性,不构成认证声明。可选的 `artifact_id` 适用与保障报告相同的系统边界。 - `GET /v1/reporting/alerts`:返回源自风险、可信度、治理、标准和供应链凭证的优先级持续监控警报。传入 `artifact_id` 可获取针对特定系统的警报。 - `POST /v1/reporting/snapshots`:将当前项目组合或特定 artifact 的报告作为只追加的 JSON 保留,并具有规范的 SHA-256 摘要;在配置了报告签名密钥时,请提供 `created_by`、可选的 `artifact_id` 以及 `sign=true`。 - `GET /v1/reporting/snapshots`:列出快照元数据,但不嵌入每个完整的报告;可根据需要按 `artifact_id` 筛选。 - `GET /v1/reporting/snapshots/{snapshot_id}`:检索不可变的时间点报告及其摘要或签名元数据。 - `POST /v1/reporting/snapshots/{snapshot_id}/verify`:重新计算报告完整性、范围、schema 版本以及可选的 HMAC 签名检查,并保留验证审计事件。 ### 代码检查 如果您已安装 `ruff`,请运行: ``` ruff check . ``` ## 技术架构 ┌─────────────────────────────────────────────────────────┐ │ AI 保障框架 │ └─────────────────────────────────────────────────────────┘ ``` ┌───────────────┐ │ User Portal │ └───────┬───────┘ │ ▼ ``` ┌─────────────────────────────────────────────────────────┐ │ API 网关层 │ │ FastAPI 服务 │ └─────────────────────────────────────────────────────────┘ ``` │ ┌──────────────────┼──────────────────┐ ▼ ▼ ▼ ``` ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │ 风险/注册表 │ │ 治理引擎 │ │ 报告引擎 │ │ Agentic 引擎 │ │ │ │ │ └──────┬─────────┘ └──────┬─────────┘ └──────┬─────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────────────┐ │ 安全分析层 │ ├─────────────────────────────────────────────────────────┤ │ Prompt Injection 检测 │ │ Jailbreak 分析 │ │ 模型风险评估 │ │ Agent 风险评估 │ │ 工具调用风险引擎 │ │ 工作流安全验证器 │ │ 工作流图安全分析器 │ │ Agent 策略约束评估器 │ │ Runtime 工具授权 │ │ 供应链验证 │ │ 依赖风险分析 │ │ 依赖漏洞匹配 │ │ 签名公告源验证 │ │ 数据泄露检测 │ │ 对抗性测试 │ │ 可信度评分 │ └─────────────────────────────────────────────────────────┘ ``` │ ▼ ``` ┌─────────────────────────────────────────────────────────┐ │ 知识与映射层 │ ├─────────────────────────────────────────────────────────┤ │ OWASP LLM Top 10 │ │ MITRE ATLAS │ │ NIST AI RMF │ │ NIST SSDF │ │ CIS Controls │ │ AI 保障控制目录 │ │ 独立凭证审查 │ └─────────────────────────────────────────────────────────┘ ``` │ ▼ ``` ┌─────────────────────────────────────────────────────────┐ │ 数据与分析层 │ ├─────────────────────────────────────────────────────────┤ │ PostgreSQL │ │ 向量数据库 │ │ 训练 Artifact │ │ 部署流水线 │ │ 审计日志 │ │ 安全发现 │ │ 历史指标 │ │ 受管风险登记册 │ │ 漏洞公告目录 │ │ 签名公告源快照 │ │ 控制凭证存储库 │ │ 合规报告导出 │ │ 不可变的保障报告快照 │ │ 持续监控警报 │ └─────────────────────────────────────────────────────────┘
标签:AI代理安全, AI治理, LLM, Unmanaged PE, 人工智能安全, 合规性, 大模型红队, 模型评估, 测试用例, 逆向工具