很多 Agent 系统里,都藏着一个“法官”。
它可能是任务调度器,决定哪个 Agent 接手哪一步;也可能是上下文管理器,决定哪些文档、记忆和用户数据进入模型窗口;还可能是工具网关,决定模型能不能调用邮件、支付、代码仓库、数据库和外部 API。
这个“法官”自己未必直接执行任务,却掌握着系统最关键的信息流和权限流。
一旦它判断错、被提示注入绕过、被上下文污染,或者被错误配置,后面的 Agent 再聪明也很难补救。因为真正决定系统安全边界的,往往不是某个 Agent 的推理能力,而是这个中介角色如何分配信息、控制权限、结算动作。
这也是论文《A Moderatorless Protocol for Werewolf》值得关注的原因。

https://arxiv.org/pdf/2606.00190
它表面上研究的是一个很轻松的问题:狼人杀能不能没有法官?
但从 Agent 安全视角看,它讨论的是一个更底层的问题:
当一个多角色系统高度依赖可信中介时,能不能把这个中介拆成一套公开、可验证、最小泄露的协议机制?
狼人杀只是一个游戏外壳。真正的主角,是可信中介。

Agent 系统为什么越来越像一局狼人杀
狼人杀之所以需要法官,是因为它天然是一个多角色、多权限、多秘密的系统。
狼人知道队友是谁,但村民不知道。
预言家可以验人,但验人结果不能公开给所有人。
守卫可以保护目标,但保护对象不能提前暴露。
狼人可以夜间行动,但行动过程不能被其他阵营看到。
天亮之后,所有人只应该知道有限的公开结果。
这和 Agent 系统很像。
在一个复杂 Agent 应用中,不同 Agent、工具和用户之间也有不同的信息边界。
客服 Agent 可以看用户问题,但不一定能看完整账户数据。
财务 Agent 可以读取发票,但不一定能调用付款接口。
代码 Agent 可以修改仓库,但不应该读取无关密钥。
审计 Agent 可以看日志,但不应该直接改业务数据。
调度 Agent 可以拆解任务,但不应该默认拥有所有工具权限。
问题在于,很多系统为了实现方便,会把这些边界集中交给一个中心模块处理。这个中心模块负责塞上下文、分配任务、授权工具、汇总结果。它就像狼人杀里的法官:自己不参与游戏,却知道几乎所有秘密。
短期看,这种设计简单高效。
长期看,它会变成单点风险。
只要这个“法官”被绕过,或者它向某个 Agent 多给了一段不该给的上下文,后续风险就会沿着工具链扩散。提示注入、越权调用、跨用户数据泄露、错误授权,很多问题都可能从这里开始。
所以,这篇狼人杀论文真正值得看的地方,不是“怎么用纸牌玩游戏”,而是它给了一个非常直观的安全隐喻:
不要把全部信任压在一个中介身上,要尽量把中介能力拆成协议、策略和可验证流程。
狼人杀里的法官,本质上是一个可信第三方
平时玩狼人杀,我们很少会把法官当成安全组件。
但从信息流角度看,法官就是整局游戏里的 trusted third party(可信第三方)。
他至少承担五类功能。
第一,身份分配。每个玩家只能知道自己的身份,狼人还要知道其他狼人是谁。
第二,信息隔离。预言家验人结果只能给预言家,守卫选择目标不能被其他人知道,狼人夜间讨论也不能泄露给村民。
第三,行动协调。狼人要共同选择一个攻击对象,守卫要选择一个保护对象,这些动作必须被正确收集和结算。
第四,结果发布。天亮之后,法官要宣布谁死亡,或者是否平安夜。
第五,规则校验。如果有人乱来,比如狼人多刀、守卫多护、预言家验多个对象,法官需要发现并阻止。
论文在摘要中也把隐藏身份游戏的核心功能概括为:控制哪些玩家可以访问哪些信息。典型狼人杀依赖可信人类法官来分配角色、协调秘密行动并揭示结果,这种依赖会提高参与门槛,也会引入可信第三方这个单点故障。
如果把这套结构放到 Agent 系统里,对应关系就很清楚了。
狼人杀法官对应的是 Agent 系统里的中心调度器、上下文管理器、权限控制器、工具网关和审计模块。
玩家身份对应 Agent 角色。
夜间行动对应工具调用。
预言家验人对应属性查询或风险判断。
天亮后的死亡结果对应系统返回给用户或其他 Agent 的最小化结果。
规则校验对应策略执行和异常检测。

所以,狼人杀并不只是一个语言推理游戏,它首先是一个复杂的信息访问控制系统。
谁能知道什么,谁不能知道什么,什么时候公开,公开多少,全部由法官控制。
这也是 Agent 安全里最容易出问题的位置:中心组件掌握全局上下文,一旦边界设计不清,所有角色都会被连带影响。
论文做了什么:把“相信法官”改成“执行协议”
《A Moderatorless Protocol for Werewolf》的目标很明确:让狼人杀在没有人类法官、没有手机 App、没有线上平台的情况下继续运行。
作者提出的方案,是使用普通纸牌构造一套物理密码协议。所有玩家共同维护一组可观察的纸牌,按公开流程进行洗牌、翻牌、移动和确认。
关键点在于,同一组公开卡牌操作,对不同角色会产生不同解释。玩家结合自己的私有角色牌,就能得到各自的角色依赖视图。
这句话很重要。
它意味着,系统不再需要一个人知道全部秘密。
所有人都能观察流程,但每个人只能从流程中解读出自己该知道的信息。
狼人能识别队友,预言家能知道自己验人的结果,村民只能看到公开结算结果。
这就是论文里最有安全价值的思想:共享流程,隔离视图。
在 Agent 系统里,这个思想可以直接迁移。
多个 Agent 可以参与同一个任务流程,但不应该共享同一个完整上下文。
一个工具调用可以进入统一审计流程,但不意味着所有 Agent 都能看到完整参数、返回值和内部判断。
一个安全策略可以被公开验证是否执行,但不必暴露全部敏感数据。
这和今天很多 Agent 系统的默认做法正好相反。很多系统习惯把大量上下文塞进模型窗口,再依赖提示词告诉模型“不要泄露”“不要越权”“只使用必要信息”。这种方式对轻量场景够用,但在高风险场景里会很脆。
更稳的做法,是在模型看到信息之前,就把角色视图、权限范围和工具路径切干净。
纸牌为什么能承担密码学功能
论文使用的是 card-based cryptography,也就是基于纸牌的物理密码学。
它的基本想法并不难理解。
两张纸牌的顺序可以表示一个 bit。论文中用两种花色牌的不同排列编码 0 和 1。牌面朝下时,其他人看不到具体顺序,因此这组牌就相当于对某个比特值的承诺。只有在协议允许的时候,才可以翻开验证。
在此基础上,纸牌可以组合出更复杂的操作。
面朝下的牌,是秘密承诺。
洗牌,是随机化。
切牌,是隐藏偏移。
公开翻牌,是受控揭示。
私下确认,是只让指定玩家读取某个结果。
一整套纸牌流程,就是一段物理世界里的安全协议。
论文允许的基础操作包括交换、随机切牌、随机二分切牌、牌堆乱序洗牌、牌堆循环移位、公开揭示、丢弃和指定玩家确认等;所有操作都在参与者共同观察下执行。
这听起来像桌面魔术,但本质上是密码学。
传统密码协议依赖数学难题、密钥和计算设备。
这篇论文依赖的是纸牌背面的不可见性、共同监督下的随机洗牌,以及严格定义的公开流程。
它让“信任一个人”变成了“信任一套可观察的动作”。
放到 Agent 安全里,这个转化非常关键。
我们不一定要用纸牌,也不一定要照搬密码学协议。但可以借鉴它的设计思路:
不要让某个中心模块自由决定所有信息流。
要把信息流拆成可审计的步骤,把权限拆成可验证的策略,把敏感判断拆成最小化输出。
安全边界应该尽可能体现在系统结构里,而不是只写在提示词里。
三类子协议:对应 Agent 安全的三类核心机制
为了让狼人杀完整跑起来,光能分配身份还不够。
狼人要互认,预言家要验人,守卫要保护,狼人要刀人,游戏还要判断胜负。
论文把法官的核心功能拆成三类高层子协议:角色内部信息共享、秘密行动指定、属性判断。这三类协议共同替代了法官在狼人杀中的主要作用。
这三类协议,刚好也可以映射到 Agent 安全里的三类核心机制。
1. 角色内部信息共享:谁可以知道同组信息
狼人杀开局后,狼人必须知道队友是谁。
传统玩法里,法官说“狼人请睁眼”,狼人相互确认身份。
没有法官之后,论文使用角色内部信息共享协议解决这个问题。拥有特定角色的玩家可以共享一小段信息,而其他角色玩家无法获得这段信息。论文中,狼人介绍协议就属于这一类:狼人玩家共享自己的玩家编号,从而识别其他狼人。
对应到 Agent 系统,这就是角色范围内的上下文共享。
同一个任务里,多个 Agent 可能属于同一个工作组,比如“代码修复组”“安全审查组”“数据分析组”。它们可以共享部分任务状态,但其他 Agent 不应该自动获得这些信息。
这类机制解决的是:
哪些 Agent 属于同一个角色组?
哪些信息可以在组内共享?
哪些信息只能保留在局部视图里?
共享行为是否可审计?
如果没有这种机制,Agent 系统很容易退化成“大上下文池”。所有 Agent 都从同一个上下文池里取信息,短期省事,长期危险。
2. 秘密行动指定:谁可以发起动作
狼人杀夜晚阶段,狼人要选择攻击目标,守卫要选择保护目标。
传统玩法里,法官负责收集动作并结算。
论文用秘密行动指定协议来处理这件事。某个角色可以秘密选择一个目标,其他玩家不知道目标选择过程中的敏感信息。论文还把守卫保护和狼人攻击都归入这一类:守卫选择一个玩家并用 dummy 卡替换其行动处理牌,狼人则由一个代表选择攻击目标。
对应到 Agent 系统,这就是工具调用授权。
一个 Agent 想调用工具时,系统需要回答几个问题:
它有没有资格调用这个工具?
这次调用是否符合当前任务?
参数是否越界?
是否需要人类审批?
调用结果应该返回给谁?
能不能只返回最小必要结果?
今天很多 Agent 风险都出在这里。
模型被提示注入诱导后,调用了本不该调用的工具。
一个低权限 Agent 拿到了高权限工具。
一个工具返回了过多敏感数据,又被继续塞进下一轮上下文。
如果把工具调用当成“秘密行动指定协议”来设计,系统关注点会更清楚:
动作是谁发起的,目标是什么,是否符合角色权限,结果如何结算,哪些信息可以公开,哪些信息必须隐藏。
这比简单问模型“你确定要调用吗”要稳得多。
3. 属性判断:只回答必要问题
预言家每晚可以验一个人,知道这个人是不是狼人。
这类能力很微妙。
预言家需要得到结果,但其他人不能知道他验了谁,也不能知道验人结果。
论文用属性判断协议解决这个问题。狼人玩家的角色值被编码为一种二进制值,非狼人玩家编码为另一种值;预言家秘密选择目标,最终只得到“该玩家是否为狼人”的二值结果。
这对应到 Agent 安全里的最小披露查询。
很多时候,系统不需要把完整数据暴露给 Agent,只需要回答一个有限问题:
这个用户是否有权限?
这个请求是否命中风险条件?
这段上下文是否可以进入模型窗口?
这个文件是否属于当前任务范围?
这次工具调用是否需要升级审批?
这类判断可以做成属性查询,而不是数据直出。
预言家只需要知道“是不是狼人”,不需要拿到完整身份表。
Agent 也一样。
一个处理任务的 Agent 只需要知道“是否允许访问这份文档”,不一定要看到整套权限规则。
一个调用工具的 Agent 只需要知道“是否可以执行当前动作”,不一定要知道全部风控策略。
一个内容审核 Agent 只需要返回“通过、拒绝、升级审核”,不一定要把完整敏感样本暴露给下游。
这就是最小披露的价值。

完整一局狼人杀,如何在没有法官时运行
论文并没有只解决一个局部问题。
它试图构造一整套完整的无法官狼人杀流程。
在开局阶段,系统通过纸牌协议分配角色,并让狼人完成互认。
在白天阶段,玩家公开讨论并投票处决一个人。这一部分本来就是公开行为,不需要复杂协议。
在夜晚阶段,狼人可以讨论攻击目标,预言家可以选择一个人验身份,守卫可以选择一个人保护,狼人再执行攻击。论文明确给出了预言家、守卫、狼人攻击等协议如何分别由属性判断协议和行动指定协议实现。
在胜负判断阶段,狼人胜利可以由狼人阵营主动声明并公开验证;村民胜利则需要判断是否还有狼人存活。论文通过 OR 原语判断是否至少还有一个狼人活着,从而支持村民胜利条件的验证。
这套流程的价值在于,它把“法官知道全部情况,然后告诉大家结果”,改成了“每个阶段都有对应协议,协议本身保证信息不越界”。
这里可以看到一个很重要的架构思想:
法官不是被简单删除了。
法官被拆解了。
身份分配被拆成角色相关卡牌。
信息传递被拆成角色视图。
夜间行动被拆成秘密动作协议。
验人结果被拆成属性判断。
胜负结算被拆成公开可验证的逻辑运算。
这对 Agent 系统很有启发。
我们也不应该简单地问:能不能去掉中心调度器?能不能不用工具网关?能不能不做安全审核?
更现实的问题是:
中心调度器手里的能力,哪些可以拆到策略层?
上下文管理器手里的信息,哪些可以拆成角色视图?
工具网关手里的授权,哪些可以做成可验证路径?
安全审核模块的判断,哪些可以用最小披露结果替代完整数据暴露?
这个思路比“找一个更可信的中控”更有长期价值。
对 Agent 安全的五个启发
这篇论文没有直接讨论大模型,也没有讨论 Agent。
所以,下面这部分是基于论文机制做出的安全类比。
它真正能给 Agent 安全带来的启发,主要有五点。
第一,权限不要只写在提示词里
很多 Agent 系统的安全边界,仍然过度依赖提示词。比如:
“你不能读取无关文件。”
“你不能调用高风险工具。”
“你不能泄露用户隐私。”
“你只能在授权范围内操作。”
这些提示当然有用,但不能成为唯一防线。
狼人杀里的法官不会只对玩家说“请不要偷看”。他会闭眼、睁眼、点人、宣布结果,用流程来控制信息。
纸牌协议更进一步:它把这些流程变成了可验证的卡牌操作。
Agent 系统也应该如此。
权限应该落实到外部策略、工具网关、上下文切分、执行沙箱和审计日志中。模型可以参与判断,但不应该独自承担全部安全边界。
第二,上下文要按角色生成视图
论文最有价值的概念,是 role-dependent views。
同一套公开纸牌操作,不同玩家因为私有角色不同,得到的信息不同。论文明确指出,一个公开可见的卡牌操作序列可以为不同角色提供不同信息,玩家结合共享物理状态和私有角色牌后,获得与角色相关的视图。
Agent 系统也需要类似机制。
同一个任务,不同 Agent 看到的上下文应该不同。
规划 Agent 看到任务目标和约束。
执行 Agent 看到具体步骤和必要工具。
审计 Agent 看到操作记录和风险摘要。
用户侧 Agent 看到最终解释和可确认动作。
没有必要让所有 Agent 共享同一份完整上下文。
上下文越大,泄露面越大。
角色视图越清晰,系统越稳。
第三,工具调用要变成协议化动作
工具调用不是简单的函数调用。
在 Agent 系统里,工具调用往往意味着现实世界动作:发邮件、下订单、删文件、提交代码、查询数据库、修改配置。
这类动作需要明确的授权路径。
谁发起?
为什么发起?
调用哪个工具?
参数是什么?
是否涉及敏感资源?
结果返回给谁?
是否需要人工确认?
这些问题如果只在模型内部“思考”,就很难审计,也很难约束。
论文里的秘密行动指定协议提醒我们:动作可以秘密,但流程必须有结构;目标可以隐藏,但一致性需要验证;参与者可以不知道全部细节,但系统要能判断动作是否合法。
Agent 工具调用也应该具备类似性质。
动作前有授权,动作中有约束,动作后有审计。
第四,敏感判断尽量返回最小结果
预言家验人只需要知道一个二值结果:是不是狼人。
如果法官把完整身份表给预言家,游戏会立刻失衡。
Agent 系统里也有类似问题。
很多工具和数据接口默认返回太多信息。
一个权限判断接口,本来只需要返回“允许 / 拒绝”,却返回了完整权限配置。
一个风控接口,本来只需要返回“命中 / 未命中”,却返回了完整规则和敏感字段。
一个检索接口,本来只需要返回摘要,却返回了完整原文和无关上下文。
这些都会扩大泄露面。
最小披露不是降低能力,而是让能力更可控。
对于 Agent 来说,很多时候不应该直接暴露数据,而应该暴露经过约束的判断结果。
第五,公开流程和私密内容要分离
狼人杀需要公开流程,否则没人相信结果。
但狼人杀也需要隐藏秘密,否则游戏无法进行。
这两者并不矛盾。
纸牌协议的做法是:操作公开,牌面隐藏;流程可看,秘密受控;结果可验证,细节不全量暴露。
Agent 系统也需要类似分离。
我们希望工具调用可审计,但不希望日志泄露全部敏感内容。
我们希望安全策略可验证,但不希望攻击者拿到完整规则。
我们希望用户能确认高风险动作,但不希望确认页面暴露无关数据。
好的安全架构,应该让“过程可信”和“内容保密”同时成立。
这比单纯追求黑箱安全更实际。

局限性
这篇论文很有意思,但不能把它拔得太高。
它首先是一篇密码学 / 安全协议论文,不是一篇 AI 安全论文。
我们把它用于 Agent 安全,是取它的机制隐喻和架构启发,而不是说作者已经提出了 Agent 安全方案。
它的局限也很清楚。
第一,安全模型偏理想。
论文采用的是 semi-honest,也就是 honest-but-curious 模型。简单说,玩家会按协议执行,但会尝试从自己看到的信息中推断别人的秘密。论文也说明,这个模型主要适用于卡牌操作层面;如果玩家在游戏策略上提供非法输入,比如本该选择一个目标却选择多个目标,协议只能通过一致性条件发现,至于游戏如何响应,不是论文主分析范围。
这对应到 Agent 系统里,就是它更像“按流程执行时如何不泄露”,对恶意破坏、串通攻击、复杂提示注入链路,还需要额外机制。
第二,操作成本很高。
论文方案理论上可行,但真实玩起来会非常重。玩家需要准备大量纸牌,执行多轮洗牌、切牌、翻牌、确认和丢弃操作。论文给出的复杂度也不低:直接实现时,总卡牌数量在典型狼人杀场景下可以达到 O(n³);通过复用承诺卡牌,可以把不同实体卡牌数量降到典型情况下的 O(n²)。
这说明它更像一个概念证明,而不是马上能推广的桌游玩法。
第三,角色越复杂,协议越复杂。
基础角色包括狼人、村民、预言家、守卫时,协议已经不轻。如果加入女巫、猎人、丘比特、白狼王等复杂角色,协议设计和执行成本会继续上升。论文确实讨论了部分角色扩展,但这更多说明方案具备扩展思路,不代表现实操作已经足够轻便。
第四,纸牌协议和数字系统之间还有距离。
纸牌世界里的“共同观察”很直观,所有人看着牌怎么动。
数字系统里的“共同观察”更复杂,需要日志、防篡改记录、策略证明、权限链路、运行时隔离和可复现审计。把论文思想迁移到 Agent 安全,需要工程化转译,不能直接照搬。
所以,对这篇论文的评价要准确:
它不是一个能直接落地的 Agent 安全框架。
它更像一个安全思想实验。
它证明了一个很重要的方向:复杂隐藏信息系统可以减少对可信中介的依赖,把原本集中在法官手里的信息控制能力,拆解为公开流程、私密视图和可验证结算。九、为什么这类研究值得 Agent 安全从业者看
这篇论文表面上离 AI 安全很远。
它没有讨论越狱,没有讨论提示注入,没有讨论模型对齐,也没有讨论工具调用漏洞。
但它处理的是一个非常底层的问题:
当一个系统中存在多个参与方、多个角色、多个秘密、多个动作时,如何在不完全信任某个中心角色的情况下维持秩序。
这恰好也是 Agent 时代会反复遇到的问题。
一个复杂 Agent 系统,很像一局狼人杀:
每个 Agent 有不同角色。
每个工具有不同权限。
每段上下文有不同敏感级别。
有些动作需要秘密执行。
有些结果需要公开验证。
有些信息只能给特定角色看。
整个流程还要防止被注入、误导和越权。
如果所有问题都交给一个“超级法官”处理,系统看起来简单,但风险会集中。
如果能把部分能力拆成协议、策略、审计和最小披露机制,系统就会更稳。
这也是这篇论文最适合被模安局读者理解的角度:
安全不是简单地找一个可信的人、可信的模型或可信的中控,而是要设计一种即便参与者彼此不完全信任,也能按规则协作的机制。
狼人杀只是外壳。
真正的主题,是可信中介的协议化。
写在最后
“无法官狼人杀”听起来像一个好玩的脑洞。
但在安全视角下,它提出了一个很严肃的问题:
如果某个系统必须依赖一个知道全部秘密、控制全部流程、发布全部结果的中心角色,我们能不能把它拆掉?
论文给出的答案是:至少在狼人杀这个复杂隐藏信息游戏里,可以。
它用纸牌完成了一个低技术版本的安全多方流程:公开操作、隐藏秘密、角色视图、受控揭示、结果验证。
对 Agent 安全来说,这个思想很有价值。
未来的 Agent 系统会越来越像复杂社会。里面有协作,有欺骗,有权限,有秘密,有行动,也有结果结算。我们不能只期待某个模型、某个调度器、某个审核器永远正确。
真正稳健的系统,需要把信任拆开,把权限拆开,把上下文拆开,把验证机制写进流程。
狼人杀里的法官可以变成纸牌协议。
Agent 系统里的中介,也应该逐步变成可审计、可验证、最小泄露的安全机制。
这才是这篇论文最有意思的地方。
声明:本文来自模安局,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。