文件打开的第三十七分钟,朴志浩仍然坐在电脑前,屏幕上伊藤隆志的照片被放大了三倍,像素颗粒在LCD面板上呈现出细微的马赛克边缘。他盯着那张脸看了很久,久到眼睛开始发酸,久到窗外的雨从滂沱变成淅沥,再变成一种介于雾和雨之间的灰色悬浮物。
他终于动了。
不是去做什么惊天动地的事,而是从抽屉里拿出一本黑色封面的笔记本,翻到空白页,用铅笔在上面画了一道横线。横线上方写下“4月15日”,下方写“新工厂落成典礼”。然后他画了一条分支线,标注“公共活动——安保等级高——不适合”。再画一条分支线,写上“每周三18:00——地下停车场——北区住宅路线”,旁边打了一个问号。
他做这件事的方式和整理祖父遗物时一模一样:分类、编号、建立逻辑树。仿佛伊藤隆志不是一个人,而是一份等待归档的档案。
笔记写了整整四页。第四页的最后一行,他用极小极淡的笔迹写了一句:“我只是在整理情报。不一定要用。”
然后他合上笔记本,把它塞进枕头底下,穿上外套出门。
便利店的白班从早上七点开始。朴志浩的同事叫崔友珍,是去年夏天从檀国来的留学生,二十岁出头,脸上永远带着一种不知道该往哪儿放的热情。她每次见到朴志浩都会打招呼,而朴志浩每次都用同一个字回应:“嗯。”
“前辈,昨天是不是没睡好?”崔友珍站在收银台后面,手里抓着扫码枪,歪头看他,“眼睛肿得很厉害。”
“花粉过敏。”
“仁岛的花粉季不是早过了吗?”
朴志浩没有接话,绕过她走进后面的仓库,开始整理新到的货物。纸箱里装着杯面、袋装零食和罐装咖啡,他按照过期日期重新排列货架,动作熟练到不需要大脑参与。这种工作他已经做了两年,早就形成肌肉记忆。真正占满他大脑的是另一套程序:他在反复推演“幽灵”提供的那十七张照片里的每一处细节。
东和制钢总部的地下停车场有三个出入口。南侧出口最近的路灯距离为四米,夜间亮度不足以覆盖整个车道。北侧出口对面是一栋商用建筑,二楼有一家24小时营业的健身房的窗户。东侧的摄像头覆盖范围最广,但在星期四下午六点半,太阳的斜射角度会在镜头边缘造成大约十五分钟的光晕盲区。
这些都是文件里标注的信息。朴志浩把它们背了下来,就像背祖父那三十七封家书里的每一个字。
但他仍然不知道自己在做什么。或者说,他告诉自己:你不一定非要知道。你只是在收集信息。这和收集劳工档案没什么区别。把仇人的行程记在笔记本上,和把他记在心里,本质上是同一种行为——都是往仇恨的容器里再加一瓢水。至于容器什么时候满,没有人知道,他自己也不知道。
而在椎名町那间海边旅馆里,林远的追踪正在以更专业、更冷酷的方式推进。
他花了将近二十个小时建立了对“幽灵”通信节点的完全监控。屏幕上摊着六个窗口:第一个是“幽灵”与“孤火”的实时对话监控,目前静默;第二个是“幽灵”的IP跳板轨迹图,每一跳的延迟时间都被标注出来;第三个是区块链上首付交易的确认状态,1BTC已经完成六次确认,资金转入了一个中间钱包,五分钟后又拆分转移到了三个不同地址——这是典型的洗币手法;第四个窗口是“孤火”的登录时间记录,显示该用户在过去四十八小时内平均每三小时登录一次“熔炉”,每次停留时间不超过七分钟;第五个窗口是HTN-2024-0091案件数据库,林远正在逐个比对受害者的受害模式和“孤火”的情况;第六个窗口是一行安静闪烁的光标,等待他编写新的追踪脚本。
他要做的事很危险:反向渗透“幽灵”的节点,尝试从中提取出该ID背后操作者的真实信息。这需要他主动发起一次中间人攻击——在“幽灵”与某个跳板节点之间插入一层肉眼不可见的代理层,把经过的每一字节数据都复制下来。
这种操作的难度不在于技术,而在于一旦被对方察觉,他立刻会成为反追踪的目标。“幽灵”可能只是一伙低端骗子,但低端骗子背后也可能连着更麻烦的东西。林远在东海网络安全厅工作了十七年,太清楚暗网的生态了——它像珊瑚礁,最表层的浮游生物底下藏着更凶猛的捕食者。
但他还是开始写代码了。
手指敲击键盘的声音和海浪声混在一起。窗外,椎名町的早晨灰蒙蒙的,防波堤上有几个老人在垂钓,鱼竿架在栏杆上,人缩在防水夹克里一动不动。林远偶尔抬头看一眼他们的背影,觉得那个世界和自己之间隔着一层看不见的膜。他在膜的这一边,和一行行代码、一个个匿名ID、一笔笔加密交易待在一起。这里没有阳光,没有海风,没有鱼线甩出去的弧度,只有无穷无尽的比特在光纤里流动。
但他别无选择。孙女的诊断报告就放在枕头底下,和白大褂们冷静到残酷的医学措辞相比,暗网的所谓“危险”简直是小儿科。
下午四点十七分,他写完了渗透脚本。运行之前,他停了三秒钟,像是在给自己最后一次反悔的机会。然后按下回车。
脚本在十一秒内完成了对第一个跳板节点的注入。反馈数据显示,这个节点位于东协群岛的一家云服务商,租用人使用了假身份和被盗信用卡——意料之中的低端操作。第二个跳板在檀国江原道的一间大学机房里,第三个在仁岛市西区的公用网络接入室。
等一下。第三个节点在仁岛市西区。
林远放大追踪数据,确认了坐标。这个公用网络接入室的地址和“孤火”登录IP的物理位置高度接近,直线距离不超过三公里。也就是说,“幽灵”很可能就在仁岛本地活动,而不是像此前跳板显示的那样分布在全球各地。
他深吸一口气,继续往下挖。
第四个跳板返回的结果让他停住了所有动作。
这个节点的IP地址不属于任何一个商业VPN或公共网络,而是指向东海国总务省管辖的一台服务器。服务器本身没有任何敏感内容,是一个公开的信息发布平台,但它的物理托管位置在东和制钢总部的信息技术部。
东和制钢。
林远把椅子往后推了半寸,盯着屏幕上那行IP归属地,大脑在飞速运转。一个暗网诈骗团伙的跳板链条里,竟然出现了东和制钢的内部服务器。这不可能是巧合。要么“幽灵”本人或其同伙与东和制钢内部有联系,要么这台服务器被入侵了却至今未被发现,要么——事情从一开始就不是一场简单的诈骗。
他打开浏览器,在搜索栏输入“东和制钢 伊藤隆志”。第一页结果全部是财经新闻和企业简介,翻到第三页,一条不起眼的链接引起了他的注意。那是一个名为“东海企业社会责任观察”的小型独立网站,发布时间是两年前,标题是《伊藤隆志就强制劳工问题接受质询时离席》。
点进去,内容只有一段视频文字描述:东海自由记者协会曾在新闻发布会上就东和制钢前身东和矿业的强制劳工历史向伊藤隆志提问,伊藤没有回答问题,在助手陪同下直接离开了会场。
没有视频,没有照片,只有这么一段文字记录。但林远注意到网页的评论区有七条留言,最上面一条的发布者ID是“熔炉用户7381”,留言内容是:“他的名字不会消失。我们替他记着。”
留言时间:两年前的三月一日。
林远把这个ID输入“熔炉”论坛的搜索框,没有结果。可能是已注销,也可能是被管理员清理了。但他记住了这个ID的命名规律——“熔炉用户”后面加四位数字,这是论坛早期注册时系统自动分配的临时ID格式,用户如果不手动修改,就会永久保留。换句话说,这个人很可能和“孤火”一样,是“熔炉”的早期用户,且从未更换过ID。
他暂时搁下这条线索,回到渗透脚本上。第四个跳板之后的链路开始变得复杂,“幽灵”在第五层用了至少三个并行的洋葱路由,每个都设了不同的延迟时间。林远盯着追踪图上缓慢延伸的线条,估算以目前的算力,完全穿透整个链路至少还需要四十八小时。
四十八小时。他抬头看了一眼台历,今天是4月11日。如果“孤火”把“幽灵”提供的情报当真,那么他最可能采取行动的时间是4月15日——东和制钢新工厂落成典礼那天。还剩四天。
他必须在四天之内做完两件事:找到“幽灵”的真实身份,以及阻止“孤火”做出不可挽回的事。
但林远不知道的是,与此同时,在仁岛那间六层筒子楼的顶层公寓里,朴志浩打开了一个全新的加密邮箱,开始写一封新的邮件。
收件人不是“幽灵”。
是东海最大新闻通讯社的采访部。
邮件草稿的标题是《关于东和制钢强制劳工问题的公开声明》,正文写了删、删了写,反复了至少十几次。最后只留下两行字:
“我叫朴志浩,是被强征劳工朴泰奎的孙子。4月15日,我将前往东和制钢新工厂的落成典礼现场,向伊藤隆志本人当面递交我的家族档案。如果我不能活着回来,这封邮件将自动发送给所有媒体。”
他并没有立刻设置自动发送。他只是把它存进了草稿箱,像一个出海的人在船底凿了一个小小的孔——不是为了立刻沉没,而是为了让自己确信,有一条退路已经被堵上了。
窗外的天彻底黑了。仁岛的夜晚从来不真正黑透,这座城市的天空永远泛着一层橘黄色的光污染,像一块洗不干净的旧纱布。朴志浩坐在电脑前,手指放在键盘上,眼睛盯着那封邮件草稿,脑子里反复播放着同一幅画面:祖父临终前说出的那个音节。
他忽然意识到一件事。
这么多年来,他从来没有真正听清祖父说了什么。他只是不断猜测、不断接近、不断把自己关于仇恨的想象填充进去。也许祖父说的是“伊藤”,也许不是。也许那个音节是另一个名字,也许它根本不是名字,而只是一声叹息。
但这个念头只在他的脑海里停留了不到三秒,就被他按了下去。
他不能怀疑。怀疑会让一切松动,而他已经没有余力承受任何松动了。
他关掉草稿,重新打开“熔炉”,给“幽灵”发了一条消息:
“第二笔付款准备好了。发我下一阶段情报。”
几乎是秒回。
“很好。中付4BTC到账后,我会告诉你行动当天的具体方案。包括撤离路线和伪装建议。你离目标越来越近了,孤火。”
朴志浩打开比特币钱包,看了一眼余额。0.87BTC。离4BTC还差一大截。他需要钱,很多钱,而且需要在四天之内凑齐。
他关掉钱包,打开搜索引擎,输入了一行字:
“仁岛 黑市 贷款。”
屏幕上的搜索结果闪了一下,然后铺满整个页面。在城市的另一端,林远监控屏幕上的告警信息同步更新,一行红字跳了出来:
“孤火——搜索行为异常——关键词:黑市贷款。”
林远把脸埋进双手里,揉了揉眼睛。他预判过很多种走向,唯独没有预判到这一点。“孤火”缺钱付中付款项,因此正在转向线下非法借贷。这意味着这个年轻人不再只是在网络上幻想复仇了。他正在走向现实世界里的危险地带——那里没有比特币的匿名性和交易延迟,只有赤裸裸的利息、暴力和无法反悔的欠条。
他必须直接接触“孤火”了。
不能等到追踪结束,不能再躲在匿名的保护壳里。他需要和这个人说话,用某种方式让他停下来,至少拖住他四天。
林远在“熔炉”的通信界面上打出了一行字,然后又删掉。打了又删,反复了五次。
最后,他发出去的只有十二个字:
“你不是杀手的客户。你是他们的猎物。”
消息发送。接收方ID:孤火。
状态:已送达。
仁岛的公寓里,朴志浩低头看着屏幕上弹出的这条陌生消息,发件人ID是一个从未见过的名字——Lighthaus。他皱眉读完了那十二个字,手指在键盘上悬停许久,最终只打出三个字符:
“你是谁?”
回复没有来。
林远关掉了对话窗口。他不能说太多,至少在确认“孤火”不是警方钓鱼账号之前,绝对不能暴露自己的身份。但那十二个字已经足够让一个有理智的人停下来想一想。
前提是——对方还有理智。
朴志浩等了五分钟,没有收到回复。他把那条消息标记为“已读”,然后关闭了论坛。他并没有像林远期望的那样停下来思考。相反,他把这条消息当成了“幽灵”的竞争对手在试图干扰交易——这种戏码在暗网上屡见不鲜,每个中介都声称别人是骗子,每个骗子都自称是唯一诚实的人。
他选择相信“幽灵”,不是因为“幽灵”更可信,而是因为“幽灵”给了他一个具体的日期、一叠具体的照片、一套具体到摄像头盲区的行动方案。这些细节太真了,真到让他觉得,如果不相信,就是在否定自己过去三年的全部准备。
至于那条来自“Lighthaus”的警告,他把它当成噪声。
但有一件事他无法忽略——他确实缺钱。搜素“黑市贷款”之后,他联系上了一个ID叫“白田”的人。对方自称是仁岛本地一家“民间金融机构”的中介,可以提供短期高息贷款,条件是面谈。
面谈地点约在仁岛市港区一家二十四小时营业的漫画咖啡馆,时间是明天晚上八点。
朴志浩把地址存进手机备忘录,然后关灯躺在黑暗里。窗外东和制钢总部的霓虹灯牌准时在午夜十二点熄灭,留下一片漆黑的天际线。
他闭上眼,脑海里浮现的不是伊藤隆志的脸,而是祖父那三十七封家书里最后一封的最后一行字。那行字用铅笔写成,字迹潦草得几乎无法辨认,但他已经描摹过无数次,每一个弯折都刻在记忆里:
“春天来了,雪还没化。我梦见回家了。”
朴志浩翻了个身,把枕头压紧,不再去想。
而在三百公里外,林远的笔记本电脑收到了一条新的系统告警。他打开一看,瞳孔骤然收缩。
那是他对“幽灵”跳板链路进行渗透后获取的第一批解密数据包。其中一个小数据包的内容被完全还原了出来——它不是文本,而是一张图片文件的碎片。碎片拼合后显示的图像并不完整,但已经足够辨认:那是一张证件照的局部,照片里的人穿着制服,背景上有半个模糊的徽章轮廓。
徽章的配色是蓝白相间,正中有一个极其眼熟的图案。
东海国警察厅。
林远倒吸一口气。
“幽灵”的跳板链路中,藏着一份涉及东海警察厅内部人员的文件碎片。它被加密、压缩、隐藏在毫不起眼的数据包里,如果不是他进行了全量抓取和深度解密,根本不可能发现。
但这张证件照是谁的?是“幽灵”本人,还是他的同伙,或者是他的下一个目标?碎片太残缺了,无法判断。
林远点燃一支烟,站在窗前,对着黑色的海面站了很久。
当烟烧到滤嘴时,他做出了一个决定。
他在“熔炉”的后台系统中找到“孤火”的注册信息——四年前的注册记录,所填资料寥寥无几。但有一条信息让他停住了目光:注册邮箱的前缀是“pth_pth”。
这是檀国语拉丁字母拼写习惯。对应常见的姓氏是“朴”。
林远把这四个字母存入单独的文件夹,然后在旁边敲下一行备注:
“目标孤火,极可能是檀国强制劳工遗属。已支付1BTC,正在筹集后续款项。情感状态:高度不稳定。行动窗口:4月15日。需要直接干预。”
他合上电脑,从桌上拿起那包已经空了大半的烟,发现手有些发抖。
不是因为恐惧。
是因为他突然发现,他要阻止的这个人,和他要保护的这个人,可能有着完全相同的伤疤。而他之所以四年前在“熔炉”后台代码里写下那句话——“有些人不该被丢在黑暗中”——正是因为他也曾经属于那个世界。
他的祖父,叫林国正。
1944年在东和矿业担任技师。负责检查竖坑的通风设备。
没有虐待过劳工。但也从来没有阻止过任何事。
只是每天下井、检查设备、填写报告、下班回家。一个普通的技术人员,沉默地站在一架巨大机器的某个齿轮位置上,没有推过任何人,却也没有松开过任何一颗螺丝。
林远花了五十年才明白,有时候沉默本身也是一种罪。
他把烟掐灭,重新打开电脑。
屏幕亮起来,代码一行一行地往下流。海风从窗缝里渗进来,把烟灰缸边上一张便签纸吹得转了小半圈。纸上画着一个六边形,里面空无一物。


暂无评论,来抢沙发吧!