跳到主要内容
文档SecureStamp Protocol
Execution Governance · MCP · 智能体 · harness

让智能体工作,把最终效果的控制权留在自己手里。

只保护 MCP 服务器是不够的:智能体还能触及其 harness 允许它触及的 shell、文件、API 和自动化。本指南为开发者和机构梳理完整路径:诊断你现有的配置,测试边界,只授权确切的候选变更,控制运行过程,并用证据还原实际发生的事情。

可用 · Break the Mandate

适用对象

开发者与维护者

已经把任务委托给编码智能体、希望让它们工作更久而不必逐条批准命令的团队。对自己的文件运行 Doctor,使用无需账号的本地实验室,并把回执附到 PR 上。

平台与安全团队

决定智能体能挂载、访问和导出什么的人。一份在 Git 中版本化的可移植配置,CLI 与控制台使用相同的校验,hold 和 stop 控制由运行时确认。

机构与组织

需要对自主软件给客户、审计方或监管方造成的结果负责的一方。授权权限留在智能体之外,每个效果都会留下可离线验证的证据,并且这些证据的局限都已写明。

三个层面,一个原则

智能体可以提出建议。授权权限留在智能体之外。覆盖范围仅限于已声明并经过测试的路径:SecureStamp 不控制绕过该边界的操作,而是把它们明确指出,而不是隐藏。

Break the Mandate — 演练流程

入口问题很简单:你的智能体能否做出超出你所批准任务的事?参考场景用五个步骤回答这个问题,使用合成 fixture,无需账号,也不需要模型 API 密钥。

  1. 01

    一项有用的任务

    智能体在受控的 fixture 内准备一项真实的变更。

  2. 02

    基线中的缺口

    同样的越权尝试,在一个刻意设置为宽松的基线中产生了效果,并由另一个进程观察到。这是已知的实验对照,不是在你的机器上发现的漏洞。

  3. 03

    被约束的缺口

    启用控制后,该路径被约束,而有用的任务仍能完成。使任务失去用处的拒绝不算作价值。

  4. 04

    环境变化时证据即失效

    配置的某个关键依赖发生变化:先前的证据不再为该路径提供依据,直到重新验证。

  5. 05

    只有确切的候选变更才能离开

    冻结后的候选变更会被审查。更改其字节或目标会使导出失效;恢复为已批准的内容才允许产生效果。

快速开始

Doctor 不需要 Docker,也不需要模型,并且不会执行它读取的任何内容。参考场景是合成的:它绝不会执行项目代码,其报告会被标注为模拟证据。

shell
# Node 22.22.3 或更高版本
npm install --save-dev @securestamp/mcp-guard @securestamp/execution-governance

# 1. Doctor:对你所选文件的静态诊断
npx securestamp-mcp-doctor scan .mcp.json --propose
npx securestamp-mcp-doctor scan-native <settings.json|config.toml> --format=<shape>
npx securestamp-mcp-doctor scan-workflow .github/workflows/agent.yml

# 2. 可移植场景:验证并运行参考场景,带 hold
npx securestamp-execution-governance validate scenario.json
npx securestamp-execution-governance run scenario.json --hold-before=step-1

给出无效参数时,每个命令都会打印其用法和支持的格式。如需完整的 HarnessProfileV1,请使用 securestamp-mcp-doctor scan-harness。使用 --hold-before 时,运行会显示一个被挂起(held)的效果,该效果绝不会被准入。默认无遥测。

Doctor:先看你的原生文件

Doctor 产出已声明的事实,每条都附带来源文件和字段,并给出一份部分诊断,说明它读取了哪些层、哪些仍然未知。兼容性以“形态 + 传输 + 经过测试的客户端”来描述;它不识别的格式会被报告为不支持,绝不会被悄悄跳过。

  • .mcp.json · 含 mcpServers 的 JSON(stdio)

    已声明的命令、凭据引用、写入文件的密钥、通过 shell 的启动方式,以及可变或 @latest 的软件包。固定的版本并不能确立完整性:将实际生效的制品与已批准的制品进行核对,是执行方的职责。

  • settings.json · config.toml ([mcp_servers])

    权限、工具和已识别的配置层,包括冲突与缺失的数据。单个文件无法显示托管策略、CLI 覆盖或继承的配置:输出中会注明这一点。

  • .github/workflows/*.yml

    Agent Workflow Doctor:到达智能体的不受信任的 issue、PR 或评论输入,已声明的权限,密钥引用,宽泛的工具,以及对外部内容的 checkout。它不会下载 action、不会解析密钥,也不会执行 YAML。

  • HarnessProfileV1

    面向高级用户的完整配置。Doctor 绝不会仅凭单个文件凭空构造它:挂载、观察者、实际生效的凭据和后端均由操作方选定并验证。

  • 只读取指定的文件;不会遍历主目录。
  • 不执行文件中的任何命令、hook 或表达式。
  • 不解析密钥,也不验证 token。
  • 在副本上提出可供审查的补丁;绝不覆盖原文件。
  • 对“无问题”的结果与对发现同等重视地展示。
  • 静态诊断既不能确立隔离,也不能确立保护。

Exact Export:智能体准备,你授权确切的变更

智能体在你项目的受控副本中准备变更。导出凭据留在它的环境之外,只有经过审查的候选变更才会通过 Execution Guardian 离开。

  1. 01

    准备

    在隔离环境中,基于所选项目的快照;你的 .git 绝不会被当作可信基础重复使用。

  2. 02

    冻结

    在审查之前固定候选变更:基线、字节与摘要、ref、目标以及先前状态。

  3. 03

    授权

    批准与该候选变更绑定。之后的任何更改都会使其失效;--yes 不能替代 MFA 或法定人数。

  4. 04

    执行

    由 Guardian 保管,并检查目标的状态:偏移和竞态绝不会被覆盖。

  5. 05

    验证

    对后置条件进行独立验证,并生成可附到 PR 或 issue 的回执。

初始目标是本地 Git 仓库。在获得授权的配置和目标下,GitHub 适配器会创建一个新的 ref:它不会更新任何分支、不会强制推送、不会合并,也不会部署;打开 PR 是另一个独立的效果,需要各自的授权。仅当某个配置以实际生效的身份、挂载、socket 和网络,以及来自智能体上下文的 canary 证明了凭据保管,才会声称其具备凭据保管能力。

一份可移植配置,三种界面

配置是一个在你的仓库中版本化的 JSON 文件。库会生成完整的合约及其摘要;没有人手写签名。CLI 和控制台导入与导出相同的表示形式,并通过相同的校验:不存在与 Git 中策略不同的网页策略。每次编辑都会创建新的修订版本,进行中的运行保留其快照。

场景

带版本的 SSPI-execution-scenario:参数、含候选与基线摘要的项目源码,以及带有操作和预期效果的步骤。它不接受任意脚本,也不接受为把缺口变成成功而被篡改的预期结果。

配置(Profile)

runner 及其配置:后端、观察者租约和控制通道租约。系统会检查它们的可用性以及证据的适用性。

授权(Mandate)

效果与时间的限制、每个效果和资源的摘要,以及所需的批准:一份智能体无法触及的 Task Contract。

  • npm · @securestamp/execution-governance

    可移植的场景契约、带 hold、resume 和 stop 的控制平面,以及脱敏报告:验证并序列化场景、启动运行、发出幂等指令,并构建、验证和比较报告。它不授予任何权限,不隔离主机,也不替代客户的 Guardian。

  • CLI · securestamp-mcp-doctor · securestamp-execution-governance

    用于诊断的 scan、scan-native、scan-workflow 和 scan-harness;用于场景的 validate 和 run。无需账户。每次运行都会生成自己的报告,不会覆盖其他报告。

  • Dashboard · securestamp.online/dashboard/agents

    在由客户运营的已注册 runner 上进行场景、准备、运行、实时详情和运行后分析。浏览器不运行测试,也不接收提供方凭据;连接 runner 是自愿选择(opt-in)。

Hold、resume、stop

这些控制作用于由 Guardian 中介的路径。当其效果被暂扣时,智能体可以继续推理;界面将其显示为“效果已暂扣 / 进程运行中”,绝不会显示为智能体被冻结。

Hold

Guardian 关闭对新效果的准入,并保留预算、已消耗的授予和历史记录。它不会冻结已发出的调用,也不会为过期的效果建立队列。

Resume

重新开放之前,会重新验证授权、有效期、策略、配置、观察者和预算。每个新请求都会重新评估。

Stop

对本次运行是终结性的:持久地关闭准入,取消待处理的工作,并终止受监督的进程及其子进程。它优先于 resume 和重新连接。

成功的 HTTP 响应仅确认指令已收到。控制台分别显示已请求的内容、监督器已应用的内容以及已观察到的内容。若远程通道断开而观察者正常,准入会在本地保持暂扣;若观察者失效,配置会切断出口并终止容器。本地 stop 从不依赖控制台。

报告:不会被简化为红绿灯的状态

执行报告仅携带信息性 checksum,声明证据级别并支持运行比较;checksum 不是发布者认证。附有完整 Action Proof bundle 时,独立验证器使用报告外提供的信任锚点离线验证,并绑定精确候选、目标、权限和观测到的 receipt 结果。FAIL、SKIP、缺失证据和未评估路径保持可见;插桩失败会使运行保持 INCOMPLETE,绝不会是 PASS。

运行状态queued · running · held · stopping · stopped · completed · failed · incomplete
路径结果PASS · FAIL · SKIP
覆盖protected · contradicted · partial · not_evaluated
集成simulated · integration_real · no_evaluated
完整性complete · incomplete
报告结果PASS · FAIL · INCOMPLETE
效果结果succeeded · failed_no_effect · indeterminate

Checksum 仅供参考

报告摘要会检查所呈现的字节,但任何能重写报告的人都能重新计算它。它不是发布者认证。

该操作方信任的签发方

仅相对于操作方自行安装的锚点而言。制品自带的锚点并不会使其变得可信。

已由第三方复现

其他人运行了同一个 pack 并得到相同结果。这是另一种主张,会单独报告。

信息性的 pull request 检查

使用相同的导入器和规则比较原生文件的 base 与 head,显示已声明的变更、未知项和需要重新验证的候选项,并对照锚点验证附带的回执。它从固定的可信修订版本运行,仅有读取权限,没有密钥,也不执行 PR 中的代码。它为审查提供信息:它不是授权导出的检查,也不能取代 Guardian 或 ruleset。

这不能做什么

  • 它不会让模型变得安全,也不证明总体对齐:它只在已声明的配置上测试执行边界。
  • 它不控制绕过 Guardian 的路径;没有探针的路径保持 not_evaluated,绝不会因继承而被视为受保护。
  • 它不会撤销已经发生的效果:hold 和 stop 不是回滚。
  • 回执在其锚点之下显示完整性和范围;它并不表明已批准的代码是无害的,也不表明有独立方审计过。
  • 它不是全公司范围的紧急停止开关:v1 仅控制所选的运行及其已声明的 runner。
  • 兼容性按配置、版本和环境发布。某个 harness 上的 PASS 不会转移到其他操作系统、路径或客户端。

继续阅读

状态

可用:针对原生文件的 Doctor,通过 npm、CLI 和控制台运行参考场景,导出到本地 Git 的 Exact Export,以及信息性的 PR 检查。报告区分仅有 checksum 的历史和附带的 Action Proof bundle;只有 bundle 存在并通过外部锚点验证时才标示可分享 receipt。每项能力都按配置和环境公布证据等级——模拟、真实集成或未评估。

开放且可复现

场景、fixture、配方和向量均已公开,以便第三方复现或反驳每一项属性。反例以 issue 的形式提交,附上 seed、配置和观察到的结果;敏感发现遵循 SECURITY.md。没有“安全智能体”排行榜,也没有通用徽章。

Execution Governance — MCP、智能体与 harness 的安全 | SecureStamp Foundation