Docker 加入 NVIDIA 的 Open Secure AI Alliance,目标是共同建设 Agentic AI 所需的安全、治理与信任框架。这件事的重要性不在于又多了一个行业联盟,而在于它直面了一个现实问题:当 AI 从“生成答案”升级为“调用工具并执行操作”,传统的应用安全边界已经不够用了。
Agent 的风险不只来自模型
普通聊天应用主要处理输入与输出,Agentic AI 则可能读取文件、访问数据库、调用内部 API、执行脚本,甚至修改生产资源。模型一旦受到提示注入、工具描述污染或依赖包攻击,问题就不再是一段错误回答,而可能变成一次真实操作。
因此,Agent 的可信度不能只用模型评测分数衡量。生产系统至少需要回答这些问题:
- 当前运行的是哪个镜像、模型和工具版本?
- 镜像包含哪些依赖,是否存在已知漏洞?
- Agent 能访问哪些网络、文件、密钥和系统能力?
- 谁批准了这项操作,执行过程是否留下审计记录?
- 出现异常时,能否快速撤销权限、回滚版本并定位影响范围?
Docker 参与开放安全联盟的意义正在这里:容器镜像、构建过程和运行时策略位于模型与基础设施之间,是建立可验证信任链的关键位置。来源摘要并未披露联盟的具体规范或产品路线,因此现阶段更适合把它理解为一次围绕开放安全、治理和互操作性的协作,而不是某个现成解决方案的发布。
“开放”应该让安全证据能够流动
开放不只是公开模型权重。对 Agentic AI 来说,更重要的是让不同工具能够交换和验证安全证据,例如软件物料清单、镜像来源、构建证明、漏洞报告、策略决策和运行审计事件。
如果这些信息只能存在于某个厂商的私有控制台中,企业很难把模型服务、容器平台、身份系统和审计平台连接成完整链路。开放格式和可验证元数据则允许团队在不同组件之间建立统一规则:未经批准的镜像不能部署,高危漏洞阻断发布,Agent 的工具调用必须经过策略网关,敏感操作还要获得人工确认。
信任也不等于默认放行。更可靠的原则是“信任,但必须验证”:
- 构建阶段记录镜像内容与来源。
- 发布阶段扫描依赖并执行策略检查。
- 部署阶段固定镜像摘要,避免标签漂移。
- 运行阶段应用最小权限和网络隔离。
- 操作阶段记录主体、参数、结果与审批信息。
可以这样实践:先建立一个受限 Agent 容器
下面是一个可直接运行的最小示例。它不包含真实模型,只用于验证容器的权限边界和密钥挂载方式。实际接入 Agent 时,需要替换镜像与启动命令,并通过受控代理开放必要的外部访问,而不是简单删除所有网络限制。
创建目录和测试密钥:
mkdir -p agent-sandbox/secrets
cd agent-sandbox
printf '%s' 'replace-with-a-test-key' > secrets/model_api_key.txt
chmod 600 secrets/model_api_key.txt
创建 compose.yaml:
services:
agent:
image: python:3.12-alpine
command:
- python
- -c
- |
import json
from pathlib import Path
secret = Path("/run/secrets/model_api_key").read_text().strip()
event = {
"event": "agent_runtime_check",
"secret_loaded": bool(secret),
"network_enabled": False,
"status": "ok",
}
print(json.dumps(event))
user: "65532:65532"
read_only: true
network_mode: none
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
pids_limit: 64
mem_limit: 128m
tmpfs:
- /tmp:size=16m,mode=1777
secrets:
- model_api_key
secrets:
model_api_key:
file: ./secrets/model_api_key.txt
运行并检查结果:
docker compose up --abort-on-container-exit
正常情况下,容器会输出一条 JSON 审计事件,然后退出。这个例子落实了几个基础控制:根文件系统只读、删除 Linux capabilities、禁止提权、限制进程和内存、关闭网络,并通过文件挂载密钥,避免把密钥直接写进镜像或命令行。
进入生产环境前,还应固定镜像摘要并检查供应链信息。可以先拉取镜像,再取得可固定的摘要:
docker pull python:3.12-alpine
docker image inspect \
--format '{{index .RepoDigests 0}}' \
python:3.12-alpine
将输出的 image@sha256:... 写回 Compose 文件。若环境已启用 Docker Scout,还可以生成 SBOM 并检查漏洞:
docker scout sbom python:3.12-alpine
docker scout cves python:3.12-alpine
这些措施仍然不能阻止所有提示注入。Agent 的每个高风险工具还需要独立授权,例如把“读取工单”和“删除云资源”划分为不同权限,限制参数范围,并要求删除、转账、发布等不可逆操作经过人工确认。
落地时从可验证的控制开始
团队不必等待联盟发布完整规范才开始建设。现在就可以盘点 Agent 的镜像、模型、提示模板、工具和数据源,为每次发布生成可追踪的版本记录,并把工具调用接入统一审计链路。
采用时可以检查以下几项:镜像是否固定摘要,构建是否产生 SBOM,密钥是否短期有效,容器是否以非 root 用户运行,网络出口是否受控,高风险工具是否需要审批,日志是否能关联用户身份、模型版本和具体工具参数。
开放标准有助于避免安全能力被锁在单一平台中,但开放本身不会自动产生信任。真正的信任来自持续可验证的证据、明确的权限边界,以及异常发生后能够停止、追踪和恢复的工程能力。Docker 加入 Open Secure AI Alliance,释放出的核心信号正是:Agentic AI 的下一阶段竞争,不只取决于模型能做什么,也取决于组织能否证明它做了什么、为什么被允许这样做。