资讯详情

HAVENLON 不完美主体 | #02 合法,不代表正确

📅 2026/9/13 23:47:40 | 华诺云谱 👁 阅读
HAVENLON 不完美主体 | #02 合法,不代表正确
在传统安全体系里合法是一个分量很重的词。请求是否合法账户是否合法Credential 是否有效角色是否拥有相应权限API 调用是否符合访问控制规则——这些判断构成了现代信息安全最基本的秩序。身份认证确认主体权限系统限制能力审计系统记录过程密码学保证凭据与通信不被伪造。几十年来我们不断强化这些机制本质上都在确保一件事只有合法主体才能通过合法方式使用被授权的能力。这个目标没有错。值得重新思考的是当这三个条件全部成立之后我们是不是过早地得出了第四个结论——因此这个动作也是正确的。身份合法不等于理解正确Credential 合法不等于意图正确权限合法更不等于最终发生的事情正确。AI Agent 正在把这三个长期被混在一起的概念重新拆开。合法描述的是一个动作有没有资格进入系统正确描述的却是这个动作是否应该进入现实。一、传统安全非常擅长判断非法现代安全体系有一个鲜明特征它特别擅长识别不合法。错误密码被拒绝失效 Token 被拒绝无权限的 API 请求被拒绝证书不可信被拒绝来源异常可以被 Zero Trust Policy 阻断用户越出 Role 范围会被 RBAC 拦下Service Account 索要未授予的 ScopeAuthorization Server 会直接拒绝。这些机制共同形成一条清晰的边界你不是这个人就不能进来你没有这个权就不能做。这套逻辑在互联网时代取得了巨大成功因为大量攻击确实建立在非法获得能力之上——Credential Theft、Privilege Escalation、Account Takeover、Unauthorized Access本质上都在突破这条边界。于是合法性逐渐成为许多系统判断安全状态的主要依据身份没被盗用、Credential 没泄露、调用没越权系统就认为这个请求在安全意义上正常。但这里藏着一个关键差别安全系统验证的是调用关系是否合法却未必验证这个调用本身是否符合真实意图。在人的时代这一点很少暴露因为是否合法由系统判断是否正确通常由人补上。AI Agent 正在移除这层默认补丁。二、身份完全正确事情仍然可以完全做错设想一个普通的企业 Agent拥有公司正式分配的身份通过 OAuth 获得合法 Token被授予调用 CRM、邮件系统和支付 API 的权限没有任何 Credential 泄露也没有攻击者冒充。用户给它一个任务——处理今天需要退款的客户。它分析数据找出一批订单然后执行退款。身份真实Token 有效退款接口是正式接口金额也没有超过权限限制。但其中一个订单其实不该退。可能客户状态刚刚变化可能某条数据同步延迟可能 Agent 误解了业务规则也可能它把待复核读成了确认退款。从访问控制的角度看这个动作毫无问题从业务现实看它就是错的。这迫使我们区分 Authorized Action 与 Desired Action。一个动作可以是被完整授权的同时是不应该发生的——更准确地说它是一次 Authorized but Undesirable Execution。安全系统最难处理的不一定是未经授权的动作而是被完整授权、却不应该发生的动作。三、CREDENTIAL 证明你拿到了钥匙却无法证明你为什么开门API Token、SSH Key、Certificate、Private Key、Session、OAuth Access Token本质上都在证明某种调用资格回答的是这个主体能不能使用这个能力。签名私钥能证明交易由合法 Key Holder 签署OAuth Token 能证明应用拥有特定 ScopeSSH Key 能证明主体有资格登录目标服务器。这些证明都很强却共享同一个边界Credential 几乎永远不知道持有者为什么要执行当前动作。私钥能证明签名是真的不能证明这笔交易符合持有者此刻的真实意图Token 能证明调用者拥有payment.write不能证明这笔付款现在应该发生管理员证书能证明请求来自合法设备不能证明这次配置变更不会破坏生产环境。Credential 证明的是 Authority不是 Intent更不是 Correctness。密钥能够证明谁授权了这个动作却不能自动证明这个动作值得发生。过去这个差距由人类认知填补。当 Credential 开始直接交给 Agent 使用缺口就暴露出来了。四、有权限一直都不是有理由权限模型描述的是能力边界某个角色可读、某个角色可写、某个管理员可删、某个 Agent 可以调用某个 Tool。它非常适合回答谁能够做什么但现实决策依赖的不只是能力还有理由。CFO 拥有一百万美元的付款权限不意味着他每天都该支付一百万Root 可以删除整个目录不意味着每一次删除都合理生产管理员拥有 Restart 权限不意味着服务此刻就该重启。同样Agent 拥有某个 Tool Permission也不意味着每一次 Tool Call 都符合原始 Mission。差别在于时间尺度Permission 是静态或半静态的可以持续几小时、几天甚至几年而 Reason 是高度动态的一个动作是否合理几秒钟之后就可能改变。同一个 API、同一个身份、同一个 Token、甚至同一组参数放在不同任务上下文里可能意味着完全不同的事情。只看 Permission 的系统只能知道这个动作理论上可以被执行仍然不知道它现在为什么应该执行。五、AI AGENT 压缩了权限与行为之间的距离权限系统能长期工作还依赖一个常被忽略的现实条件拥有权限不等于立即执行。一个人拿到管理员权限之后需要看到任务、理解任务、形成判断、打开工具、输入命令、检查参数最后才执行。这中间存在大量认知摩擦而摩擦往往不是坏事——它给了人重新思考的时间也给了周围系统发现异常的机会。对 Agent 来说获得目标、生成计划、选择 Tool、组织参数、调用 API 可能发生在同一个推理循环里。过去有权限但没有行动是常见状态未来越来越可能变成只要 Agent 认为应该行动权限就立刻转化为执行。真正的变化不是 Agent 获得了权限而是权限从一种潜在能力变成了可以被机器高速消费的现实能力。当主体本身不完美时任何一次判断偏差都可能直接穿过权限体系进入现实。六、一个完全没有攻击者的系统也可能发生安全事故传统安全事件通常需要一个对手攻击者进入系统、窃取 Credential、绕过或提升权限、利用漏洞威胁模型围绕 Attacker 展开。而在不完美主体模型里存在另一种场景——根本没有攻击者。用户给出一个模糊任务Agent 做出合理但错误的理解系统正常授权Credential 正常工作接口正常响应Executor 正常执行最终造成损失。这种事故最麻烦的地方在于没有任何组件失效每个系统都按设计正常工作传统监控甚至会全部显示绿色Authentication SuccessAuthorization AllowCredential ValidAPI Response 200Audit Log CompleteExecution Success。只有一个问题没人回答——这件事本来应该发生吗一个系统可以在所有技术组件都正常的情况下整体做出一件错误的事。这也是为什么不完美主体的问题不能简单归类为 Bug 或 Hallucination。它是架构问题。七、成功执行不等于正确执行软件工程有一个很深的惯性我们非常擅长验证执行是否成功。HTTP 200、Transaction Confirmed、Job Completed、Deployment Success、Exit Code 0、数据库 Commit 成功都是执行成功的证明。但执行成功与执行正确是两件事。错误交易同样可以 Confirmed错误 SQL 同样可以 Commit错误配置同样可以部署成功一封不该发出的邮件同样会返回 Delivered。对执行系统而言它完成了任务对现实意图而言它可能制造了事故。因此需要区分 Execution Success 与 Intent Success前者说明系统完成了动作后者说明动作确实符合原始目的。长期以来它们被大量系统默认成同一件事。执行成功只说明现实被改变了并不说明现实被正确地改变了。如果一个系统只能证明 Execution Success却无法证明执行与原始 Intent 的关系那么它拥有的是操作证据而不是行为正确性的证据。这也是为什么 Agent 系统里的 Evidence 不能只记录谁调用了什么还需要回答这次调用为什么被允许发生。八、真正需要控制的不是权限而是权限如何变成现实传统安全常把最高价值资源理解成 Credential因为保护好 Credential攻击者就无法获得能力。这一点仍然成立但 Agent 时代需要再往前一步真正需要保护的不只是 Capability 本身还有 Capability 转换成 Reality 的过程。即使 Credential 完全安全它也可能被合法主体错误使用即使权限配置完全正确也可能产生错误行为即使通信全程 TLS也无法保证业务意图正确即使私钥永远不离开 HSM也无法阻止 HSM 对一个错误 Intent 进行合法签名——除非它还受额外的执行约束。所以安全边界需要从 Protect the Credential 扩展到 Control the Execution。这不是说 Credential Security 不再重要而是它只保护了执行链上的一个环节。真正改变现实的是最后那个 Action如果 Action 没有独立边界前面再强的身份与权限机制也只能证明这个错误动作是合法发生的。九、合法但错误为什么比非法更难发现非法动作通常带着明显信号未知 IP、异常身份、权限提升、失效 Token、未授权接口、异常登录这些都可以被检测。合法但错误的行为则安静得多——它来自正确账户使用正常 Credential调用允许的接口发生在正常网络行为频率甚至符合历史模式。从系统视角看它和正常业务几乎一模一样差别只在于它偏离了真实意图而意图偏离恰恰是传统监控最不擅长观察的东西。这意味着安全体系可能需要一种新的判断对象不是异常行为而是 Execution Consistency——执行是否仍与任务、状态、对象、约束和证据保持一致。如果 Agent Security 最终只演化成更聪明的行为异常检测可能仍然不够。最危险的错误不一定长得像攻击它可能长得和正常业务一模一样。十、合法性是一道门但不是最后一道门把现代安全架构简化可以看到几道重要的门你是谁Authentication你有没有权限Authorization你的 Credential 是否真实有效Cryptographic Verification。这些门都很重要。但当执行主体本身不完美时系统还需要另一道门——即使前面全部成立这一次具体行动是否仍然应该发生这道门讨论的已经不是身份、长期权限或 Credential而是 Execution。它需要理解当前的任务边界、操作对象、系统状态、调用参数、已有证据以及这次动作是否仍满足允许条件。如果答案未知如果信息缺失如果状态冲突如果 Intent 已经过期如果执行对象发生了变化系统就不应该只因为身份和权限合法而继续执行。这正是 Fail-Secure 的意义所在未知不应该被自动解释成允许。合法性可以证明你走到了门口却不能证明门现在应该为你打开。十一、从主体授权进入行动授权过去我们主要授权主体允许某个人访问系统允许 Service Account 写数据库允许 Agent 调用支付接口。未来还需要授权某一次具体行动授权对象从 Subject 扩展到 Action——除了 WHO还要看 WHAT、Object、State、Mission、Proof 与 Boundary。一个动作真正获得执行资格必须同时满足这些条件而不是只依赖一条长期存在的 Subject Permission。这并不意味着所有操作都要变成人工审批恰恰相反成熟的执行控制应该允许边界内部的大量动作自动发生。区别在于自动化的前提不再是这个 Agent 有权限所以全部放行而是这个动作满足已经建立的执行边界因此可以自动发生。两者都实现了 Automation安全哲学却完全相反——前者相信主体后者相信结构。十二、从谁是合法的走向什么是允许发生的安全工程过去成功解决了一个问题不要让错误的人获得正确能力。这个问题依然重要。但 AI Agent 会迫使我们同时解决另一个问题不要让正确的人、正确的 Agent、正确的 Credential在错误的情况下使用正确能力。身份合法只能证明主体是真的Credential 合法只能证明能力来源是真的权限合法只能证明系统允许这个主体使用这种能力。这些条件全部成立之后仍然剩下最后一个问题这一次行动是否符合真实意图如果没有答案合法最终只是技术意义上的合法。而现实并不关心一次错误操作在日志里有多合法——钱仍然会被转走数据仍然会被删除生产系统仍然会停机代码仍然会发布。现实只接受结果。Authorization 不是执行正确性的证明它只是执行资格链上的一个条件。因此安全的目标不应该停在只有合法动作能够发生而应该延伸到只有当任务、状态、对象、证据和边界同时成立时合法动作才真正获得改变现实的资格。上一篇讨论的是主体可以合法却仍然错误这一篇再往前一步——动作可以合法却仍然不应该发生。一旦接受这两件事问题就变得无法回避如果主体不能被默认正确合法动作也不能被默认正确那么一个安全系统最终究竟应该相信什么答案也许从来都不是相信某一个主体而是相信一个能够约束所有主体的结构。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。