文章通过遥控锁车干扰盗窃的案例,提出执行缝隙概念,提醒在AI时代需重视结果验证,守住操作背后的现实安全。 ## 1. 什么是执行缝隙 执行缝隙就是“意图动作已经完成,人已经产生完成感”和“现实结果并未真正达成”之间,可被攻击者利用的距离。它藏在平时总是同时发生、被人们默认绑定的动作和结果之间,攻击者只需将二者拆开就能利用。 ## 2. 执行缝隙为什么危险 攻击者不需要破坏系统,只需要让失败看起来像成功,就能获得不会被立刻发现的作案窗口,用户已经完成正确操作、产生完成感,根本不会立刻察觉异常。它不是简单的执行失败:整个过程没有越权,没有明显错误提示,只是意图、动作和结果失去了连接,过程证据被错当成了结果证据。 ## 3. 执行缝隙为什么平时很难发现 系统越稳定自动化程度越高,越会把复杂过程藏起来,用户只能依赖设计好的界面反馈判断状态,默认相信界面就是现实,不会额外验证最终结果。攻击者比普通用户更关注流程断点,他们专门绕开坚固的安全机制,寻找人和系统都停止验证、默认对方负责的无人空白环节。 ## 4. 企业场景里的执行缝隙问题 传统企业安全只关注“谁有权按按钮”,但合法用户按下合法按钮,也不能保证得到合法结果。从授权发出命令,到最终完成执行,中间还要经过多次环节转换,每一个没被验证的环节都可能成为干扰,造成结果偏移。 ## 5. AI Agent放大了执行缝隙的风险 AI Agent拥有了独立执行能力,且执行链路比普通操作更长更复杂,一句话要经过多次转换才能变成现实,链路越长,出现缝隙的概率越高。攻击者不需要直接攻击模型,只需污染信息、诱导偏移就能制造缝隙,且AI可批量执行任务,缝隙带来的损失会从零散变成规模化,只提高模型正确率无法解决问题。 ## 6. 应对执行缝隙的朴素有效方法:“锁车后拉一下车门” 不需要保证每个前端环节都不出错,只要在风险发生前,对最终结果做一次独立验证,确认现实状态是否符合最初意图即可。这种验证会牺牲一点点效率,但对于高风险、不可逆操作,这点成本可以大幅降低不可逆损失。 ## 7. 越智能的系统,越不能省略最后验证 系统越智能顺畅可靠,人们越容易放弃确认、过度信任,反而会放大极少数失败的后果。安全设计不能只建立在“大多数时候一致”的前提下,必须明确区分“人想做什么、系统做了什么、现实发生了什么”,在不一致时能及时停下。执行的终点从来不是按下按钮,而是确认结果符合预期,安全要守住的从来不是按钮,是按钮背后的现实。
执行缝隙:你以为车已经锁了,攻击者却正等你离开
2026-07-22 09:20

执行缝隙:你以为车已经锁了,攻击者却正等你离开

本文来自微信公众号: HavenlonLabs ,作者:Havenlon Labs


很多年前,一些停车场里出现过一种并不复杂的盗窃方式。


车主把车停好,下车,关门,按下遥控钥匙上的锁车键,然后转身离开。


整个过程和平时没有任何区别。


没有人撬车门,没有人复制钥匙,也没有人破解汽车内部复杂的电子系统。小偷只需要躲在附近,在车主按下遥控钥匙时,用无线信号干扰设备阻断那条短暂的锁车指令。


车主按了。


但车没有收到。


在车主心里,锁车这件事已经结束了;在现实里,车门却仍然没有上锁。


等车主走远以后,小偷不需要暴力破坏,只需要像正常开门一样,拉开车门。


这个故事真正值得注意的地方,不是无线电干扰技术有多高明。


恰恰相反,它之所以危险,是因为它太简单了。


攻击者没有正面击败车锁,也没有获得车主的钥匙。他只是利用了一个每个人都习以为常的认知:


我已经按下锁车键,所以车一定锁好了。


真正被攻击的,不只是车锁,而是车主相信“锁车已经完成”的那一刻。


从按下按钮,到车门真正锁住,中间原来不是同一件事。


过去,我们只是很少意识到它们之间存在距离。


而攻击者看见了这段距离。


这段距离,就是执行缝隙。


按下按钮,不等于结果已经发生


我们很容易把“按下锁车键”和“车辆已经锁住”理解成同一件事。


这是因为在绝大多数正常情况下,两件事几乎同时发生。


手指按下按钮,遥控器发出信号,车辆收到命令,门锁执行动作,车灯闪烁,车辆进入锁定状态。


整条链路通常只需要不到一秒。


它快到人根本感觉不到中间还有步骤。


时间久了,大脑就会自动省略这条链路,把最前面的动作和最后面的结果直接连接起来:


按按钮,就是锁车。


但从事实来看,按下按钮只证明了一件事:车主发出了锁车意图。


它并不能自动证明信号已经成功发出,车辆已经收到,控制系统已经执行,所有车门也都进入了真正的锁止状态。


这些原本是不同的事情。


只是在正常环境里,它们长期稳定地一起发生,于是我们逐渐忘记了它们的区别。


攻击者所做的,不过是把这几件原本紧密相连的事情重新拆开。


车主完成了动作,车辆却没有完成结果。


人的认知已经往前走了,现实却停在原地。


执行缝隙,往往就藏在那些“平时总是同时发生”的事情之间。


如果一个按钮按下一万次,都能得到正确结果,人就会自然相信第一万零一次也一样。


这种信任本身并不愚蠢。


现代生活本来就建立在大量默认可靠之上。我们不可能每次开灯以后都检查电流,不可能每次刷卡以后都研究银行系统,也不可能每次按下电梯按钮,都先验证控制器是否正确收到了信号。


问题不在于人愿意信任系统。


问题在于,当这种信任可以被主动利用时,原本微不足道的距离就会变成攻击入口。


小偷利用的不是锁,而是“完成感”


锁车干扰之所以经典,是因为攻击者没有必要让车主看见失败。


如果车主按下锁车键后,汽车明显毫无反应,他很可能会重新操作,甚至走回去检查。


最有利于攻击者的状态,并不是让整个过程彻底失败,而是让车主仍然保留一种“事情已经办完”的感觉。


这是执行缝隙最危险的部分。


一个明显失败的系统,反而容易引起警觉。


按钮失灵了,系统报错了,门没有关上,付款被拒绝了,人通常会停下来处理。


真正危险的是,前面的动作足够正常,正常到人已经离开现场,而最后的结果却没有发生。


车主并不是不知道锁车的重要性。


他也不是忘记了锁车。


他认真执行了自己认为正确的动作。


只是攻击者知道,人在按下按钮以后,会把注意力从车转移到下一件事情上。


锁车动作结束,心理上的任务也随之结束。


这时候,攻击者获得的不仅是一扇没有锁上的车门,更是一段不会被立刻发现的时间。


攻击者真正需要的,不是让系统完全失效,而是让失败看起来像成功。


这也是为什么很多有经验的司机,在锁车以后会顺手拉一下车门。


这个动作看起来有点多余。


既然已经按过遥控钥匙,为什么还要再拉一下?


因为他确认的不是自己有没有按,而是车门有没有真的锁住。


按按钮,是检查自己的动作。


拉车门,是检查现实的状态。


两者之间只差一秒钟,却代表了两种完全不同的安全观。


一种相信:我已经做了,所以事情应该完成了。


另一种相信:只有现实结果出现,事情才算真正完成。


执行缝隙,不只是“执行失败”


如果只是把执行缝隙理解为“命令没有成功”,这个概念就太普通了。


任何机器都会失灵,任何系统都会报错,任何人也都可能操作失败。


执行缝隙真正特殊的地方在于,它常常发生在一个看起来已经完成的流程里。


车主确实按了锁车键。


遥控钥匙也可能确实工作了。


车辆本身没有损坏。


整个系统甚至没有留下一个明显的错误提示。


然而,最终目标仍然没有实现。


所以,执行缝隙并不是简单的“没有执行”。


它更接近这样一种状态:


人已经完成了自己能看见的动作,系统也给出了足以让人继续往下走的信号,但现实并没有进入人真正期待的状态。


这道缝有时来自信号被干扰,有时来自对象被替换,有时来自执行条件已经改变,也可能来自系统只验证了过程,却没有验证最终状态。


但它们有一个共同点:


意图、动作和结果,在某个位置失去了连接。


系统可以证明按钮被按下,却未必能证明现实已经改变。


锁车干扰事件里,车主想要的是一种结果:车辆处于安全锁定状态。


而系统能够直接观察和记录的,往往只是一些中间动作:信号是否发送、控制器是否响应、车灯是否闪烁。


中间动作通常可以代表结果,但不能永远代替结果。


这就像一张快递单只能证明包裹进入过流程,不能单独证明包裹已经安全到达;一条转账请求只能证明操作已经提交,不能单独证明钱最终到了正确账户;一条审批记录只能证明有人点击过同意,不能自动证明最后执行的内容与审批时看到的内容完全一致。


我们习惯把这些过程证据当成结果证据,是因为多数时候它们确实一致。


但攻击者最关心的,恰恰是如何让两者不再一致。


为什么这道缝平时几乎看不见


执行缝隙有一个很特别的性质:在没有事故的时候,它几乎像不存在一样。


一辆车每天正常锁车,车主不会去思考遥控器、无线信号、车载接收器和门锁机构之间的关系。


他只会形成一个非常简单的生活经验:


按一下,车就锁了。


系统越稳定,这种经验越牢固。


而经验越牢固,人越不会在每次操作以后重新验证结果。


这正是现代自动化给人带来的便利。


如果每一个动作都必须人工从头检查到尾,自动化就失去了意义。我们依赖系统,就是希望它把复杂过程压缩成一个简单按钮。


按下按钮以后,剩下的事交给机器。


但便利背后总有一个隐含前提:


机器执行的事情,和人以为机器执行的事情,是同一件事。


当这个前提成立时,按钮代表效率。


当这个前提被攻击者打破时,按钮就可能代表错觉。


自动化最大的便利,是把复杂过程藏起来;自动化最大的风险,也来自复杂过程被藏起来。


车主看不见无线信号有没有到达。


他也看不见每一扇门锁的机械状态。


他只能依靠几个被设计出来的反馈:灯光、声音、后视镜折叠,或者手机应用上的一个锁形图标。


这些反馈是系统为人制造的“可理解界面”。


它们非常重要,却也可能造成一个问题:


人最后相信的不是车辆状态,而是界面状态。


当界面显示“已锁车”,人的任务就结束了。


至于现实中的车门是否真的锁止,反而变成了系统内部一个不再被关注的问题。


这就是执行缝隙为什么会长期被忽略。


它藏在界面背后,藏在流程深处,也藏在人已经习惯不再确认的地方。


坏人总是比普通人更关心缝隙


普通人使用系统,是为了完成目标。


攻击者研究系统,是为了寻找目标、动作与结果之间不一致的地方。


车主关心的是怎样锁车。


小偷关心的是:怎样让车主认为自己锁了车,而实际上没有锁。


这两种思维完全不同。


一个在顺着流程使用系统,另一个在逆着流程寻找断点。


因此,很多真正有效的攻击,并不是直接破坏最坚固的部分。


它们绕开坚固的门锁,绕开复杂的密码,绕开正面的权限对抗,转而寻找那些默认被信任、却没有被最终验证的环节。


遥控锁干扰就是如此。


攻击者不需要证明自己比汽车厂商更懂门锁。


他只需要知道,车主通常不会在按下按钮以后,再走回去拉一次车门。


安全系统守的是门,攻击者寻找的却是人什么时候不再回头。


从这个角度看,执行缝隙不仅是一种技术现象,也是一种行为现象。


它存在于系统没有验证的地方,也存在于人停止验证的时刻。


攻击者最喜欢的状态,是人和系统都认为对方已经完成了自己的责任。


人认为:我已经发出命令。


系统认为:我已经处理请求。


流程认为:操作已经结束。


但没有任何一方真正负责确认,现实结果是否与最初意图一致。


这时候,整条链路看起来人人尽责,却仍然可能留下一个无人负责的空白。


现代企业里,也有无数个“锁车按钮”


企业的信息系统里,到处都是类似的按钮。


提交、批准、发布、执行、删除、转账、部署、同步、授权。


每一个按钮都代表着人希望现实发生某种变化。


点击“发布”,希望新内容真的出现在正确的位置。


点击“转账”,希望资金真的到达正确账户。


点击“部署”,希望正确版本进入正确环境。


点击“批准”,希望被批准的具体内容按照当时的条件被执行。


长期以来,企业安全主要关心两个问题:


谁有权按这个按钮?


这个按钮有没有被未经授权的人按下?


这当然重要。


但锁车干扰提醒了我们,合法的人按下合法按钮,并不能自动保证合法结果。


车主拥有自己的车钥匙。


他有完整的锁车权限。


他也确实亲手发出了命令。


整个过程不存在越权。


可车依然没有锁上。


因此,执行安全还必须多问一个问题:


按钮按下以后,最终发生的事情,是否真的是按钮按下时那个人想要发生的事情?


这就是从权限安全走向执行安全的关键一步。


权限只能证明谁可以发出命令,不能证明命令最终以正确方式进入现实。


在传统系统里,人们常常把“授权完成”视为安全链条的终点。


但实际上,授权只是允许执行开始。


从授权到真正执行,中间还可能经过参数生成、对象选择、环境变化、系统调用、接口转换和设备响应。


每一次转换,都有可能产生偏移。


每一个没有被重新绑定和验证的环节,都可能成为新的“无线干扰”。


AI Agent让执行缝隙变得更值得警惕


当人工智能只负责回答问题时,执行缝隙造成的影响相对有限。


模型回答错了,人可以不采用。


建议不合理,也可以停留在屏幕上。


但AI Agent正在获得越来越多的执行能力。


它可以发送邮件、修改代码、调用接口、操作云资源、调整账户权限,甚至管理资金和现实设备。


这相当于我们不再只是让AI告诉我们怎样锁车,而是把遥控钥匙交给了它。


更重要的是,AI Agent的行动链路远比普通遥控钥匙复杂。


一个看似简单的目标,可能先被模型解释,再被拆成多个任务,然后调用不同工具,生成参数,经过审批,最后由外部系统执行。


人的一句话,需要穿过很长的链路,才能最终变成现实。


链路越长,转换越多,执行缝隙就越值得警惕。


攻击者也不一定需要直接攻击模型本身。


他可以污染模型读取的信息,诱导它选择错误工具,改变执行对象,在审批摘要里隐藏关键差异,或者让最终调用的参数偏离最初意图。


整个过程中,AI可能始终表现得很正常。


它正确读取了信息,合理完成了推理,顺利调用了工具,系统也返回了成功。


就像车主确实按下了锁车键。


真正的问题发生在最后:


现实是否真的进入了被允许的状态?


AI不会创造执行缝隙,但它会把原本短暂的一道缝,拉成长而复杂的执行链。


人锁一辆车,可能只涉及一次操作。


AI Agent一分钟内却可能执行成百上千次任务。


一个人锁车失败,风险集中在一辆车。


一个自动化系统如果在对象、范围或条件上出现偏移,可能同时影响大量账户、设备和业务系统。


过去,执行缝隙常常只带来零散损失。


在AI时代,它第一次可能被规模化、连续化和自动化利用。


这也是为什么仅仅提高模型正确率,并不能解决全部问题。


一个模型即使在绝大多数时候都判断正确,只要关键操作缺少最后的结果绑定与边界控制,极少数偏差也可能迅速进入现实。


真正重要的,不只是AI有没有正确理解任务,而是无论前面发生了什么,最后那扇门到底有没有锁上。


“拉一下车门”代表什么


锁车以后拉一下车门,是一个很笨的动作。


它没有人工智能,没有复杂算法,也没有漂亮界面。


它甚至会牺牲一点效率。


但它验证了整条锁车链路最重要的结果。


车主不需要知道信号在哪个环节被干扰,也不需要分析遥控器和车辆之间发生了什么。


他只需要确认一件事:


门还能不能被打开。


这是一种非常朴素,却非常有效的安全思想。


不试图保证前面的每个环节永远正确,而是在后果真正发生之前,对最终状态做一次独立确认。


在企业系统里,这种“拉一下车门”的机制,可以表现为很多形式。


高风险转账在执行前重新核对真实收款对象。


云资源删除前确认对象是否属于关键资产。


代码部署前确认版本、环境和影响范围。


AI Agent提交操作以后,由独立控制层判断最终动作是否越过不可接受的边界。


它们的共同点不是让系统变得更聪明,而是不把“命令已经发出”当成“结果已经安全”。


真正可靠的最后一道防线,往往不负责理解全部过程,只负责确认最重要的结果。


很多人会担心,这种机制会降低效率。


确实会。


就像每次锁车以后再拉一下门,比按完按钮直接离开多花一秒钟。


但安全从来不是没有成本的。


关键问题不是能否做到零成本,而是这一秒钟的确认,是否值得换取后面不可逆损失的降低。


对于低风险、可恢复的操作,系统可以追求顺畅。


对于高风险、不可逆的执行,适当的阻力不是缺陷,而是保护。


系统越聪明,越不能省掉最后一步


人们很容易认为,随着系统越来越智能,执行缝隙会自然缩小。


模型理解能力更强,自动化更成熟,设备反馈更完整,整个链路似乎理应越来越可靠。


但事实可能恰好相反。


系统越聪明,人越容易把更多判断和执行交出去。


系统越顺畅,人越容易减少回头确认。


自动化越稳定,人越容易相信按钮背后的复杂过程永远不会出错。


这与锁车完全一样。


如果遥控锁经常失效,人们反而会养成拉门检查的习惯。


正是因为它通常太可靠,人们才会在极少数被干扰的时刻毫无防备。


可靠性会建立信任,而过度信任又会放大极少数失败的后果。


AI Agent未来真正的风险,不一定来自它天天犯错。


更可能来自它绝大多数时候都表现得太好,以至于人们逐渐取消检查、扩大权限,并默认它的动作等于结果。


等攻击者终于找到那道缝时,系统已经拥有了足够大的执行范围。


所以,系统越智能,越需要明确区分三件事:


人想做什么。


系统做了什么。


现实最后发生了什么。


这三件事大多数时候应该一致。


但安全设计不能只建立在“大多数时候”之上。


它必须考虑,当它们不一致时,是否还有机会停下来。


执行的终点,不是按钮被按下


回到那个停车场。


车主按下遥控钥匙,转身离开。


在他的认知里,任务已经结束。


但对于安全而言,真正的问题才刚刚开始:


信号有没有到达?


车辆有没有执行?


所有车门有没有锁住?


现实状态是否和车主意图一致?


攻击者正是在这些没有被继续追问的问题里,找到了机会。


执行缝隙并不是一个遥远的技术概念。


它就是我们每天都在经历、却很少认真区分的一件事:


我们完成了一个代表结果的动作,于是便相信结果已经发生。


大多数时候,这种信任让生活更方便。


少数时候,它也会成为别人利用我们的入口。


AI时代,企业需要重新学习那个老司机早就知道的生活常识。


锁车以后,不要只相信自己按过按钮。


还要确认门真的锁住了。


发出命令以后,不要只确认流程已经完成。


还要确认现实发生的事情,仍然是当初真正想要、真正批准,也真正能够承受的事情。


执行缝隙,就是“我以为已经完成”与“现实真正完成”之间,能够被攻击者利用的那段距离。


而安全真正要守住的,也从来不是按钮。


是按钮背后的现实。

频道: 车与出行
本内容由作者授权发布,观点仅代表作者本人,不代表虎嗅立场。
如对本稿件有异议或投诉,请联系 tougao@huxiu.com。
正在改变与想要改变世界的人,都在 虎嗅APP