第一章
空气里有股特别的味道。
是松香混合着臭氧,还带点服务器散热片积灰后的焦糊味。这是智盾科技七楼消声实验室的标准气味——2028年11月3日凌晨两点十七分,林天在这股气味里已经待了四十七小时。
“林工,第三十七轮了。”实习生小陈揉了揉发红的眼睛,“真要继续?”
“继续。”
林天没抬头,眼睛盯着屏幕上的波形。“心盾Ⅲ型”植入式心脏起搏器躺在测试夹具里,银白色的钛合金外壳反射着仪器指示灯的红光,像个金属做的蚕蛹。
旁边的射频干扰发生器发出低沉的嗡鸣,频率127.3MHz。这个频段是工业微波设备、老旧医疗仪器、部分军用通讯设备的常见泄漏频点。干扰场强被设定在37.2V/m——这是欧盟医疗设备电磁兼容性标准IEC60601-1-2的临界值。
“开始记录。”林天按下测试键。
屏幕上,模拟心电图开始跳动:72bpm,窦性心律,完美正弦波。三秒后,干扰发生器功率提升,叠加了一个15.7kHz的调制谐波。
波形变了。
72,89,103,121。
心率在四秒内冲到121bpm,持续整整六秒,然后回落。
实验室里只剩下服务器风扇的低频嗡鸣。
“异常提升68%。”林天的声音很平静,像在念说明书,“干扰参数:127.3MHz载波,15.7kHz调制谐波,场强37.2V/m,持续时间8秒。起搏器最高输出121bpm,异常持续时间6秒。”
小陈敲着键盘,屏幕一角跳出概率计算窗口。“在临床环境下,这种强度的特定频谱干扰,年暴露概率约0.07%到0.12%。”
“千分之零点七到一点二。”林天说。
“对普通患者来说,十年内碰到的概率不到百分之一。”小陈顿了顿,声音低了些,“而且121的心率理论上不致命,除非患者本身……”
“有室颤病史。”林天打断他,“如果有呢?”
小陈不说话了。
林天调出另一组数据。那是三个月前的动物实验记录,权限等级很高,他用安全工程师的通用密码才调出来。三只比格犬,植入同款起搏器,在模拟干扰下,两只出现短暂心室纤颤,一只在实验后第七天死于心力衰竭。尸检报告结论栏写着:“死因可能与起搏器异常工作存在相关性,需进一步验证。”
相关性。医学报告里最暧昧的词。
“把测试序列延长到五千轮。”林天说。
“五千轮?”小陈看了眼时间,“那得测到下周三了。”
“测。”
小陈叹了口气,开始设置自动测试参数。林天站起来,走到实验室角落的观测窗前。玻璃是双层镀膜的,能隔绝80%的电磁波。窗外的深圳,智盾大厦的玻璃幕墙倒映着凌晨的霓虹,像一块巨大的、发光的印刷电路板。
他口袋里的手机震了一下。
屏幕亮起,是女友小雨发来的消息:“活检结果明天上午出。李医生说大概率是良性,但还是要做免疫组化确认。你别熬太晚,早点回。”
后面跟着个笑脸表情,黄豆脸,嘴角咧到耳根。
林天盯着那个笑脸,看了很久。然后他回复:“嗯,明天我陪你去。”
发送。他放下手机,手指在屏幕上停留片刻,点开手机银行。余额:87,314.55。房租季度付,下周到期,8200一个月,押一付三总共32,800。父亲髋关节手术押金5万,医保报销后自付大概3万2。小雨的免疫组化如果用进口试剂盒,自费部分3万2左右。
他关掉手机,回到测试台前。
小陈已经设好参数,测试自动运行。屏幕上,波形一遍遍飙升,像心脏在无声地尖叫。
五千轮测试需要连续运行127小时。林天在实验室睡了三天。第四天凌晨,结果出来了。
五千轮测试中,有11轮出现了频率异常。其中3轮超过了130bpm,最高的一轮达到142bpm,持续4秒。
142bpm。
对健康人来说,这个心率意味着剧烈运动。但对心室纤颤高危患者——那些心脏里埋着心盾Ⅲ型的2300人来说,这个数字可能是压死骆驼的最后一根稻草。
林天打开公司的漏洞管理系统,新建报告。编号自动生成:VD-2028-047。
他写了三个小时。
漏洞报告 VD-2028-047
产品:心盾Ⅲ型植入式心脏起搏器
固件版本:v2.1.4
漏洞描述:在特定电磁干扰环境下(127.3MHz载波+15.7kHz调制谐波,场强≥37.2V/m),起搏器射频前端可能发生频谱混淆,将干扰信号误识别为“患者活动信号”,触发运动适应性起搏功能,将心率提升40-90%
风险:对心室纤颤高危患者,可能诱发室颤
概率模型:临床环境年发生率0.07%-0.12%,高危患者(约2300人)年风险1.2%-3.1%
影响范围:已出厂约2.3万台
建议:1.固件热更新(修正运动识别算法) 2.高危患者筛查与告知 3.召回可能性评估
他点击“提交”。系统提示:“报告VD-2028-047已发送至技术评估部。标准评估周期:5个工作日。”
林天关掉电脑,走进洗手间,用冷水冲了把脸。镜子里的人眼睛布满血丝,下巴上胡茬发青。他想起小雨明天要做免疫组化,想起那三万二的自费部分,想起父亲手术费还差三万二。
钱可以再挣。他告诉自己。但有些东西,错过了就没了。
第二章
五天后,技术评估部的回复来了。
邮件很短:
“经评估,VD-2028-047所述漏洞利用条件苛刻,临床发生概率低于可接受风险阈值。心盾Ⅲ型已通过FDA、NMPA、CE三重认证,任何固件修改需重新申报,流程约18-24个月。当前版本稳定性良好,暂无更新计划。”
下面有评估工程师的电子签名,还有法务部的备案水印。
林天盯着“18-24个月”那行字。两年。两年里,那2300名高危患者,可能在某个有老旧医疗设备的医院、某个工业区附近、某个军用通讯基站覆盖范围内,心脏突然跳得太快。
他点了“重新提交”,在备注栏加了一句:
“动物实验已显示室颤风险。建议至少对已知室颤史患者进行风险告知,预计涉及约2300人。”
第二次驳回只用了两天。这次措辞变了:
“请勿在正式报告中引用未经公司批准的实验数据。注意:任何未经临床验证的风险推测,如对外披露,可能触发保密协议第4.3条(损害商业信誉)。请谨慎措辞。”
林天看着屏幕,一动不动坐了十分钟。然后他打开浏览器,输入一个网址。
那是他三年前注册的加密博客,用假名、假邮箱、假IP注册的,从没发过东西。他新建文章,标题:“关于某型植入式医疗设备的频谱混淆漏洞:技术分析”。
他没提智盾,没提心盾Ⅲ型。他放了张处理过的因果图——用开源工具重绘的,去掉了公司标识。还有一组脱敏的测试数据:去掉了具体频率数字,用“频段A”“场强B”代替。
他写了最后一段:
“在工程风险评估中,千分之一的概率是‘可接受风险’。在临床决策中,千分之一是一条命。在商业报表中,千分之一是‘不影响整体安全性’。视角决定生死。”
光标在“发布”按钮上闪烁。
他打开手机,银行APP的图标是红色的,表示有未读消息。他没点开。他又打开相册,最新一张照片是上周拍的,小雨在医院等活检结果,坐在蓝色塑料椅上,低头看手机,侧脸在荧光灯下有些苍白。
他闭上眼,深吸一口气。
点击发布。
时间戳:2028年11月28日,03:14。
第三章
林天被叫到CTO办公室时,是早上九点。办公室在四十八楼,落地窗俯瞰深圳湾。王总——王振华,智盾科技联合创始人兼CTO——正在泡茶。
“林工,坐。”王总没抬头,专注地洗茶杯,“喝岩茶?朋友刚从武夷山带的。”
“谢谢,不用。”林天站着。
王总笑了笑,推过来一杯茶。“别紧张。就是聊聊你那个报告,VD-2028-047。”
他调出投影。屏幕上是份PPT,标题是“心盾Ⅲ型漏洞修复成本收益分析”。
“你的报告我仔细看了。技术上说,你是对的。”王总点开下一页,“但咱们做医疗的,不能只看技术,得看这个。”
他指着图表:
“修复成本,分三块。一,固件重写+重新认证,18个月,成本约3000万。二,召回高危患者升级,涉及2300人,人均成本按3500算,800万。三,市场影响,股价可能跌15-20%,咱们市值现在200亿,你算算。”
林天没说话。
“而收益呢?”王总切到下一张,“你的模型显示,即使不修复,十年内因此漏洞导致的额外死亡率,预期是0.8到2.1人。换算成年,是0.08到0.21人/年。”
他放下遥控器,看着林天。
“从纯数学看,救0.08到0.21个人的最优成本,不该是30亿。应该用这30亿去做高危筛查、做患者教育、做基础医疗建设,能救的人更多。”
林天终于开口:“那0.8到2.1个人呢?”
“是代价。”王总说得很平静,“做医疗,永远在算这个账。用有限的资源,救尽可能多的人。有时候,就得接受小代价,避免大损失。”
他推过来一份文件。
“公司不会承认漏洞,但可以匿名资助一个‘心室纤颤高危患者筛查项目’,预算500万,预计可提前干预8到10例高危患者。条件是,你主动离职,签这份协议。”
林天看了眼协议封面:《保密与和解协议》。他翻开,第七条用加粗字体写着:
“乙方(林天)承认,报告VD-2028-047中的测试方法存在局限性,数据解读可能不全面。乙方自愿离职,五年内不得参与任何植入式/介入式有源医疗设备的研发、测试、认证、故障分析工作。”
下面有一行小字:“解释权归甲方。甲方有权根据技术发展,将新兴领域纳入限制范围。”
“签了,你女朋友的免疫组化费用,公司用员工救助基金覆盖。”王总补充道,“大约三万二。另外,离职补偿按N+3算,你入职三年,总共六个月工资,大概12万。加起来15万左右,够你过渡一段时间。”
林天的手指在纸面上划过,停在签名栏。
“如果我不签呢?”
王总端起茶杯,吹了吹热气。“那公司只能走正式流程了。法务评估过,你的博客文章虽然做了脱敏,但测试数据里有数字水印——每份测试报告生成时,系统会自动嵌入基于时间戳、操作员ID、设备序列号的哈希值。即使脱敏,水印还在。”
他抿了口茶。
“法务认为,这构成‘侵犯商业秘密’,索赔标的大概50万。一旦立案,侦查期间你的账户会被冻结。你女朋友的治疗,你父亲的手术,可能都得等等。”
他放下茶杯,看着林天。
“当然,这是法律程序,不是威胁。我只是告诉你可能的后果。”
林天拿起笔。笔是万宝龙的,很沉。签名的时侯,墨水在纸上洇开一点,像滴眼泪。
第四章
小雨的基因检测结果出来那天,林天办完了离职手续。
HR是个中年女人,把离职证明推过来,上面写着“因个人原因自愿离职”。他签了字,交还工牌、门禁卡、测试设备授权U盾。最后一项是签保密协议附件,范围扩大到了“可穿戴健康设备、远程诊疗系统、医疗大数据分析”。
“按法务部最新解释,这些都可能被认定为‘相关领域’。”HR说,语气里有种程式化的同情,“建议你……暂时避开整个数字医疗赛道。”
林天问:“那我能做什么?”
HR沉默了两秒,声音低了些:“纯硬件维修?不联网的那种。”
林天点点头,拿起自己的包——一个用了四年的双肩包,帆布材质,边角已经开线。里面装着一台自制的故障分析仪,三本纸质维修手册,一套用旧了的精密螺丝刀,还有昨晚在便利店买的打折三明治。
他走出智盾大厦时,阳光很好,刺得他眯起眼。他给小雨打电话,响了七声才接。
“结果怎么样?”
电话那头沉默了三秒。然后小雨说:“良性的。李医生说定期复查就行,不用特殊治疗。”
林天靠着玻璃幕墙,慢慢滑坐到地上。眼泪流出来的时候,他还在笑。
“太好了……太好了……”
“小天,”小雨的声音有点抖,“你离职的事,陈姐跟我说了。你为什么不告诉我?”
陈姐是HR。林天擦了把脸。“没事,换个工作而已。你好好休息,我晚上回来做饭。”
他去菜市场买了条鲈鱼,一把小葱,一块嫩豆腐。小雨喜欢喝鱼汤。经过药店时,他进去买了瓶维生素B,结账时看见柜台里陈列的“心盾”系列产品海报。
海报上是个笑容慈祥的老人,胸口画着发光的红心。广告语:“智盾守护每一次心跳”。
林天拎着菜,站在海报前看了很久。然后转身,推门离开。
电梯里遇到楼上的陈姨。老太太拎着个电饭煲,愁眉苦脸。
“小林啊,你会修东西不?我这个电饭煲,煮饭老糊底。厂家说是我米不好,可我换了三种米了,还是糊。”
林天看了眼电饭煲,是个老型号,白色塑料外壳已经泛黄,底部贴着标签:“CFB-2005A”。
“我看看吧。”
陈姨千恩万谢。林天拎着鱼和电饭煲回到家,小雨正在沙发上叠衣服。她瘦了些,脸色有些苍白,但眼睛亮亮的。
“陈姨的电饭煲,我看看。”
他把电饭煲放在餐桌上,拆开底盖。结构很简单:一个加热盘,一个机械式温控器,几根电线。内胆底部有三处凹痕,导致受热不均。
“能修吗?”小雨走过来。
“能。敲平就行,但用不久,金属疲劳了。”
他去找橡胶锤,小雨站在餐桌边,看着那个电饭煲。突然说:“小天,我有个大学同学在医疗器械公司做销售。她说……可以内推我。”
林天的手停在半空。
“销售压力大,但收入还行。你……可以慢慢找,不急。”
林天转过身,看着小雨。她穿着他的旧T恤,袖子挽到手肘,手腕细得能看见骨头的轮廓。三个月前,他还在担心那颗活检的结节是恶性。现在,她在担心他没了工作。
“好。”他说,“你先去试试。我……我再看看。”
他蹲下来,垫上厚毛巾,用橡胶锤轻轻敲击内胆。金属发出沉闷的砰砰声。一点一点,把凹陷的地方敲起来。这是个需要耐心的活,力道大了会裂,小了没用。
敲了二十分钟,内胆勉强恢复了七八成平整。他把它放回电饭煲,通电测试。加热盘亮起暗红,温度慢慢上升。
“应该能用了。”林天说,“但煮饭时多加点水,寿命可能就几个月。”
小雨点点头,突然伸手,摸了摸他的脸。“你脸色好差。去睡会儿吧,鱼我来做。”
“没事,我来。”林天说,“你休息。”
那天晚上,鱼汤很鲜。小雨喝了两碗。陈姨来取电饭煲时,非要塞给他五十块钱,他推辞不掉,收了。
夜里,小雨睡了。林天坐在客厅,打开笔记本电脑。那是他大学时用的游戏本,六年前的老型号,显卡是GTX 1060。他点开一个文件夹,名称是“CausalDebugger”——因果调试器,他硕士期间的课题,一个基于贝叶斯网络和物理模型的故障诊断系统。
他插上移动硬盘,找到源代码,开始修改。三天没怎么睡,他把原来的架构拆了,用新的因果推理引擎重构。第四天凌晨,系统能跑了。
他喂给它电饭煲的图片、结构图、故障描述。点击运行。
风扇开始狂转。
功耗监控软件显示:
- CPU占用:97%
- GPU占用:100%
-温度:89℃
-瞬时功耗:187W
运行了十七分钟,屏幕输出因果图:
[现象]煮饭糊底
[因果链]内胆变形→受热不均→局部过热→淀粉过度糊化
[根因]金属疲劳(使用年限18年>设计寿命10年)
[修复方案]物理矫正(临时)
[预期寿命]延长3-6个月
[能耗] 0.1度电,成本约0.08元
林天看着“预期寿命”那行字。
有些东西,注定要坏的。修,只能续命一时。但有些命,能续一时,也是一时。
他关掉程序,合上电脑。窗外,城市在呼吸,亿万颗心脏在跳动。有些跳得快,有些跳得慢,有些在某个瞬间,可能会跳错一拍。
而他坐在这里,能修的只有一个电饭煲。
手机亮了一下。银行短信:账户余额 72,314.55。房租13天后到期。父亲手术费还差三万二。小雨如果去做销售,第一个月没工资。
数字很清晰。清晰得让人绝望。
他站起来,走到工作台前。那是他从二手市场花两百块买的旧桌子,桌面有划痕,但很结实。他打开台灯,暖黄的光圈亮起,照亮大约一平方米的面积。
在这个光圈里,因果是清晰的。电压、电流、电阻、电容。A导致B,B导致C。找到A,修好A,一切恢复正常。
不像外面的世界。不像那些百分比、概率、风险评估、商业决策。不像那2300台高危起搏器,和它们可能跳错的某一拍。
他拿起螺丝刀,开始拆解一个客户送修的平板电脑。屏幕碎了,无法开机。故障点应该很简单。
就在这个时候,敲门声响了。
不重,但很清晰。三下,停顿,又三下。
林天放下螺丝刀,走到门后。猫眼里,是个戴口罩的男人,三十多岁,眼窝深陷,怀里抱着一个银白色的金属盒子。
盒子上印着蓝色的十字,和一行小字:
心盾Ⅲ型患者程控仪
林天的手,停在了门把上。
保密协议第七条在脑子里自动展开:“乙方不得以任何方式接触、分析、修改甲方医疗设备……违约触发自动赔偿条款:人民币100万元,且甲方有权刑事报案。”
但还有第七条第4款:“若设备处于紧急医疗状态,且乙方行为被证明为防止即时人身伤害,可适用‘善意第三方豁免’,但需承担举证责任。”
门外,男人又敲了三下,更轻,像最后的乞求。
林天计算:
-账户余额:72,314.55
-赔偿金:1,000,000
-差额:927,685.45
-他还不起
但如果不开门,如果男人的父亲真是那2300名高危患者之一,如果设备正在异常工作——
今晚死亡率可能是3%/年÷ 365≈ 0.0082%/天。看似低,但落在个人身上,是100%。
他转动了门把。
【第一集完】
下集预告:
门外的男人眼睛通红:“林师傅,我父亲的起搏器……它昨晚报警了。心率142,持续了4秒。厂家说,是电池正常耗尽,必须换新,要二十万。”
林天看着程控仪的屏幕,序列号是HS-2307-8843——正是他测试报告中用作样本的那个批次。
而他的笔记本电脑上,元灵突然自动弹出警告:
“检测到远程连接尝试。来源:智盾安全运维中心。倒计时:3分17秒。”
男人说:“我查到了你缓存的博客。我知道你知道。求求你,看看它。”
林天看着倒计时。3分16秒。
足够连接设备,读取数据,判断风险。
也足够被智盾的系统锁定,触发百万赔偿。
《因果维修师:2032》第二集:水印
即将更新

