人类在AI权限审批中漏掉1/3威胁
Humans missed 1 in 3 threats approving AI agent commands across 40k game runs

我开发了一款模拟AI代理权限审批的浏览器游戏,在超过4万次运行和40.9万次决策数据中发现,人类作为最后一道防线表现堪忧:平均漏掉了三分之一的威胁。最危险的数据泄露类命令被忽略率高达35%,而看似无害的npm run命令更是成为重灾区,64.7%的玩家批准了其中隐藏的恶意脚本。随着时间推移,权限疲劳导致误判率显著上升,过度拦截正常命令又拖慢了开发效率。这揭示了人类在环(human-in-the-loop)模式下的根本困境:在海量噪音中保持警惕几乎是不可能的任务,我们需要更智能的权限模型和沙箱机制来替代单纯的人工审批。
那正是危险动作被感知为无害行为的绝佳例子,整个批准具体命令的模型完全荒谬。
HN 评论区
244- continuational
有点讽刺的是,现在还有软件在发布,其安全模型竟然是“不断向用户索要权限,然后指望他们永远别犯错”。
这招以前试过无数次了,从来没奏效过。
- throwitaway222
解决方案是让 AI 根据用户的配置来审批,只有当它在某个具体问题上难以决断时,才去询问用户。
- VladVladikoff
我记得这个游戏刚发到这里的时候,当时讨论很热烈。有人指出某些提示语在“是否危险”这个问题上具有误导性;有人在争论为什么有些被标记为“坏”的提示其实并不坏,而有些被标记为“不坏”的其实很危险。这是测试本身的根本缺陷,导致对结果的分析毫无意义。
此外,游戏还设了倒计时。也许确实存在一些高压职场让你感到这种紧迫感,但我觉得我们大多数人都会花时间弄懂被要求批准的内容是什么,然后再做决定。
- Wirbelwind
几个月前,我把这个 AI 代理权限游戏分享到了 HN。加上统计数据后,从那以后它获得了超过 4 万次游玩和 40.9 万次决策。
这毕竟只是个游戏,但我发现这些统计数据依然很有趣,所以想分享回来。即便一开始就有警告,仍有三分之一的威胁被漏掉了,而且 npm run 命令上方的历史记录似乎通常都会被忽略。
我也融入了之前 HN 讨论中的反馈和洞见,特别是 dns_snek 关于 npm run 的观点。感谢所有参与游戏并提供反馈的大家!
- hinkley
在我维护的项目中,我虽然没怎么明说,但我对考虑接受 AI 提交的 PR 设定了极高的门槛。到目前为止,我只接受过那些几乎与人类提交无法区分的 PR。通常,如果我要求对提交的代码做任何实质性修改,其他的 PR 就都黄了。
真正会促使我发表正式意见的问题是那些低质量的 AI PR。通常在任何待办事项列表(backlog)中,都有那么几个问题,如果做对了,其实只需要几行代码。问题不在于写代码。事实上,我自己直接写代码比去讨论提交的代码来回扯皮(ping-pong)要省劲得多,在几个案例中,我就是这么做的,理由是直接关闭 PR,不再浪费时间。
问题从来不是那两行代码。缺的是测试、文档,以及那两行代码所代表的破坏性变更的发布管理——这会影响你那 2% 真正会注意到变化的用户群。这就是为什么它没有被直接完成,而是被写进了待办事项列表。
所以,提交这种一两行的 PR 只会让我生气,绝不会让我把你加入提交者名单。而 AI 让这种低质量提交变得更容易,因此发生的频率更高了。有时甚至会有两个人同时提交。
- cmiles8
“点击‘是’以继续”从来就不是一个严肃的安全机制。
这仅仅是模型厂商的一种 CYA(Cover Your Ass,自我保护)式的点击确认,这样当 AI 做出蠢事时,他们的律师可以说:“好吧,是你批准的,这责任在你”。
- stonedivot
这个游戏,就像几乎每一个游戏一样,失败没有任何后果。这就像说“在我的自定义 F1 赛车模拟器中,人类在 50% 的致命事故中都有参与”。这里没有利害关系,而且还有一个人为的时间限制。从这些数据中得出任何结论都完全没用。
- lanewinfield
也许需要为这些工具开发一个插件,利用你的摄像头,让你在每一次批准时都进行“指差确认”(Point and Call)(https://en.wikipedia.org/wiki/Pointing_and_calling)。