在讨论 Havenlon 的执行控制架构时,我越来越意识到,仅仅解释“系统如何正常工作”是不够的。一个系统在正常条件下能够运转,并不代表它在真实世界里足够可靠。真正困难的问题往往不是流程是否顺畅,而是当流程中的某一层出错、被误用、被诱导、被攻破,甚至被内部人利用时,系统还能不能保持基本的安全边界。

这也是我开始思考“对抗性完整”的原因。

所谓对抗性完整,不是说一个系统可以防住所有攻击,也不是说系统永远不会失败。任何负责任的工程系统都不应该这样承诺。对抗性完整真正关心的是:当系统处在不理想的环境里,当某些组件、人员、策略或上下文不再可信时,系统是否仍然知道自己应该如何失败,是否仍然能够限制错误的传播,是否能够避免单点失效直接变成灾难性执行。

换句话说,Havenlon 要解决的问题,不只是“谁可信”,而是“谁可能变坏”。

一、传统系统经常从信任开始,但执行系统必须从不信任开始

很多软件系统在设计之初,都会天然假设某些角色是可信的。比如用户登录之后,系统默认这个账号代表真实用户;管理员拥有权限之后,系统默认管理员的操作是合理的;SaaS 平台下发策略之后,终端默认策略来自可信来源;审批流程通过之后,系统默认这次操作已经被正确确认。

在普通业务系统里,这种假设可以提高效率,也符合大多数产品的设计习惯。因为大量系统主要处理的是数据、流程、展示和协作,错误虽然会带来损失,但很多时候仍然存在回滚、修改、补偿和人工介入的空间。

但是,执行系统不一样。

执行系统一旦连接到真实资产、真实密钥、真实 API、真实证书、真实生产环境,它处理的就不再只是“信息是否正确”,而是“某个动作是否真的发生”。这类动作一旦发生,往往具有外部后果。比如一笔资产被转出,一个 API Key 被调用,一张证书被使用,一个生产操作被提交,一个成员权限被改变,或者一个自动化代理执行了某个不可逆任务。

在这种系统里,如果仍然从“谁可信”开始设计,就很容易留下结构性风险。因为真实世界里,可信关系从来不是永久稳定的。今天可信的账号,明天可能被盗用;今天正确的策略,明天可能被误配置;今天可靠的审批者,明天可能被社工诱导;今天干净的执行请求,可能在某个链路中被替换;今天正常工作的 SaaS,也可能在某个时间点被入侵或出现逻辑错误。

所以,Havenlon 不能只问“哪个角色应该被信任”,而必须先问:“如果这个角色不再可信,系统会发生什么?”

这就是对抗性完整的出发点。

二、攻击者不一定是黑客,也可能是任何改变执行结果的人

在很多人的直觉里,攻击者就是黑客,是通过漏洞入侵系统的人。这当然是安全设计中非常重要的一类对手,但对于执行控制系统来说,这个定义太窄了。

在 Havenlon 的语境下,攻击者不一定非要突破防火墙,也不一定非要拿到服务器权限。只要某个行为能够让系统执行一个不该执行的动作,或者让系统在错误条件下放行一个动作,它就已经构成了执行层面的攻击。

这种攻击者可能是外部黑客,也可能是内部成员;可能是恶意行为,也可能是错误配置;可能是账号被盗,也可能是 AI Agent 被 prompt injection 诱导;可能是 SaaS 平台被攻破,也可能是用户在错误上下文里点击了确认;可能是 payload 被替换,也可能是审批界面展示的内容和最终执行内容不一致。

这意味着,Havenlon 所面对的对手并不是单一形态的“入侵者”,而是所有可能改变执行结果的因素。

一个普通权限系统可能会认为,只要账号是合法的、Token 是有效的、审批记录存在,操作就可以继续。但 Havenlon 需要进一步追问:这个合法账号是否真的代表当前用户意图?这个 Token 是否处在正确上下文中?这次审批是否绑定了真实 payload?策略是否被绕过?执行链路是否完整?最终执行的内容是否仍然等于最初被确认的内容?

如果这些问题没有被回答清楚,那么“合法”并不等于“安全”。

这也是执行控制和传统访问控制最大的区别之一。访问控制关注的是谁可以访问系统,而执行控制关注的是一个动作是否应该被允许发生。前者更多处理入口,后者必须处理结果。

三、系统不能假设用户永远清醒

很多安全系统喜欢把最终责任交给用户,尤其是在涉及确认、授权和签名的场景里。系统会显示一段信息,然后让用户点击确认。只要用户点了,系统就认为责任完成转移。

这种设计在早期可能是合理的,因为系统面对的是相对简单的操作,人类可以通过界面直接理解自己正在做什么。但随着系统复杂度增加,尤其是在 Web3、多签、企业审批、API 自动化、AI Agent 工具调用等场景中,用户面对的已经不再是简单按钮,而是复杂上下文中的执行决策。

用户可能并不理解完整 payload,可能不知道这个请求来自哪里,可能无法判断某个地址是否异常,可能无法识别一段看似正常的调用背后隐藏的后果,也可能在高压、疲劳或社工诱导下做出错误确认。

因此,Havenlon 不能把用户确认简单视为万能的安全边界。用户确认很重要,但它必须被放在完整的执行控制链里,而不是孤立存在。

也就是说,用户确认必须回答几个问题:用户确认的到底是什么?确认内容是否和最终执行内容一致?确认动作是否发生在正确设备上?确认是否经过策略校验?确认是否绑定了 IntentHash 或其他可验证摘要?确认之后是否仍然可能被替换、重放或绕过?

如果用户只是看到了一个抽象描述,然后点击了一个按钮,而系统并没有把这个确认和最终执行对象进行强绑定,那么这个确认并不能构成真正可靠的执行授权。

在对抗性完整的框架下,用户不是被否定的角色,而是被保护的角色。系统不能假设用户永远清醒、永远理性、永远理解完整后果。系统应该承认人会犯错,并通过结构设计降低单次错误带来的破坏性。

四、系统不能假设 SaaS 永远可信

现代系统大量依赖 SaaS。SaaS 可以承担身份管理、策略配置、审批协作、审计展示、日志归档、风控判断和组织管理等功能。对于 Havenlon 来说,Bletchley 这类云端策略与协同层也非常重要,因为它可以让组织管理、策略变更、审批流和风险控制变得更清晰。

但问题在于,SaaS 不应该拥有最终执行权。

这是 Havenlon 架构里非常重要的一条边界。SaaS 可以判断,可以协调,可以展示,可以记录,可以提出建议,可以参与决策,但它不应该绕过本地设备和硬件边界直接完成执行。

原因很简单:SaaS 本身也是攻击面。

它可能出现账号被盗、权限配置错误、接口被滥用、后台被入侵、逻辑漏洞、供应链依赖问题、数据库污染、管理员误操作,甚至也可能因为业务压力引入不安全的快捷流程。如果系统把最终执行权交给 SaaS,那么 SaaS 的任何高危问题都可能直接变成执行层面的灾难。

对抗性完整要求我们承认:云端系统再重要,也不应该成为单点上帝。

这并不是说 SaaS 不可信,因此不要 SaaS。恰恰相反,SaaS 在组织治理、策略管理和协同效率上非常有价值。但它应该被放在它该在的位置上:它是决策层、协调层、策略层和审计层,而不是最终执行层。

Havenlon 的设计目标不是消灭云,而是限制云的执行权。云可以帮助系统做出更好的判断,但最终动作必须经过本地边界、硬件约束和可验证执行链。这样,即使 SaaS 某一时刻出现问题,它也不能单独造成不可逆执行。

五、系统不能假设硬件天然安全

很多人提到硬件安全,会自然想到密钥隔离、安全芯片、硬件钱包或者 HSM。硬件确实可以提供比普通软件环境更强的隔离能力,但这并不意味着“只要用了硬件,系统就是安全的”。

硬件同样可能被错误设计、错误使用或错误集成。设备可能被盗,固件可能存在漏洞,调试接口可能没有关闭,供应链可能被污染,安全芯片可能被错误配置,显示内容可能和真实执行内容不一致,硬件只负责签名但不理解策略,最终也可能变成一个“安全地执行错误动作”的工具。

所以 Havenlon 对硬件的理解,不应该停留在“密钥放在硬件里”。真正重要的问题是:硬件是否拥有拒绝执行的能力?硬件是否能够验证执行上下文?硬件是否知道自己正在执行什么?硬件是否能把策略、意图、审批和最终 payload 绑定在一起?硬件是否能在不确定时停止,而不是继续签名?

换句话说,硬件的价值不只是保护密钥,而是形成物理执行边界。

如果一个硬件设备只负责保存密钥,然后对外部传进来的 payload 进行签名,那么它解决的是密钥泄露问题,却未必解决错误执行问题。Havenlon 更关心的是,执行动作在离开硬件边界之前,是否已经经过了完整的策略校验、审批绑定、上下文确认和证据记录。

因此,在对抗性完整的视角下,硬件不是一个被盲目信任的对象,而是一层必须被设计、约束和验证的执行边界。硬件不是因为“硬”所以可信,而是因为它承担了不可绕过的最终拒绝能力,所以才有意义。

六、系统不能假设内部人永远站在同一边

很多安全系统最难处理的不是外部攻击,而是内部人风险。因为内部人往往拥有合法身份、合法权限和真实业务上下文,他们的操作看起来并不异常,甚至完全符合流程。

在组织场景中,Owner、管理员、审批者、财务成员、运维人员、合伙人、离职成员、外部服务商,都可能成为风险来源。这种风险不一定来自恶意,也可能来自误解、疏忽、被诱导、利益冲突或临时失控。

如果一个系统默认 Owner 永远正确,管理员永远可信,多签成员永远理性,审批者永远理解执行后果,那么这个系统的安全性其实依赖的是人的稳定性,而不是系统结构本身。

Havenlon 需要承认一个现实:人在组织关系中是会变化的。今天的合作者,明天可能产生利益冲突;今天的管理员,明天可能离职;今天的审批者,可能在某一次高压场景中做出错误判断;今天的 Owner,也不应该拥有不受约束的绝对权力。

所以,Havenlon 的共同治理原则里,一个重要方向就是 Owner ≠ God。Owner 可以拥有更高职责,但不能天然绕过所有执行边界。高风险治理动作,比如移除成员、替换设备、修改策略、迁移资产、改变证书、关闭安全规则,都不应该由单一角色随意完成。

这不是为了制造流程负担,而是为了防止组织安全完全绑定在某个人的状态上。对抗性完整要求系统把内部人风险纳入设计,而不是把它当成管理问题丢给制度。

真正成熟的执行控制系统,必须能回答:如果某个内部成员作恶,系统如何限制他?如果多个成员串通,系统如何暴露证据?如果 Owner 账号被盗,系统如何阻止灾难性动作?如果成员拒绝配合,系统如何在不破坏共同治理原则的情况下进入安全状态?

这些问题不一定都有完美答案,但系统必须正面面对它们。

七、系统不能假设 AI Agent 理解边界

AI Agent 时代让执行控制问题变得更加复杂。过去的软件系统大多由人明确点击和提交,虽然也会出错,但执行路径相对清晰。AI Agent 出现之后,系统开始从“人直接操作”转向“人给目标,AI 拆解任务并调用工具”。

这带来了一个新的风险:AI 可能并不真正理解执行边界。

它可以生成计划,可以调用 API,可以根据上下文做推理,可以自动完成一系列步骤,但它可能不知道某个动作在现实世界中的不可逆后果。它可能把建议当成授权,把上下文当成事实,把工具调用当成普通文本处理,把一个危险操作包装成看起来合理的自动化流程。

AI Agent 的问题不只是“会不会幻觉”,而是它可能在不确定的情况下继续执行。对于一个聊天模型来说,错误回答可以被纠正;但对于一个连接到生产系统、资产系统、密钥系统或权限系统的 Agent 来说,错误执行可能直接造成现实损失。

因此,Havenlon 的基本态度应该是:AI 可以建议,但不能单独执行。AI 可以生成 intent,但 intent 不能自动变成 execution。AI 可以参与流程,但必须被执行控制层约束。AI 的输出必须被视为输入,而不是授权。

这并不是否定 AI 的价值。相反,AI 会极大提升复杂系统的操作效率,但效率越高,越需要边界。没有边界的自动化不是智能,而是放大风险的执行通道。

在对抗性完整的设计里,AI Agent 必须被放在可控位置。它可以提出请求,可以解释风险,可以辅助生成策略,可以帮助审计日志,但最终执行必须经过人、策略、设备和硬件边界共同约束。

八、对抗性完整不是追求完美安全,而是控制失败方式

讨论到这里,可以回到最核心的问题:什么是 Havenlon 的对抗性完整?

它不是承诺系统不会被攻击,也不是承诺每个组件永远可靠。现实世界中,没有任何系统可以做到这一点。真正可信的系统,应该能够诚实地承认自己会遇到错误、攻击、误判和失控,并且提前定义这些情况发生时系统应该如何反应。

如果 SaaS 被攻破,它不能直接执行。

如果用户被诱导,系统不能只靠一次点击放行高危动作。

如果 AI Agent 生成错误 intent,intent 不能自动变成执行。

如果审批流程被误用,审批内容必须和最终 payload 强绑定。

如果 Hub 处在异常状态,它不能继续表现得像一切正常。

如果证据链断裂,系统应该进入降级或 Safe Mode,而不是继续执行。

如果内部成员作恶,系统应该限制单点权力,并留下可验证证据。

如果硬件无法确认执行上下文,它应该拒绝,而不是盲签。

这些原则背后的共同逻辑是:系统安全不应该建立在“大家都不会出错”的假设上,而应该建立在“有人一定会出错,某些层一定会失效,攻击一定会发生”的现实基础上。

这就是对抗性完整和普通安全设计的区别。普通安全设计经常试图证明系统在理想条件下是安全的,而对抗性完整更关心系统在不理想条件下是否仍然可控。

九、从“可信组件”转向“受限组件”

Havenlon 的架构思想可以进一步概括为一句话:不要轻易定义可信组件,而要定义受限组件。

SaaS 不是可信的,所以它只能决策和协调,不能直接执行。

用户不是永远清醒的,所以用户确认必须绑定真实 payload,而不能只是点击按钮。

AI Agent 不是可靠执行者,所以它只能提出 intent,不能单独完成 execution。

Hub 不是上帝,所以它必须受到本地策略、云端策略、硬件边界和证据链约束。

硬件不是魔法,所以它必须具备上下文验证、策略校验和拒绝执行能力。

内部成员不是永远一致的,所以治理动作必须防止单点权力造成不可逆后果。

这种设计方式会让系统看起来更复杂,但这是执行控制系统必须付出的复杂度。因为一旦系统连接真实资产、真实 API、真实证书和真实生产操作,简单的信任假设就不再足够。真正的安全不是把某一层神化,而是让每一层都被限制在合理范围内。

一个对抗性完整的系统,不是没有可信点,而是不让任何单一可信点拥有灾难性执行能力。

十、结语:Havenlon 不是为理想世界设计的

Havenlon 的核心并不是假设世界会变得更可信,而是承认世界正在变得更复杂、更自动化、更难预测。

AI Agent 会越来越多地参与决策和执行,SaaS 会承载越来越多组织治理流程,硬件会连接越来越多真实资产和系统接口,团队协作会跨越更多角色、设备和地域。所有这些趋势都会带来效率,但也会让执行风险变得更难被单一权限系统覆盖。

在这种背景下,Havenlon 需要回答的不是“我们能不能相信某一层”,而是“当这一层不能被相信时,系统是否仍然不会失控”。

这就是对抗性完整的第一条原则:

不是谁可信,而是谁可能变坏。

从这个原则出发,Havenlon 的执行控制才不只是一个产品功能,而是一种系统设计方法。它要求我们把用户、AI、SaaS、Hub、硬件、成员、策略和证据链都放进同一个对抗环境里重新审视。只有当系统在这些角色部分失效时仍然能够限制错误执行,它才真正具备成为执行控制基础设施的可能性。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐