功能漏洞
去年冬天,功能漏洞我在一个旧货市场花三十块钱买了台二手电纸书。功能漏洞卖家说电池不太行,功能漏洞其他都好。功能漏洞我拿回家充上电,功能漏洞发现确实能开机、功能漏洞能翻页、功能漏洞能连WiFi,功能漏洞一切看起来都正常。功能漏洞但用到第三天,功能漏洞问题来了——每次我读到第47页,功能漏洞屏幕就会闪一下,功能漏洞然后自动跳回目录。功能漏洞不管哪本书,功能漏洞不管我怎么重置,功能漏洞只要翻到第47页,必跳。我试了刷机、换字体、甚至把书拆成两个文件,都没用。后来我在一个论坛上看到有人提了一嘴:这型号的固件有个bug,页码计数器在特定条件下会溢出。没人修,因为厂商早就不管了。
这就是功能漏洞的典型样子。它不是那种让设备直接死给你看的故障,也不是黑客能远程控制你摄像头的安全漏洞。它更像是一扇装歪了的门——你能推开,能走进去,但每次走到某个位置,门框就会轻轻撞你一下。不致命,可你忘不掉。
我后来开始留意这类东西。办公室里那台打印机,双面打印时如果文档页数是奇数,最后一张必定卡纸。公司用的项目管理软件,给任务打标签时,如果标签名超过12个字符,保存后就会变成乱码。小区门禁卡,连续刷两次会失效三十秒,保安说“一直这样,你等会儿再刷”。这些都不是设计缺陷,设计图上看不出毛病。它们是实现过程中的毛刺,是代码里某个变量没考虑边界条件,是机械结构里少算了一毫米的余量。
有意思的是,这些漏洞往往能活很久。安全漏洞会被补丁追着跑,功能漏洞却经常被当成“特性”留下来。我认识一个做嵌入式开发的人,他说他们产品有个已知问题:设备在零下五度以下开机,屏幕背光会闪三下才稳定。测试阶段就发现了,但改起来要动硬件,成本太高。最后写进说明书:“低温环境下背光可能短暂闪烁,属正常现象。”用户也就接受了。毕竟不影响用,只是每次冬天开机,你都知道那三下闪烁在等你。
这让我想到一个更日常的例子。我家楼下快递柜的取件码,如果包裹在柜子里放了超过72小时,输入正确取件码后,柜门会弹开但立刻又吸回去。你得在它吸回去之前把门拽住。快递员说“你手快点就行”。我试过,确实行。但每次取那个超时包裹,我都觉得自己在跟柜子玩一个心照不宣的游戏。
功能漏洞之所以难被消灭,是因为它不触发任何警报。监控系统只看“能不能用”,不看“用起来顺不顺”。一个按钮按下去有反应,就算通过。至于按下去之后要等两秒才弹窗,或者弹窗位置偏了五个像素,这些不在测试用例里。用户也不会专门为这个写反馈,他们只会自己找个办法绕过去。绕不过去的时候,就骂一句,然后继续用。
我那个电纸书后来被我拆了。电池换掉,屏幕排线重新插了一遍,第47页的诅咒居然消失了。我不知道是哪个动作起了作用,可能是排线接触不良导致页码缓存出错。但这件事让我明白,功能漏洞有时候不需要“修复”,它只需要被扰动一下。就像那扇歪门,你踹一脚门框,它可能就正了。也可能更歪。但至少你试过了。
现在我用那台电纸书看完了七本书。每次翻到第47页,我还是会下意识停一下。什么都没发生。可那个停顿本身,已经成了阅读节奏的一部分。
本文地址:http://www.79wt.cn/news/1440f9199764.html
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。