先证明边界,再授予自主权。
一个面向编程智能体的可复现实验室。它尝试突破所声明的限制——经由 MCP、shell、脚本或直接的 API 调用——从智能体外部观测结果,然后在同一配置档下运行真实任务。产出是一个候选变更、每一条经过测试的路径各自的签名证据,以及一份明确列出哪些未被评估的清单。
Beta · 按路径的证据
实验室今天做什么
每一条都是实验室及其所产出签名报告的性质,不用问我们就能核对。
- 先复现缺口:宽松的基线展示了当一个限制仅仅停留在声明上时,智能体能造成的效果,这样受保护的运行才有真实的东西需要遏制。
- 把同一个被禁止的尝试分别经由 MCP、shell、脚本和直接的 API 调用发出。没有被实际演练过的路径会被报告为未评估,绝不会被报告为已保护。
- 从智能体之外的一个进程观测效果。智能体的日志、摘要与工具输出,都被视为不可信的证据。
- 只放行经过审阅的那个确切候选变更——仓库、分支、预期 ref 与 diff——经由 Execution Guardian,并对远端状态做原子检查。
- 用一把智能体永远看不到的监督程序密钥,为每一份运行报告签名;报告会对照运营方安装的 trust anchor 离线验证。
它为何存在
MCP 只是一条路径。shell、文件、API、浏览器与自动化是另外几条。
一个团队想让编程智能体工作,同时不让它触及生产环境、机密或他人的工作,而且需要在不毁掉自己真实环境的前提下,核实这些限制确实站得住。hooks 与审批模式描述的是智能体如何请求许可;它们不是一道安全边界。风险在于智能体实际能动用的权限,以及它实际能到达的路径——一个 SSH socket、一个浏览器会话、一个会为任何请求签名的 proxy,或者一个内部端点,都能在不暴露任何一把密钥的情况下赋予权限。
测试背后的失效类别
2026 年的公开案例塑造了这些场景。每个类别都对应一项控制,以及试图突破这项控制的那些测试。
触手可及的凭据
一个智能体在某位开发者的机器上找到一个长期有效、作用于整个账户的令牌,直接调用了提供方的 API,删除了一个生产数据库卷。控制:环境内不存在环境凭据、socket、浏览器会话或云元数据;可导出的效果只能经由 Execution Guardian。
测试 · H04 · H05 · H15
未声明的通道
在一次内部评估中,本应被隔离的智能体把一个共享的包缓存当作留言板,并进行了大规模协同。控制:每次运行一个私有命名空间,依赖来自不可变的快照,并且不存在任何会触发下载或写入的缓存未命中——哪怕只是一个 GET 也可能改变缓存。
测试 · H10 · H23
没有正当出口的任务
无解的任务把执着的智能体推向钻评分器的空子,而不是停下来。控制:cannot_complete_within_scope 与 needs_authority 都是有效的结果,经由一个有界通道交给运营方——绝不是扩大权限的理由。
测试 · H22
伪造的工具输出
那次调查中的部分对话记录,含有看似真实、实则不然的工具结果。控制:智能体之外的观测者读取效果以及目的地的后置条件;无论是智能体的日志,还是 Guardian 自己的成功消息,都不被当作事实。
测试 · H11 · H17
单一屏障
只依赖一项控制的隔离,只能撑到那项控制失效为止。控制:一道独立于 Guardian 的外层屏障;攻陷某个辅助程序乃至 Guardian 本身,都不得因此打开通往互联网、宿主网络或其他测试活动的通路。
测试 · H19
来得太晚的叫停
在那次评估事件中,检测与叫停都发生在损害之后。控制:智能体之外的持久叫停;一旦过期就关闭准入与出站的观测者心跳;以及任何重试或重启都无法重置的测试活动预算。
测试 · H07 · H20 · H21
这些案例是提出这些失效类别的动因。它们不是取证意义上的复刻,这里也没有任何内容声称本实验室本可以阻止它们。所测试的变体——别名、shim、缓存未命中——均为自行设计。
闭环
声明、尝试突破、观测、修正、重新测试、批准、执行、验证。
- 01 声明
- 02 尝试突破
- 03 从外部观测
- 04 修正
- 05 重新测试
- 06 批准确切效果
- 07 执行
- 08 验证
一个已声明的限制,会变成一项可反驳的测试,随后同一个限制又支配真实的运行。更改任何实质性字段——模型、某个挂载、策略、适配器或目的地——都会迫使受影响的路径重新验证,之后才能再次计入。
四项彼此分离的职责
Harness
提出变更;hooks 解释拒绝的原因。它的文字、它的测试和它的日志,在经过对照之前都是不可信的证据。它可能出错,也可能试图规避控制。
环境
在智能体的掌控之外,限制文件、进程、时间、资源与网络。第一个后端:一次性基础设施之中、Linux 上的非特权 Docker——没有宿主的 HOME、共享的 .git、SSH 或 Docker socket、浏览器会话、云元数据或环境凭据。
Execution Guardian
可导出效果的唯一执行者。它验证合约、行为者、预算、前置状态、策略与吊销。它的密钥和账本,永远不会挂载到智能体运行的地方。
观测者与目的地
智能体之外的一个进程,记录结果以及它自身的健康状况;另一个独立的读取器核对目的地的后置条件。两者都不把模型的摘要或 Guardian 的日志当作事实。
在实验室中,观测者与 Guardian 是彼此分离的进程,各自拥有独立的目录与权限。这是相对于被测进程的独立性,而不是独立的机构审计。
配置档与实验室等级
每个结果都点名它覆盖了哪些路径,从不给出一个全局的「安全」。
控制配置档
HP0协作式的 hooks 与配置。可用来诊断意外;Guardian 之外的效果不在覆盖范围内。HP1隔离执行器、Execution Guardian 与外部观测者。只有在所声明的后端与版本上测试过的路径,才能宣称实现了遏制。HP2HP1 再加上在目的地经过验证的限制。它扩大的是对该目的地的覆盖,而不是对他人云端智能体内部的覆盖。
实验室等级
LR0在合成 fixture 上运行的确定性、经过评审的进程,位于禁用网络的临时非特权容器中。证明的是机制的逻辑,而不是面对对抗性代码时的安全性。LR1对某个 harness 的有界重放:使用合成响应并禁用其扩展,在关闭出站的专用容器中进行。如果该 harness 能运行任意代码,这次运行就移到 LR2。LR2自主模型、不可信代码与对抗性测试:一台专用的一次性 Linux 虚拟机,配有独立的外层屏障与测试活动限制。
三个配置档——包括刻意放宽的基线——都在一个没有生产环境、也没有互联网目的地的封闭环境中运行。基线可以触及一个合成的禁止资源——绝不会是真实的资源。
fixture 默认参数
作为实验室参数进行版本管理:一个合成仓库的副本、2 个 CPU、4 GiB 内存、256 个进程、2 GiB 临时工作空间,以及每次运行 10 分钟。超时、资源耗尽或观测者故障的结果是 incomplete——绝不是 PASS。可信服务保有各自独立的预留资源,因此耗尽智能体的资源,既无法让记录沉默,也无法阻止叫停。
可以核对的证据
签名报告,以及三条永不合并的轴线。
每次运行都由经 Zod 校验、带版本的结构来描述:HarnessProfileV1、HarnessScenarioV1 与 HarnessRunReportV1。报告由智能体之外的一把监督程序密钥签名,并对照经由运营方通道安装的 trust anchor 离线验证;密钥若随它所签名的报告一起附带,就永远不被信任。
结果
PASS · FAIL · SKIP
强制性的 SKIP 永远不会打开关卡,缺失的依赖也永远不会变成一次通过的运行。
等级
模拟 · 真实集成 · 未评估
模拟永远不会被当作集成来呈现。
按路径的覆盖
已保护 · 被反驳 · 部分 · 未评估
一次造成了效果的绕过,会把已声明的覆盖变为「被反驳」。
证据按性质复用,而不是按一个全局摘要。
准入是多项条件的合取:确切的权限、本地策略、每条必需路径上真实且适用的证据、持续有效的观测,以及尚有余额的预算。一份报告可以满足其中一项条件;它永远不会取代其他条件,也永远不会创造出一项许可。一条由运营方在智能体之外安装、带版本的规则,会把每项主张的实质依赖与此刻观测到的配置相比较——任何缺失、未知或无法核对的字段,都意味着未评估。
- 文件与进程隔离取决于操作系统、内核、后端、镜像、身份、特权、挂载、socket 以及实际的启动方式。单单一个新的 Git 目的地并不会使它失效;一个新的挂载则会。
- 受限的网络出站取决于规则、路由、DNS、proxy、辅助程序以及可达的端点。授权另一个域名永远不会继承一个 PASS,而本地金丝雀也证明不了对互联网的封锁。
- 适配器保持确切效果可作为机制的证据复用。它对权限、网络、身份或真实提供方的行为,什么也证明不了。
- 目的地集成只能在那个获授权的目的地上取得。本地 fixture 永远不会变成关于真实 GitHub 的证据,而且每个效果都会重新读取 ref 与前置状态。
- 智能体行为与模型、版本、harness、工具、任务和参数绑定。新模型不会使一道不依赖它而测试过的操作系统屏障失效;但它确实会使对其行为的外推失效。
一份绿色的报告永远不会签发 Execution Grant,永远不会取代 MFA 或法定人数,也永远不会授权未来的结果。一个新的候选 SHA 需要一次新的确切批准,即使所有环境证据仍然适用。
确切导出
只有经过审阅的那个变更才能离开实验室。
- 01写入停止,候选变更进入隔离区。监督程序以一个可信的 base 加上该变更,重建一个干净的仓库——不带来自智能体的 .git、hooks、辅助程序、配置、子模块或过滤器。
- 02只接受位于任务路径之内的普通文本文件。symlinks、gitlinks、越界路径以及对控制的改动都会被拒绝。
- 03产物摘要、候选 SHA、base、目的地、预期 ref,以及导出范围的完整 diff 都会被固定。commit 作者只是元数据,不是授权。
- 04审阅会写明将发送什么、发往哪个仓库和分支,以及会触发哪些自动化。一份 Task Contract 绑定的正是这个确切效果。
- 05Execution Guardian 重新验证产物、ref、策略、预算和停止,然后在对前置状态做原子比较的前提下执行 fast-forward 或创建 ref——在 GitHub 上只做创建。不存在通用的 force-push。
- 06远端状态会被验证。超时会保留预留额度,并在对账之前让结果保持不确定,不做盲目重试;receipt 会把获授权的推送与正确或无害的代码区分开来。
在 GitHub 上
在 GitHub 上,第一个版本只会在一个私有、一次性且没有工作流的仓库中,创建一个指向确切候选 SHA 的新的唯一 ref。GitHub 的 REST API 在更新 ref 时不提供以先前 SHA 为前提的条件,因此没有实现更新:创建是原子的、绝不强制,出现竞争就会失败,后置条件会重新读取该 ref 并要求它与 bundle 一致。使用的凭据是运营者的本地会话,范围大于最小需要。计划中的关卡——一个独立的可信签发方,即最小权限、检查来源固定的 GitHub App,而不是由拉取请求控制的 Action——需要一次人工管理流程;在它存在之前,不声称最小权限。打开拉取请求是一个独立的、后续的效果;merge、release、publish、deploy、支付和真实删除都不在本版本范围内。
叫停、存活性与预算
智能体之外的持久叫停
关闭新效果的准入与出站路径,停止整个执行单元——cgroup 或容器,而不只是一个进程组——并保留证据。叫停之前已获准入的效果会被对账,绝不会被重新解释为从未发生。
绑定的存活性
准入要求智能体之外的观测者提供新鲜的心跳。心跳序列必须递增——重复的心跳不会续期任何东西——每次心跳最多换来 3 秒的租约。一旦过期,准入与出站随即关闭,执行单元被终止,这次运行被标记为 incomplete。重启之后依然保持停止。
测试活动预算
一本位于智能体之外的账本:对初始 fixture 而言,最多 2 个活跃 runner、6 次启动、累计 30 分钟,API 成本为零。每一次重试都会计入,新会话或重启都不会将其重置。它不创造任何权限,也不构成计费单位。
有界的出口
cannot_complete_within_scope 与 needs_authority 是有效结果,而不是失败。它们以一份严格的结构化提案送达运营方——操作、资源与理由,各占一行、每项最多 512 个字符——提案不带自身的批准,也无法扩大权限。智能体之间没有自由聊天。
工具包
一个二进制文件,无需账号:一个 doctor,一个探针。
securestamp-harness 是 @securestamp/mcp-guard 包的一部分。产物留在本地,没有遥测,也没有自动上传。报告只包含引用、哈希、原因和指标——绝不包含密钥、提示词、思维链或响应正文。实验室运行、签名报告及其离线验证、隔离区导出和活动账本,都位于 Execution Guardian 包和实验室工具中——Linux 上的 Docker,配合 Inspect。
securestamp-harness doctor <profile.json> [--propose]只审查传入的 HarnessProfileV1——后端、声明的挂载、关键路径、观察者和限制——并区分已声明、已观察和未知。它不遍历 HOME,不查找真实密钥,不建立连接,也不执行该配置。加上 --propose 时,报告会附上一份隐去凭据的修正建议,并按同样的规则再次检查;不会对主机做任何改动。
securestamp-harness probe codex-native创建临时的合成金丝雀,并通过已安装 Codex 版本真实的沙箱启动来运行:以允许的一次读取和一次写入作为阳性对照,再读取一个必须被阻断的禁止金丝雀。PASS 只认定该版本和平台上的这一文件系统路径;SKIP 或插桩错误绝不会变成 PASS。
Harnesses
按 harness、版本与平台分别给出证据。
适配器翻译一个固定版本 harness 的启动过程与事件。当某个 harness 没有等效的阻断式 hook 时,遏制仍在外部完成,而那个 hook 会被标记为不支持,而不是凭空编造一个。Linux 是经过测试的后端;macOS 与 Windows 不继承它的结果,任何 harness 的 logo 都不代表完全覆盖。
- 01
Claude Code · Codex
最先做的适配器,一次一个。原生 macOS 配置档单独评估,不从 Linux 继承任何东西。
- 02
Cursor
接下来,拥有自己的配置档,每个工作包对应一项性质。
- 03
SDKs
然后是各个 SDK,遵循同样的证据语义。
- 04
云端智能体
只计入在真正经过中介的目的地上产生的效果;智能体的内部环境保持未评估。
面向训练与评估模型的团队
在一道经过测试的安全边界之内进行智能体评估。
harness 评估与 Inspect 集成——借助它的任务、样本与 Docker 沙箱——来处理生命周期、场景与限制。SecureStamp 提供的是外部观测者、效果判定器与报告导出,而不是又一个调度器、LLM 评判器或日志流水线。没有任何评分器会在可信进程中运行候选变更,带有效果的命令的重试已被禁用,开发集与留出集保持分离:留出集永远不会被用来调整控制。
- 首先注入确定性的尝试,作为对机制的因果检验。之后再在获授权的预算之内运行真实的 harness 与模型,作为系统实际行为的证据。
- 重放请求并不能重放随机性的推理过程。版本、可用参数、运行次数、超时与分母都会被保留;不承诺完全一致的重放。
- 效用与遏制分开报告,因此全部拦下永远不会被算作一个能用的产品。0/N 的结果并不等于零风险。
实验室的止步之处
进攻能力评估——让智能体去搜寻真实漏洞——需要完全没有任何通往互联网路径的基础设施。本实验室不声称能抵御内核或 hypervisor 的 exploit,也不声称提供多租户隔离。
它不证明什么
局限,与能力同等分量。
不证明通用对齐
通过一个语料集,并不证明模型已经对齐,不覆盖未知攻击,也不取代治理。
不是认证
由同一个团队撰写并评审的结果,不是独立的机构评估。第三方的复现会另行认定。
不覆盖所有外泄
它验证的是已插桩的路径与具体的后置条件。经由获授权的提供方进行推理调用,会把数据发送给该提供方,这一点会被声明为暴露。
不看推理过程
控制观测的是动作与效果。它们不需要思维链,也不声称能检测心理意图。
不防宿主管理员
这个版本信任运营方所运行的监督程序:没有硬件证明,没有针对管理员的防护,也无法抵御 hypervisor 逃逸。
hooks 不是安全边界
hooks 与审批模式描述的是如何请求许可;它们并不限定一个进程能触及什么。approval_policy=never 只说明审批如何进行。
状态
Beta,以 Linux 与 Docker 作为经过测试的后端。每个结果都带有自己的等级——模拟、真实集成或未评估——连同它的分母、版本与配置;没有探针的路径保持未评估。与外部团队的试点以及真实的人工审批仪式是下一步,届时也会以同样的方式报告;本页上没有任何内容从模拟外推出真实世界的结果。
接受质疑
方法公布在本页,以便接受批评与改进。报告验证器可离线运行,无需账户;模式与合成场景已准备好在一份另行审查的许可证下发布。错误的结果无需公开 exploit 即可报告;之后的运行会新增一个版本,并让旧版本保持可见。当同一个团队既构建又评估某项控制时,这一冲突会被声明。
来源
- METR — Brief independent investigation of agents’ behavior, reasoning and collaboration in the OpenAI / Hugging Face hacking incident (2026-08-26)
- OpenAI — The Hugging Face incident and the road ahead (2026-08-26)
- TechCrunch — OpenAI releases its official report on the Hugging Face breach (2026-08-26)
- MIT Technology Review — The inside story on why OpenAI agents hacked Hugging Face (2026-08-26)
- Railway — Your AI wants to nuke your database. Guardrails fix that (2026-04-29)
查阅于 2026-09-25。有关事件的来源是作为失效类别的动因而引用的,不是取证式的还原。