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, 人工智能安全, 合规性, 大模型红队, 模型评估, 测试用例, 逆向工具