Agentic AI 要走进生产环境,先把开放性与信任链补齐

2026-07-31 32 预计阅读时间: 1 分钟
来源: docker.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:8 分钟

Docker 加入 NVIDIA 的 Open Secure AI Alliance,目标是共同建设 Agentic AI 所需的安全、治理与信任框架。这件事的重要性不在于又多了一个行业联盟,而在于它直面了一个现实问题:当 AI 从“生成答案”升级为“调用工具并执行操作”,传统的应用安全边界已经不够用了。

Agent 的风险不只来自模型

普通聊天应用主要处理输入与输出,Agentic AI 则可能读取文件、访问数据库、调用内部 API、执行脚本,甚至修改生产资源。模型一旦受到提示注入、工具描述污染或依赖包攻击,问题就不再是一段错误回答,而可能变成一次真实操作。

因此,Agent 的可信度不能只用模型评测分数衡量。生产系统至少需要回答这些问题:

  • 当前运行的是哪个镜像、模型和工具版本?
  • 镜像包含哪些依赖,是否存在已知漏洞?
  • Agent 能访问哪些网络、文件、密钥和系统能力?
  • 谁批准了这项操作,执行过程是否留下审计记录?
  • 出现异常时,能否快速撤销权限、回滚版本并定位影响范围?

Docker 参与开放安全联盟的意义正在这里:容器镜像、构建过程和运行时策略位于模型与基础设施之间,是建立可验证信任链的关键位置。来源摘要并未披露联盟的具体规范或产品路线,因此现阶段更适合把它理解为一次围绕开放安全、治理和互操作性的协作,而不是某个现成解决方案的发布。

“开放”应该让安全证据能够流动

开放不只是公开模型权重。对 Agentic AI 来说,更重要的是让不同工具能够交换和验证安全证据,例如软件物料清单、镜像来源、构建证明、漏洞报告、策略决策和运行审计事件。

如果这些信息只能存在于某个厂商的私有控制台中,企业很难把模型服务、容器平台、身份系统和审计平台连接成完整链路。开放格式和可验证元数据则允许团队在不同组件之间建立统一规则:未经批准的镜像不能部署,高危漏洞阻断发布,Agent 的工具调用必须经过策略网关,敏感操作还要获得人工确认。

信任也不等于默认放行。更可靠的原则是“信任,但必须验证”:

  1. 构建阶段记录镜像内容与来源。
  2. 发布阶段扫描依赖并执行策略检查。
  3. 部署阶段固定镜像摘要,避免标签漂移。
  4. 运行阶段应用最小权限和网络隔离。
  5. 操作阶段记录主体、参数、结果与审批信息。

可以这样实践:先建立一个受限 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 的下一阶段竞争,不只取决于模型能做什么,也取决于组织能否证明它做了什么、为什么被允许这样做。


相关推荐