Skill as a Service 的新安全模型与架构设计


引言:当 SaaS 从“给人用”变成“给 Agent 用”

SaaS 的权限体系正在经历一次前所未有的重构。

在传统软件时代,权限的核心问题是:

“用户能不能看到这个按钮、访问这个数据?”

但在 Skill as a Service(SkillaaS) 模式下,权限的问题变成了:

“哪个 Agent 可以在什么上下文里调用哪个 Skill,从而对现实世界执行什么操作?”

这不是 UI 权限,不是数据权限,而是 行为权限
一个 Skill 的调用可能带来邮件发送、订单退款、上链签名、资产划转等不可逆操作。
这让传统 RBAC/OAuth 机制显得完全不足以应对新的风险边界。

当软件进入“可被 AI 调用”的时代,权限体系必须随之升级。


一、为什么 SkillaaS 必须重写权限模型?

SkillaaS 的核心不是“系统暴露 API”,而是“系统暴露可执行的、带副作用的能力”。

挑战来自:

1. 多主体问题

调用者不再是人,而是:

  • 人类用户

  • Orchestrator Agent

  • 子 Agent

  • 第三方智能体

  • 自动化流程

每个主体都可能发起 Skill 调用。

2. 意图驱动系统

Agent 会根据上下文自动推断“应该调用什么 Skill”。
一旦推断错误,就可能执行不可逆操作(如付款)。

3. Prompt 注入攻击

攻击者可通过网页、邮件、文档操控 Agent 误调用危险 Skill。

4. 副作用操作的不可逆性

Skill 不再是“查数据”,而是“执行动作”。
退款、转账、删除、发送消息都必须格外谨慎。

5. 多租户与可审计性压力

Skill 最终会被接入跨品牌、跨系统、跨组织生态。
权限模型必须具备企业级合规能力。

因此,一个全新的模型是必须的。


二、SkillaaS 权限体系的五大设计原则

1. 身份必须分层:Human / Tenant / Agent 三元身份链

传统 OAuth 只处理人。

SkillaaS 必须处理多层身份:

身份层 说明
Human Identity 用户真实身份
Tenant Identity 组织 / 品牌 / 门店
Agent Identity (DID) 执行动作的数字主体

权限判断必须依赖于:

Human × Tenant × Agent 的组合身份链

子 Agent 的权限永远不能超过 Orchestrator。


2. Skill Manifest:由 Skill 声明自己的权限需求

Skill 必须声明:

  • 所需 scopes(最小权限)

  • 风险等级

  • 是否不可逆

  • 最大 TTL

  • 允许被哪些身份类型调用

示例:


skill: send_email
required_scopes:
- email.send
- contacts.read
side_effects: irreversible
data_classification: PII
allow_callers:
- role: orchestrator
max_ttl: 600s

这类似 Android 权限模型,平台可对 Skill 做预审与沙箱化处理。


3. 动态权限收缩:权限是“借用”而不是“授予”

Skill 的权限不能静态赋予 Agent,而必须动态下发:

  • 只对当前任务有效

  • 任务每推进一步,相关权限即时销毁

  • 在高风险上下文自动削减 scope

  • 在“提示词注入可疑”情境主动降级

  • 行为与意图不一致立即终止

这是 SkillaaS 的核心创新。


4. Human-in-the-Loop:基于风险等级的动态确认机制

大模型自动化不能意味着无限制自动执行。

Skill 调用必须根据 可逆性 × 影响范围 动态判定是否需要人确认:

可逆性 影响范围 处理方式
可逆 私有 自动执行
可逆 多人/外部 记录日志、事后审查
不可逆 私有 摘要确认
不可逆 外部/金融 强制人工审批

越接近“执行不可逆的公共动作”,越需要人类参与。


5. Prompt 注入防御:权限模型的新职责

提示词注入不是 NLP 问题,而是权限边界问题。

需要系统级防御:

  • 外部内容默认标记为 untrusted

  • 不可信上下文自动屏蔽高风险 Skill

  • 检查意图与 Skill 调用链的一致性

  • 强制执行“信任路径验证”

只有“意图合法且路径可信”的调用才被允许。


三、Skill 调用的标准生命周期

整个调用链必须完整可追溯。

步骤 1:Human 或事件触发任务

例如“帮我给这个订单退款”。

步骤 2:Orchestrator Agent 拆解意图生成 Skill Chain

如:

  1. order.info.get

  2. refund.check

  3. refund.execute

步骤 3:Policy Engine + Risk Engine 联合评估

  • 三元身份链

  • Skill Manifest

  • 风险评分

  • 上下文可信度

  • 是否需要人工确认

步骤 4:生成一次性 Capability Token

特点:

  • 不含身份

  • 最小权限

  • 一次性、短 TTL

  • 无法转发,他人拿不到

步骤 5:Skill 在沙箱中执行

防止跨权限攻击。

步骤 6:Audit Log(可上链)

记录:

  • 决策链

  • Skill Chain

  • 副作用行为

  • 人工确认记录

确保可追溯、可复盘、可审查。


四、SkillaaS 权限体系的四大核心模块

  1. Identity Layer(三元身份)

  2. Policy Engine(策略与上下文控制)

  3. Capability Token(一次性授权)

  4. Skill Sandbox(副作用隔离)

这是 AI 时代软件底层最关键的新安全标准。


五、结语:未来的软件权限模型属于 Agent,而不是用户

Skill as a Service 并不是简单的 API 接口化,而是:

把企业能力变成可被 AI 调用的“数字能力单元”

这让权限体系的核心从“按钮权限”变成了“行为权限”。
未来的软件必须具备:

  • 让 Agent 去执行

  • 让人类保持掌控

  • 让系统可追溯、可审计、可信任

这样的能力。

重建权限体系,是走向下一代 SaaS(SaaS → SkillaaS)的基础设施工程。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐