手机震动的时候,江逾白的手还搭在我手腕上。
他没松开,只是低头看了眼屏幕。我抽回手解锁,基金会助理发来的消息跳出来:“官网崩了,捐赠系统被锁,后台提示境外Ip异常登录。”
我皱了下眉,把手机转过去给他看。他接过,指尖在屏幕上划了两下,调出内网监控图。数据流量曲线猛地冲高,像一根针扎破了平静。
“ddoS攻击。”他说,“用了三层跳板。”
我没说话,打开笔记本连上运维后台。登录界面弹出权限验证框时,脑子里忽然闪过大学那年网络安全赛的场景——决赛题就是防御分布式洪流攻击,我当时写的防火墙脚本拿了二等奖。
一串代码自动浮现在眼前。
我敲进去,按下回车。系统顿了一下,攻击波峰短暂回落,但三秒后又开始攀升。
“它在试探。”我说,“不是普通黑客,是冲着基金会来的。”
江逾白站到我身后,视线扫过日志记录。“攻击源伪装得很深,每次断连都换特征码。”
我切到实验室的分析终端,导入抓包数据。时间戳偏移、数据包指纹比对,一层层剥离虚假路径。二十分钟后,真实Ip定位成功——本市郊区一栋私人仓库里的服务器。
“可以远程接入吗?”我问。
他点头,操作几下,画面切进对方电脑桌面。
屏幕定格在一张照片上。
婚礼现场,红毯铺到尽头。新娘穿着拖尾婚纱,脸是苏倩倩的,但明显经过处理。新郎侧身站着,面部模糊,只露出一只手,腕上戴着一枚袖扣,银底刻着“J.Y.”两个字母。
我盯着那行字,“这不是真的……可为什么用她的脸?”
江逾白没答,反而调出公司影像库,检索2018年校庆活动资料。画面跳转,一群人在礼台旁合影。二叔站在角落,搂着一个穿浅色裙子的女人,笑容得体。他抬起手整理领结时,袖口那枚“J.Y.”袖扣清晰可见。
“是他。”江逾白声音低下来,“当年他想让我娶他表妹,说是为了稳定股东信心。我没同意。”
我看着两张图来回对比,“所以他一直留着这个设定?连壁纸都做出来了?”
“不止是壁纸。”江逾白放大攻击日志,“这台服务器注册信息用的是空壳公司,但供电账户绑定的是他名下的物业。这不是临时起意,是早就准备好的。”
我重新切换回基金会系统,发现攻击程序嵌入了一段深层逻辑炸弹,一旦强制切断连接,数据库会自动触发删除指令。
“不能硬断。”我说,“得让它自己暴露弱点。”
我想起竞赛时用过的“蜜罐”模块——伪造漏洞诱敌深入。我把旧项目的备份文件调出来,模拟出一个看似未修复的安全缺口,上传到测试环境。
五分钟后,攻击流量转向这个节点。
“中计了。”我盯着登录凭证栏,“他在用私人账号接入。”
江逾白立刻联系法务组备案,同时通过家族技术团队封锁该服务器所有关联账户。几分钟后,攻击终止,基金会系统恢复正常,所有捐赠记录完整无损。
大屏最后定格的日志里,有一行未加密的备注:
「给真正的新娘让位」
我看着这句话,手指在键盘边缘轻轻敲了一下,“他是不是觉得,只要毁掉我们开始做的事,就能把一切拉回他想要的样子?”
江逾白关掉屏幕,绕到我这边坐下。
“他忘了。”他说,“我们从没按他的节奏走。”
我合上电脑,呼吸才慢慢平下来。刚才全程紧绷着神经,现在肩膀有点发酸。窗外天色已经暗了,办公室只剩顶灯洒下一圈暖光。
他伸手碰了下我的后颈,动作很轻,“累不累?”
我摇摇头,“还好。就是没想到,他会用这种方式。”
“他一向擅长藏在规则后面动手。”江逾白靠在椅背上,“上次是剪辑监控,这次是远程攻击。下次说不定还会找人冒充什么亲属关系。”
我忽然想到什么,“等等。”
他看向我。
“你说他之前想让你联姻……那枚袖扣,是订婚信物?”
“算是吧。”他淡淡地说,“他表妹搬家时落在我书房一次,我没还,后来就再没人提了。”
我盯着他,“所以你根本没打算接受?”
“从来没有。”他看着我,“我对谁都没动过那种念头。”
空气安静了一瞬。
我低头摆弄笔记本边缘的贴纸,一张卡通小猫,还是去年参加社团活动时随手贴的。撕了一角,现在翘了起来。
“那你当初……为什么会抄那道题七遍?”
他愣了一下。
“我以为你不会记得。”
“我记得。”我说,“你也说了,从来都不是陌生人。”
他笑了下,没接话,却起身走到柜子边,拉开最下面的抽屉。翻了会儿,拿出一部旧手机。
黑色外壳有些磨损,充电口附近有条细裂痕。
“这是我那时候常用的机子。”他递给我,“一直没扔。”
我接过来,手指划过屏幕。黑着的,电量耗尽。
“还能开机吗?”
“充一会儿试试。”他坐回我旁边,“里面可能还有些旧文件。”
我插上充电线,等了几分钟,按下电源键。屏幕闪了一下,跳出输入密码的界面。
四位数。
我试着输了个日期——,运动会那天。
错误。
又试了图书馆借书证号,不对。
江逾白看着我,“你想查什么?”
“不确定。”我盯着黑屏,“就是想知道,那时候你到底记了多少事。”
他沉默几秒,“要不我告诉你密码?”
我抬头。
他声音很低,“你纹在锁骨上的那个公式,去掉最后一个符号,倒过来写。”