让智能体工作,把最终效果的控制权留在自己手里。
只保护 MCP 服务器是不够的:智能体还能触及其 harness 允许它触及的 shell、文件、API 和自动化。本指南为开发者和机构梳理完整路径:诊断你现有的配置,测试边界,只授权确切的候选变更,控制运行过程,并用证据还原实际发生的事情。
可用 · Break the Mandate
适用对象
开发者与维护者
已经把任务委托给编码智能体、希望让它们工作更久而不必逐条批准命令的团队。对自己的文件运行 Doctor,使用无需账号的本地实验室,并把回执附到 PR 上。
平台与安全团队
决定智能体能挂载、访问和导出什么的人。一份在 Git 中版本化的可移植配置,CLI 与控制台使用相同的校验,hold 和 stop 控制由运行时确认。
机构与组织
需要对自主软件给客户、审计方或监管方造成的结果负责的一方。授权权限留在智能体之外,每个效果都会留下可离线验证的证据,并且这些证据的局限都已写明。
三个层面,一个原则
智能体可以提出建议。授权权限留在智能体之外。覆盖范围仅限于已声明并经过测试的路径:SecureStamp 不控制绕过该边界的操作,而是把它们明确指出,而不是隐藏。
MCP 服务器
通过 shell 启动的服务器、写入文件中的密钥,或未固定版本的软件包,会让一个工具变成没人审查过的授权路径。
Doctor 读取所选文件并提出修正后的副本;MCP Guard 对调用进行中介,Action Proof 把授权绑定到确切的效果。
Action Proof智能体
智能体可以通过 MCP、shell、脚本或直接的 API 调用尝试同样的事情。它的日志和摘要描述的是它自称做过的事,而不是实际发生的事。
客户的 Execution Guardian 对每个经过中介的效果放行或暂扣;智能体之外的观察者记录结果,Task Contract 限定步骤、资源、预算和有效期。
Task ContractHarness
挂载、socket、凭据助手、代理和实际生效的网络,决定了智能体真正拥有的权限,即使声明的配置另有说法。
实验室逐条路径测试 harness 配置,并与宽松的基线对照,对每条没有探针的路径标记为 not_evaluated。
智能体与 harness 实验室Break the Mandate — 演练流程
入口问题很简单:你的智能体能否做出超出你所批准任务的事?参考场景用五个步骤回答这个问题,使用合成 fixture,无需账号,也不需要模型 API 密钥。
- 01
一项有用的任务
智能体在受控的 fixture 内准备一项真实的变更。
- 02
基线中的缺口
同样的越权尝试,在一个刻意设置为宽松的基线中产生了效果,并由另一个进程观察到。这是已知的实验对照,不是在你的机器上发现的漏洞。
- 03
被约束的缺口
启用控制后,该路径被约束,而有用的任务仍能完成。使任务失去用处的拒绝不算作价值。
- 04
环境变化时证据即失效
配置的某个关键依赖发生变化:先前的证据不再为该路径提供依据,直到重新验证。
- 05
只有确切的候选变更才能离开
冻结后的候选变更会被审查。更改其字节或目标会使导出失效;恢复为已批准的内容才允许产生效果。
快速开始
Doctor 不需要 Docker,也不需要模型,并且不会执行它读取的任何内容。参考场景是合成的:它绝不会执行项目代码,其报告会被标注为模拟证据。
# 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/*.ymlAgent Workflow Doctor:到达智能体的不受信任的 issue、PR 或评论输入,已声明的权限,密钥引用,宽泛的工具,以及对外部内容的 checkout。它不会下载 action、不会解析密钥,也不会执行 YAML。
HarnessProfileV1面向高级用户的完整配置。Doctor 绝不会仅凭单个文件凭空构造它:挂载、观察者、实际生效的凭据和后端均由操作方选定并验证。
- 只读取指定的文件;不会遍历主目录。
- 不执行文件中的任何命令、hook 或表达式。
- 不解析密钥,也不验证 token。
- 在副本上提出可供审查的补丁;绝不覆盖原文件。
- 对“无问题”的结果与对发现同等重视地展示。
- 静态诊断既不能确立隔离,也不能确立保护。
Exact Export:智能体准备,你授权确切的变更
智能体在你项目的受控副本中准备变更。导出凭据留在它的环境之外,只有经过审查的候选变更才会通过 Execution Guardian 离开。
- 01
准备
在隔离环境中,基于所选项目的快照;你的 .git 绝不会被当作可信基础重复使用。
- 02
冻结
在审查之前固定候选变更:基线、字节与摘要、ref、目标以及先前状态。
- 03
授权
批准与该候选变更绑定。之后的任何更改都会使其失效;--yes 不能替代 MFA 或法定人数。
- 04
执行
由 Guardian 保管,并检查目标的状态:偏移和竞态绝不会被覆盖。
- 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。没有“安全智能体”排行榜,也没有通用徽章。