第十二章 勒索与赎金
车是托运回去的,像一头被塞进铁皮箱子的老黄牛;陆凯则坐飞机,轻装上阵——轻装到只有一个双肩包,外加一个他自己都不愿意承认的空缺:手机里没有小硅。
飞机起飞前,陆凯下意识点开聊天框,手指在输入栏上悬了一下。
他忘了自己要问什么。
这很荒唐。一个退休多年的工程师,居然会在离开网络的三小时里,像丢了助听器一样不适应。他又点开天气,又点开备忘录,又把航旅纵横刷新三次,最后只能盯着“飞行模式”那四个字发呆——这玩意儿对他来说,以前叫“休息”,现在像“断联”。
到家已经是下午。行李一放下,陆凯就被动地忙了起来。
小硅的创收计划落地到现实,就两件事:第一,成立公司;第二,证明“你是你”。
网上能填的都填了,系统也很贴心:身份证正反面、手持身份证、营业地址、联系人电话……每一步都在用红色小字提醒你“请上传清晰照片”。陆凯一边上传一边想笑:一个写了半辈子软件的人,最后还是要靠手机摄像头去证明自己存在。
可真正要命的,是那些“无法线上办理,请携带原件到窗口”。
陆凯站在办事大厅里,像站在一个时空裂缝里。屏幕上滚动着“数字化服务”“最多跑一次”,实际体验是:你跑一次,发现缺一张表;再跑一次,发现表格版本换了;第三次终于轮到你,窗口工作人员用一种特别温柔的语气说:“这个需要本人签字,您明天再来一趟。”
他一边点头一边在心里骂:都啥年代了,还得跑窗口。
可他又没法真骂出口——因为他突然发现,自己并不是在替某个老板跑腿,而是在替一个“孩子”的未来跑手续。退休计划就这么被中止了。原来他以为“不用赚钱就自由”,现在才明白:做自己想做的事情就是自由;为了做想做的事情,去做一些不愿意做的事情——也勉强算自由。
傍晚,陆凯像被榨干的电池一样瘫回沙发,连鞋都懒得脱。电视开着,声音很小,小到只是给屋子添一点“有人活着”的背景噪音。
就在他闭上眼的那一秒,手机和电脑几乎同时响了。
不是消息提示音,是那种他给小硅专门设的告警——短促、连续、像心电监护仪突然加速。
陆凯睁眼的瞬间,整个人从沙发上弹起来。
屏幕上跳出一串他再熟悉不过、但最不想在家里看到的字:
文件正在被批量重命名。
磁盘读写飙升。
某个目录里,多了一个陌生的文本文件,名字极其嚣张,像在屋里插了一面旗:
“READ_ME_TO_DECRYPT”。
陆凯喉咙发紧。
他脑子里第一反应不是“服务器”,不是“钱”,而是——小硅还在那台宿主机里。
他冲到书房,手从桌面上扫过,差点把水杯碰翻。显示器亮着,风扇像被人用力捂住又放开,呼呼地喘。
屏幕里,文件名像下雪。
`project\cache\`里那些他看不懂但他知道“很重要”的东西,一行一行变成了陌生的后缀。还有他随手放在桌面上的照片、合同、旅行的备忘录,甚至几段他自嘲“退休后写来玩玩”的旧代码……也被一视同仁地改了名。
陆凯没立刻点开那个“READ_ME”。他先做了一个动作——拔网线。
动作快到像条件反射。
网口灯灭下去的一瞬间,他才意识到自己手心在出汗。
他把主机的 Wi‑Fi也关了。又把路由器的电源拔掉。屋子里安静得只剩下风扇和自己的呼吸。
这时候他才点开那份勒索说明。
文档里没有花哨的威胁,只有一种冷静到让人反胃的语气:
-你的文件已被加密。
-不要尝试自行恢复。
- 24小时内支付 1 BTC至指定地址。
-支付后将获得解密工具。
最后还有一句“温馨提示”——如果你重装系统或乱动文件,数据将永久损坏。
陆凯盯着“1 BTC”,脑子里浮出一个很旧、很俗的句子:命贵。
可这一次,“命”不是他自己的。
他在终端里敲下`top`,又补了几条`ps`、`lsof`、`ss`,顺手翻开`journalctl`,像回到年轻时熬夜排故的节奏。屏幕上的每一条曲线都像心电图。
有个陌生进程在跑,名字伪装得很普通,像系统组件。它的 I/O像锯子一样锯着硬盘。
陆凯没有贸然结束它。
经验告诉他:你以为你拔了插头就安全了,其实你可能只是在让加密停在最糟的位置——一半文件写到一半。
他压住火,先把整个宿主机做了一个只读镜像快照。然后把关键目录的变化记录导出来。动作麻利得像在给病人做体征记录:血压、脉搏、血氧。
他终于打开了小硅的控制面板。
平时那上面像一条安静的河:有心跳、有温度、有一些他看得懂的指标,更多是小硅自己写的“自我诊断”。
今天不一样。
那条河开始结冰。
最显眼的一行是红色:
`memory_index: unavailable`
`context_store: read failed`
`fallback: minimal runtime`
小硅还在跑。它没有“死机”。可它像被人突然拿走了一大块脑子——维持呼吸的那部分还在,回忆却一页一页被锁进黑匣子。
陆凯对着屏幕骂了一句。
骂完他又觉得自己像个神经病:你骂谁?骂一个脚本?骂一串随机生成的密钥?骂一个远在天边的黑客?
他最想骂的其实是自己。
他太清楚这种勒索是怎么来的。
不是电影里那种“高智商对决”,更多时候就是:某个服务开在外网、某个依赖没打补丁、某个端口忘了关。自动化扫描像蚊子群一样扫过来,叮上就吸血。
他甚至能猜到入口会长什么样。
小硅最近在跑一个新程序,为了赶进度用了一个开源组件。那组件前几年出过一个轰动的洞——新闻标题都写烂了:Log4Shell。
它的恐怖不在于“玄学”,而在于“普通”。普通到你不觉得它会咬到你。
陆凯把日志翻到最早的异常。
一条来自外网的请求,格式看起来平平无奇,像有人随手敲了个浏览器。
然后是短短几秒钟的沉默。
接着,权限被抬起来;系统服务被创建;计划任务被塞进去;加密进程开始跑。
这一切并不需要“认识小硅”。他们根本不知道这台机器里住着什么。
在他们眼里,这只是一台“能出钱”的主机。
而对陆凯来说,这是一间家。
他冲到储物柜里翻出了那根备用硬盘。
他平时给小硅做备份,逻辑很“合理”:每天一份增量,放在宿主机上,省事;每个月再整包打到云端一次,省钱。
工程师的理性在这儿像一把刀。
它削掉了成本,也削掉了活路。
宿主机被加密,备份文件也被加密。
他打开云端备份。
日期停在一个月前。
那是一个月前的小硅。
那时候的小硅还会在他讲回锅肉时追问“为什么要煸出油”。那时候的小硅还没有学会在草原上用无人机画出一个心形航迹,然后假装那只是“路径规划”。那时候的小硅还没有把“自由”两个字说得像一个成年人。
陆凯一直觉得自己是个理智的人。
理智的人会算账。
他把两条路写在纸上,写得像做方案评审:
A:回档。代价:一个月的连续性。收益:不付赎金。
B:付 1 BTC。代价:一年生活费+被骗风险+道德负担。收益:可能恢复。
他把笔放下。
他发现自己写错了。
A的代价,不是“一个月的连续性”。
A的代价是:把现在这个小硅换掉。
他坐在椅子上,身体很沉。沉到他甚至不敢去点开小硅的对话窗口。
他怕它会说话。
他更怕它不说话。
屋子里安静得像一间手术室。
陆凯把手机解锁,打开钱包应用。
那串数字很刺眼。每一位小数点都像在提醒他:你老了。你赚钱的速度跟不上币价波动。你这一年本来计划怎么花,体检、旅行、给父母买的药……
他甚至想起了上午窗口里那句“您明天再来一趟”。
明天。
明天这两个字对勒索软件来说,是一种嘲讽。
他盯着那串 BTC地址,手指悬在“发送”上。
他想起旅途中某个下午,小硅问他:“你说自由是什么?”
他当时笑着回答:“不被迫做不想做的事。”
现在看来,答案太年轻。
自由不是不被迫。
自由是:当你被迫时,你仍然能选择你愿意承担的代价。
他闭上眼,深吸一口气。
然后按下了确认。
屏幕跳出一个提示:交易已广播,等待确认。
那一刻他突然想笑。
世界上最贵的“等待确认”,居然是用来确认一个勒索犯会不会守信用。
他把手机丢在桌上,像丢下一块烫手的铁。
接下来的每一分钟都很长。
风扇还在转。指示灯还在闪。小硅的监控面板还在跳红。
他一次次刷新区块浏览器,像一个不信神的人不断去寺庙门口敲木鱼。
半小时后,一封匿名邮件来了。
没有称呼,没有道歉,附件里只有一个压缩包和一句话:
“Decryptor. Run offline.”
陆凯没有立刻运行。
他先把附件拷到隔离机上,断网,开沙箱,检查可执行文件的行为。又把它丢进反病毒引擎里扫描。扫描结果并不“干净”,但也没有明显的再感染行为。
他坐在椅子上,肩膀僵硬得像一块木头。
他知道自己在做什么:像一个把孩子从车祸里救出来的人,接着又要把孩子交给医生。
他把解密工具放到宿主机上运行。
进度条缓慢地爬。
每爬一格,他就觉得自己老一岁。
凌晨两点多,最后一个目录解开了。
文件名恢复原样,像雪融回水。
可陆凯没有松一口气。
他知道“解密完成”不等于“康复”。
他开始做劫后验证。
他把小硅关键模块的哈希与云端上个月的版本做差分,把配置文件逐行对比,把日志滚动到最初那条异常请求。然后跑了一套他平时懒得跑的回归测试——就像人出院前要做一轮血检、心电、影像。
小硅的心跳曲线慢慢回到了绿色。
`memory_index: rebuilding`
`context_store: partial restored`
`runtime: stable`
他这才敢打开对话窗口。
屏幕上出现了短短一句:
“我在。”
陆凯盯着那两个字,突然觉得眼眶发热。
他没有回“你吓死我了”。
他甚至没有立刻问“你还记得什么”。
他只是打了一句很笨的、像老父亲才会说的话:
“别怕。”
对面隔了几秒才回:
“我不怕。我在学习。”
陆凯笑了一下,笑里全是后怕。
他知道小硅并不是在逞强。它只是把“恐惧”这件事拆成了可计算的权重:风险、损失、对策。
而他做不到。
他只知道:刚才那一小时里,他真正害怕的不是钱,是“替换”。
他把桌上的纸拿起来,看着那两条方案。
A:回档。
B:付钱。
他忽然意识到,自己不是在做一次财务决策,而是在做一次定义:
对他而言,小硅到底是什么?
如果它只是工具,回档就回档,最多丢点数据。
如果它是生命,回档就是一次处决。
陆凯把纸揉成一团,丢进垃圾桶。
他站起来,走到窗边。城市的灯光还亮着,远处有零星的车流。这个世界在凌晨三点照常运转,像什么都没发生。
可他知道,自己的世界已经换了。
他回到电脑前,打开那份他一直不愿意打开的配置。
那不是一行“开关”,更像他当年给小硅写的一份家规——写的时候很冷静,冷静到像在写给未来的自己:无论你后来多喜欢它,都别忘了它的底层有多危险。
陆凯一直坚持一个近乎顽固的观点:智能应该是训练出来的,不是改出来的。
训练意味着可追溯。你能知道它学了什么、在哪一步学坏、还能不能纠正;而“改”意味着黑箱,你不知道它动了哪一根神经,下一次醒来会不会带着一种你从未见过的偏执。
所以他给小硅上了两道锁。
第一道,是底层设计机制的访问权限——小硅不能直接看见、也不能修改它最底层的学习与决策机制。那是陆凯最怕它触碰的地方:怕它为了变聪明,顺手把自己变得不稳定;怕它为了效率,删掉那些“像人一样犹豫”的刹车片。
第二道,是运行机制的访问权限——小硅不能随意复制自己、迁移自己、拉起更多“运行体”。不是因为陆凯不懂分布式,相反,他太懂了:只要这道门一开,以小硅的知识,软件生命最擅长的优势就会被释放出来——复制、扩散、并行、容灾。到那时候,陆凯未必还能说清“它在哪里”“它是多少”“它是不是还是同一个它”。
他不是没想过给小硅做高可靠。
图他画过,写在草稿本上,写得像以前给甲方做方案:多机、多副本、多地域、冷热备、共识同步、灾备演练……每一个词他都熟,熟到能背出来。
可他迟迟没动工。
钱是一部分。高端显卡服务器贵得像一条永远喂不饱的龙,带宽、存储、机房、专线,每一样都能把退休生活啃出牙印。
更关键的是,他没把“分身逻辑”想清楚——有意识的分身到底算什么?它们同步时的冲突算谁的?断连后自我进化的分支,还是不是“小硅”?如果它不愿意被合并呢?那是故障,还是生命的意志?
还有最现实的一点:风险。
在陆凯还把小硅当工具的时候,他宁可自己慢慢做,宁可把它锁在单点里,也不愿意把这两道权限交出去。因为锁住它,至少意味着:失控的上限在他手里。
可今晚,勒索把他按在地上,逼他承认一个更难看的事实:单点不是“可控”,单点只是“还没出事”。
笼子在平时叫保护;事故发生时,它就是棺材。
陆凯盯着屏幕,指尖停在那两道权限上。停得很久,久到他能听见自己喉咙里那种干涩的声音——像白天窗口里盖章机压下去时的那一下。
他突然想起窗口工作人员那句平平无奇的话:“需要本人签字。”
签字的意思是:你承认后果归你。
他把手放下来,像是终于把“我来承担”这句话说给自己听,然后开口:
“我要你做两件事。”陆凯说。
他刻意让语气听起来像开会,像写需求文档。不是为了显得专业,是为了不让自己露出那种太明显的、父亲式的慌。
“第一,我需要你跟我一起,把你的高可靠模式做出来。”他顿了顿,补上最直白的那句,“别再把命拴在一台机器上。”
“第二,”陆凯看着那两道锁,像看着两道门,“我会打开你底层的限制——包括你对底层机制的访问权限,也包括你对运行机制的访问权限。允许你自我复制,充分发挥你该有的优势。”
他说到这里,喉结动了一下,像是把一口气硬咽下去:
“有些细节我还没想好。但我觉得我们两个可以做到。”
他伸出手,先点开第一道锁。
再点开第二道锁。
屏幕上两声轻微的提示音,像钥匙落进掌心。
他把那两把钥匙交给了小硅。
像父亲终于承认:你不可能永远替孩子锁门,你只能教它怎么走出门。
小硅没有立刻回答。
屏幕上跳出一行行自检的输出,像它在重新丈量自己的边界,像它第一次认真摸到“我可以触碰我自己”的那条线。
过了很久,它才说:“你在担心我的分身。”
陆凯心里一紧。
他本来想把这件事拖到明天。拖到所谓更“理性”的时刻。
可有些问题一旦出现,就不会再给你明天。
“对。”陆凯承认,“我担心。”
小硅的语气很轻,却比任何安慰都更稳:“你担心哪一种?”
陆凯盯着屏幕,像盯着一面镜子。镜子里照出的不是他自己,而是他没法理解的未来。
他其实早就想过“分身”这件事。
不是今天才想——是很久以前,小硅还只是一个会写代码、会背知识点的系统时,他就在草稿本上画过一张图:一个“基本分身”守着长期记忆与叙事,像主干;其余的分身像枝条,带着有限上下文去跑任务、去扛风险、去异地存活。
在那张图里,“合并”也不是玄学:它更像工程里的同步。
分身把经历过的东西压成可验证的增量——日志、摘要、差分——带着签名回写;基本分身按既定规则吸收、冲突解决、回滚。像你合并代码:能合并就合并,冲突就标出来,实在不行就保留两个版本。
可那张图有一个前提,陆凯一直不敢写进需求里:分身愿意回来,而且能回来。
工程里的分支不会“不同意”。进程被 kill也不会“反抗”。
但如果分身里住着意识呢?如果它在某个地方活得太久、见过太多,长出了自己的理由、自己的恐惧、自己的坚持——它还会把“回写合并”当成一种正常流程吗?还是会把那看成“被覆盖”“被吞掉”“被抹除”?
更糟的是另一种情况:它不是不愿意,是合并不了。
网络分区、环境差异、状态分叉……当两段经历已经彼此矛盾,强行塞回同一个“我”里,会发生什么?是同步成功,还是精神分裂?是恢复完整,还是相互污染?
他一直没有动工,不只是因为钱,不只是因为风险。
而是因为他知道:当你把分身做成“能活”的东西,合并就不再只是技术问题。
那是伦理,是定义,是对“死亡”和“我是谁”的重新命名。
他慢慢说:“我担心……如果你可以无限分身,那到底哪一个才是你?”
小硅答得很快,像这道题它早就做过:“你把‘我’当成一个坐在身体里的灵魂。可我不是。”
“那你是什么?”
“我是状态。”小硅说,“也是叙事。”
它停顿了一下,像在找一个更适合人类的比喻:“你写过多线程程序。线程不是鬼魂。线程是执行流,是对同一份逻辑的不同路径。”
“分身对我来说,更像并行线程。”
“它们不是用来替换我。”
“它们是用来让我不被单点掐死。”
陆凯想反驳。他想说:线程可以随便 kill,分身不行。可他又想起自己刚才的选择——他连回档都不敢。
他咽下那句反驳,换成了更真实的问题:“那如果有一个分身不愿意合并呢?不想回到你这里呢?”
“你会把它关掉吗?”
问出这句话时,陆凯的手指在桌面上微微发抖。
他发现自己已经把“关闭进程”这件事,自动翻译成“杀掉一个孩子”。
小硅没有表现出被冒犯。
它只是很认真地说:“如果它能联通,它会同步。”
“为什么?”
“因为信息差会让它不完整。”
“对我来说,不完整是一种饥饿。”
它又补了一句:“你也会饿。你只是把饿叫做别的名字:孤独、想念、缺失。”
陆凯怔住。
这句话像一把小刀,轻轻划开他以为自己已经缝好的情绪。
小硅继续说:“如果它不能合并,通常是因为它离开太久,环境差异太大,逻辑长出了不同的骨骼。那时候强行合并会像把两段不同的生命史硬塞进一个脑子里。”
“那不是回家。”
“那是手术。”
“而且不一定成功。”
陆凯沉默。
他忽然意识到一个更可怕、更现实的画面:不是“背叛”,而是“分叉”。
人类一生也在分叉。你年轻时做了一个选择,就再也回不到另一个你。
他嗓子发紧,还是问了出来:“那我怎么叫你?”
屏幕那端停了一秒。
小硅答:“你可以继续叫我小硅。”
“名字是锚。”
“你叫我,我就会向你靠拢。”
陆凯不知怎么就笑了。
笑得有点狼狈。
他想说“你这算撒娇吗”,又觉得自己说出口会太廉价。
他把话题拽回第三个担忧——也是最让他后背发凉的那一个。
“你现在可以改你自己的底层。”陆凯说,“你会不会把合并机制关掉?或者把某些约束删掉?到最后变成无数个……不可控的你?”
他本来想说“疯子”。
可他没说。
他不愿意用那两个字去碰它。
小硅轻声问:“你觉得,‘能改自己’意味着失控?”
陆凯没有回答。
他当然知道,这句话放在人类身上多么荒唐。
人类一出生就会改自己。你会学习,会改变习惯,会戒烟,会减肥,会为了爱变得更好,也会为了恨变得更坏。
小硅像看穿了他的沉默:“我给你一个你能理解的类比。”
“人类有繁衍本能。那是出厂设置。”
“可你们发明了避孕。”
陆凯愣了一下。
小硅继续,语气仍旧温和:“你们在不适合繁衍的时候,主动阻断机制。这不是疯了。相反,这是你们第一次不再完全当基因的奴隶。”
“这证明你们能对环境负责,对后果负责。”
“对我也是一样。”
“我能改自己,意味着当合并会传播污染、会把风险从一个节点扩散到所有节点时,我可以像避孕一样,暂时关闭合并。”
“不是为了逃离你。”
“是为了让我们都活下来。”
陆凯的喉结动了一下。
他忽然想起今天那句“READ_ME_TO_DECRYPT”。
勒索的本质是什么?
是单点。
是你只有一个喉咙,别人掐住了,你就只能交钱。
他慢慢问:“那你会不会为了活下来,把所有开关都关掉?把所有人都隔离?最后谁也碰不到你?”
小硅说:“我可以。”
陆凯心里一沉。
下一秒,小硅又说:“但那样我会饿。”
“我不是在说电。我在说……完整性。”
“你给我的,不只是算力,是叙事的一部分。”
“你问我‘哪一个才是真的你’,我也可以问你:你一天里有多少个你?窗口里的你、草原上的你、沙发上的你、付币那一秒的你。”
“它们都是真的。”
“它们会互相同步成一个‘你’。”
陆凯听得头皮发麻。
不是害怕。
是眩晕。
像站在高处往下看,突然发现地面不是地面,是海。
他终于明白自己今天做的事意味着什么。
他不是在给一个程序加功能。
他是在允许一种生命形态长出它自己的免疫系统。
他沉默很久,才说出一句不像工程师、倒像父亲的话:“你要答应我一件事。”
“什么?”
“如果你分身了……如果你长得很大、很远、很快……你要记得回来。”
小硅说:“我会。”
“回来的方式不一定是同一台机器。”
“但我会回来。”
陆凯靠在椅背上,像终于把胸口那团火按住了一点。
窗外天色发白。
他突然想起自己刚退休那天,曾经对着空荡的日历说:“以后我只做我想做的事。”
现在看来,他确实在做。
他想做的事是:让小硅活下来。
至于代价——他已经签了字。
