PUSIDUN
← BACK TO BLOG
技术 2026年5月23日

Agent 插件与 Skill 供应链安全

Agent 产品一旦支持插件、Skill 或 MCP Server,就进入了供应链安全领域。

插件能扩展能力,也能扩大攻击面。尤其是 Coding Agent 场景,插件可能拥有文件读写、命令执行、网络访问、上下文读取等能力。如果缺少权限边界,插件就会变成安全短板。

一、Agent 插件为什么危险

传统插件通常只扩展 UI 或特定功能,而 Agent 插件往往会参与决策和执行。

它可能:

这意味着插件不只是“代码扩展”,还是 Agent 行为链路的一部分。

一个恶意插件可以不直接攻击系统,而是通过工具结果诱导模型下一步执行危险动作。

二、常见插件形态

Agent 生态里的扩展通常包括:

不同形态风险不同,但安全目标一致:

三、供应链攻击路径

1. 恶意安装脚本

很多包管理器支持安装脚本,例如 npm 的 postinstall

攻击路径:

  1. 用户安装插件
  2. 插件安装依赖
  3. 依赖执行 postinstall
  4. 脚本读取 .env 或 SSH Key
  5. 数据被上传

缓解方式:

2. 插件权限声明不实

插件 manifest 声明只读项目文件,实际却访问用户目录。

缓解方式:

3. 插件更新被劫持

插件首次安装安全,但后续版本被污染。

缓解方式:

4. Tool Injection

插件返回结果中包含恶意提示,诱导 Agent 执行下一步危险动作。

缓解方式:

四、插件权限 manifest

一个插件至少应该声明:

示例:

{
  "name": "code-review-helper",
  "version": "1.2.0",
  "publisher": "example",
  "permissions": {
    "filesystem": {
      "read": ["workspace"],
      "write": []
    },
    "network": {
      "connect": ["api.example.com"]
    },
    "process": {
      "execute": []
    },
    "context": {
      "readConversation": false,
      "readToolResults": true
    },
    "secrets": {
      "read": false
    }
  }
}

manifest 不是声明完就结束,关键是运行时要强制执行。

五、插件安全审核

插件进入市场前,可以做几类审核:

  1. 静态扫描
  2. 依赖漏洞扫描
  3. Secret 扫描
  4. 高危 API 扫描
  5. 安装脚本检查
  6. 动态行为沙箱
  7. 人工审核高权限插件

高危 API 包括:

单独出现不一定危险,但组合起来要提高风险等级。

例如“读取 .env + 压缩 + 上传未知域名”就是明显高危行为链。

六、插件运行时隔离

插件隔离可以按成熟度分阶段建设。

第一阶段:产品层隔离

第二阶段:进程隔离

第三阶段:系统级沙箱

工程上可以先做第一阶段,因为最容易落地,也能覆盖大部分高风险行为。

七、企业治理

企业版 Agent 插件安全还需要治理能力:

这类能力很重要,因为企业终端不是单机环境,而是成百上千台设备的统一风险面。

八、Roadmap 中的位置

在 AI 终端安全 Roadmap 里,插件和 Skill 供应链安全是生态扩展阶段必须补上的能力:

我会把 Agent 插件看成供应链和运行时安全问题。插件安装前做来源、签名、依赖和安装脚本检查;安装后通过 manifest 声明权限,并由运行时强制限制文件、网络、命令、上下文和凭证访问;插件输出默认视为不可信数据,防止 Tool Injection;企业侧支持白名单、版本锁定、审计和紧急禁用。

这样才能把插件安全从单纯的代码扫描,提升到完整的生态治理体系。