成都,高新区天府三街的某个LOFT公寓里,键盘敲击声像密集的雨点,在凌晨三点寂静的房间里格外清晰。吴浩盯着三块曲面屏,手指在机械键盘上飞舞,屏幕上的代码瀑布般滚动。他戴着降噪耳机,整个世界只剩下指尖的触感和屏幕上跳动的字符。
最后一行代码写完。他按下回车,长舒一口气,从桌边拿起已经凉透的咖啡灌了一大口。苦味在口腔里蔓延,但提神效果早已消失——他已经连续工作了四十八小时。
任务完成了。又一家创业公司的后台数据库被悄无声息地撬开,财务漏洞、数据问题、灰色操作……所有见不得光的东西都被打包整理,加密发送到那个固定邮箱。三分钟后,手机震动,银行到账通知:八万元。
吴浩关掉电脑,瘫在电竞椅上。窗外,成都的夜色被霓虹灯染成一片暧昧的紫红。楼下24小时便利店的招牌亮着冷白的光,几个喝醉的年轻人勾肩搭背地走过,笑声隐约传上来。
他才二十一岁,但感觉自己已经老了。不是身体,是某种更深的东西——对兴奋感的阈值越来越高,对罪恶感的感知越来越钝。两年前第一次接这种活时,他手抖得打错了好几次命令,完成后失眠了三天。现在,他能在入侵完成后立刻点外卖,边吃炸鸡边看动画片。
手机又震了一下。是妈妈发来的微信:“浩浩,这个月的生活费妈妈打过去了。你在外面别太省,该吃吃该喝喝。工作再忙也要按时吃饭。”
吴浩盯着那条消息,手指悬在屏幕上方很久,最后只回了一个字:“好。”
他没告诉妈妈,自己早就没去那家软件公司上班了。也没告诉她,他现在赚的钱,一个月比她一年挣得都多。更没告诉她,这些钱是怎么来的。
有些真相,知道了不如不知道。
就像那些被他入侵的公司老板,不知道自己的秘密正被人标价出售,或许还能睡个安稳觉。
吴浩起身走到窗边,点了支烟。烟雾在夜色中袅袅上升,模糊了玻璃上自己的倒影——瘦削,黑眼圈深重,头发乱糟糟的,身上的T恤已经穿了三天。
他想起两年前,大二退学那天。不是因为成绩不好,相反,他是计算机系的天才,大一时就帮教授做过项目。退学是因为父亲查出肺癌,治疗费像无底洞。辅导员说可以申请助学贷款,但那些钱连一个月的靶向药都不够。
他在网上发帖问“快速赚钱的方法”,第二天就有人私信他:“有个技术活,一次五万,做不做?”
第一次见面,对方是个中年男人,戴着金丝眼镜,说话文质彬彬。他说自己是“商业情报顾问”,需要调查一些公司的“合规情况”。吴浩知道这不对劲,但对方当场预付了两万现金。厚厚一沓红色钞票,是他父亲一个月的药费。
他接了。从那以后,就再没回头路。
手机突然连续震动。不是微信,是加密通讯软件的特殊提示音——只有紧急情况才会这样。
吴浩掐灭烟,快步走回电脑前。三块屏幕同时亮起,跳出一个对话框:
“立刻销毁所有设备,离开住处。立刻。”
发信人是“L”——陈志龙。他们从未见过面,所有联系都通过加密软件,所有交易都用虚拟货币结算。吴浩甚至不知道“L”是男是女,是老是少。
他皱眉,回了一句:“?”
“警察在查。你经手过的一个目标死了,事情闹大了。我这边已经撤了,你也赶紧走。”
死了?吴浩的心猛地一沉。他经手过十几个目标,大部分是公司老板,也有几个体制内的人。但他从不问这些信息用来做什么,就像对方从不问他怎么搞到这些信息一样。这是这行的规矩:各取所需,不问来路。
“哪个目标?”他打字的手有点抖。
“北京,WeCall公司,姓林。三个月前你做的数据报告。”
林默。吴浩记得这个名字。不是因为特别,相反,是因为太普通——一个典型的理工男创业公司,数据有些水分,资质有些擦边,但远不到犯罪的程度。他当时还纳闷,这种级别的“把柄”,值得花八万块买吗?
现在他知道了。值得,因为人死了。
胃里一阵翻搅。吴浩冲进卫生间,对着马桶干呕,但什么也吐不出来。他打开水龙头,用冷水狠狠泼脸,抬起头时,镜子里的自己脸色惨白,眼睛里有血丝。
门外突然传来敲门声。
很轻,但很有节奏:咚,咚咚,咚。
不是外卖,外卖员会大声喊;也不是邻居,邻居不会这个点来。吴浩的心跳骤然加速,他悄声走到门边,透过猫眼往外看。
走廊里站着三个人。两个穿着便服,但站姿笔挺,眼神锐利。还有一个穿着物业的制服,但表情很不自然。
警察。
吴浩退后两步,大脑飞速运转。电脑里的数据可以远程销毁,手机有自毁程序,但需要时间。卧室床底下的现金有二十多万,护照在抽屉里,假身份证……
敲门声又响了,这次重了些:“吴浩,开门。警察。”
跑不掉了。这个念头清晰而冰冷。楼道有监控,电梯需要刷卡,消防通道……消防通道或许可以,但楼下肯定也有人守着。
他走到窗边,推开窗户。这里是十七楼,跳下去必死无疑。但或许……或许可以爬到隔壁?隔壁阳台离这里只有一米多,如果动作快……
“吴浩,我们知道你在里面。开门配合调查,不要做傻事。”门外的声音很平静,但透着不容置疑的压力。
吴浩看着窗外。夜色中,这座城市依旧灯火通明。远处环球中心的LED大屏在播放某个手机广告,模特笑得灿烂。楼下便利店,店员正在整理货架。街对面的网吧,还有年轻人在通宵打游戏。
多么平常的夜晚。而他的人生,即将在这一刻彻底改变。
他想起父亲。那个老实巴交的中学教师,一辈子没做过亏心事,最后却要儿子用亏心的钱续命。父亲上个月去世了,闭眼前拉着他的手说:“浩浩,爸拖累你了。以后……要堂堂正正做人。”
他没做到。
吴浩深吸一口气,关上了窗户。然后走到门边,打开了门。
北京市公安局的审讯室里,吴浩戴着手铐,坐在铁椅子上。他低着头,盯着手腕上金属的反光,像个做错事等待惩罚的孩子。
赵毅坐在他对面,没有立刻开口,而是先给他倒了杯热水。
“吴浩,21岁,四川成都人,原电子科技大学计算机系学生,大二退学。”赵毅翻开档案,“2021年9月开始,通过暗网接单,专门从事商业数据窃取和信息安全渗透。经查实,你共参与十六起案件,非法获利约一百二十万元。”
吴浩没有抬头,只是点了点头。
“今年6月,你接受了陈志龙的委托,入侵WeCall科技有限公司后台服务器,获取该公司财务数据、用户信息、以及技术架构漏洞。”赵毅的声音很平静,“你收取了八万元费用,提交了一份长达四十页的技术报告。这份报告后来被陈志龙和苏晴用于敲诈勒索公司创始人林默,最终导致林默跳楼自杀。”
听到“自杀”两个字,吴浩的肩膀抖了一下。他仍然低着头,但手指开始无意识地抠着手铐的边缘。
“你当时知道这份报告的用途吗?”赵毅问。
吴浩沉默了很久,久到赵毅以为他不会回答了。
“不知道。”他终于开口,声音很轻,“但……猜到了。”
“猜到了?”
“那些漏洞,那些数据问题……”吴浩抬起头,眼睛里有血丝,“如果真想举报,直接向监管部门提交就行,没必要花八万块找黑客做这么详细的报告。他们要的……是要挟的筹码。”
赵毅看着他:“既然猜到了,为什么还做?”
吴浩的嘴唇动了动,想说“为了钱”,但那个理由此刻显得如此苍白。他重新低下头,看着自己的手——这双手写过程序,弹过吉他,给病重的父亲擦过身体,也在键盘上敲出过毁掉别人人生的代码。
“我爸……需要钱治病。”他最终说。
“你父亲去年12月就去世了。”赵毅指出,“但今年6月,你还在接陈志龙的活。”
吴浩的身体僵住了。他抬起头,看着赵毅,眼神里有惊讶,也有被戳穿的狼狈。
“我……”他想解释,但发现无话可说。是啊,父亲去世后,他为什么还在做?因为来钱快?因为习惯了?因为……除了这个,他不知道还能做什么?
“你电脑里的聊天记录我们恢复了。”赵毅推过去几张打印纸,“你和陈志龙的对话,很专业,很冷静。你问他需要什么级别的报告,他说‘越严重越好’。你问‘严重到什么程度’,他说‘够坐牢的程度’。”
吴浩盯着那些打印出来的对话。是的,他问过。他还建议对方:“如果要坐牢的程度,我建议重点挖税务问题和数据造假,这两块法律风险最高。”
多么专业的建议。多么冷静的分析。就像在讨论一个普通的编程项目,而不是在策划怎么毁掉一个人。
“你知道吗,”赵毅的声音低沉下来,“林默的公司,那些所谓的问题,在行业里根本不算什么。数据有些水分,但A轮融资的公司谁没有?资质有些擦边,但那是政策模糊地带。你的报告,把这些小问题无限放大,包装成‘足以判刑’的重罪。”
吴浩的手开始发抖。手铐链子发出轻微的撞击声。
“林默拿到那份报告时,相信了。”赵毅继续说,“因为他不懂技术,他以为你这个‘专业黑客’挖出来的东西,一定是真的。他以为自己的公司真的违法了,真的会坐牢。所以他不敢报警,不敢反抗,只能一次又一次给钱。最后给不起了,就跳楼了。”
“我……”吴浩的声音哽咽了,“我不知道会这样……”
“你知道。”赵毅的声音陡然严厉,“你知道你的报告会成为要挟的工具,你知道对方可能会身败名裂,你知道这一切都是非法的。但你做了,因为八万块。因为你觉得,反正倒霉的不是你。”
这话太锋利了,像手术刀精准地切开了吴浩所有的自我辩解。他捂住脸,肩膀开始剧烈颤抖。不是哭,是某种更深层的崩溃——一直支撑着他的那套说辞,那套“我只是技术提供者”“我不问用途”“各取所需”的说辞,在这一刻土崩瓦解。
“吴浩,你今年二十一岁。”赵毅的声音缓和了些,“如果不是因为这个案子,你可能会成为一个优秀的程序员,甚至安全专家。但现在,你面临的是非法获取计算机信息系统数据罪,情节特别严重的,处三年以上七年以下有期徒刑。如果法院认定你明知数据用于敲诈勒索仍提供,还可能构成共犯。”
七年。二十一岁到二十八岁,人生最好的七年,在监狱里度过。
吴浩放下手,脸上没有泪痕,只有一种近乎麻木的绝望。
“我认罪。”他说,“所有指控我都认。但我……我能做点什么吗?弥补之类的?”
“你可以配合调查。”赵毅说,“把你知道的都说出来。陈志龙的联系方式,交易记录,还有……这个圈子里,还有哪些人?”
吴浩深吸一口气,像是下定了决心。他坐直身体,眼神变得专注——那是他工作时的状态,理性,有条理,只是这次,他要分析的是自己的罪行。
“陈志龙只是中间人。”他开始说,“他背后有个小圈子,专门做这种‘定制服务’。有人负责筛选目标——通常是婚恋网站的内鬼,提供优质客户的资料。有人负责伪造身份——学历、工作经历、家庭背景,全套假证件。有人负责执行,就是苏晴那样的。我负责技术支撑,挖目标的把柄。”
他在脑中梳理着这两年的经历:“这个圈子不大,但很隐蔽。我们都是单线联系,用虚拟货币交易,聊天记录随时销毁。我只知道我的上家是陈志龙,我的下家……没有下家,我只提供报告。”
“报告卖给过多少人?”
“十六个客户,包括陈志龙。”吴浩回忆,“其中八个是公司老板,四个是体制内的,还有四个是……私人调查,可能是感情纠纷之类的。”
“这些客户的信息你有吗?”
“有加密备份。”吴浩报出一个云盘地址和密码,“所有的交易记录、聊天记录、还有我写的原始报告,都在里面。我……我习惯留底,怕对方赖账。”
这个习惯,此刻成了他最有力的赎罪筹码。
赵毅示意旁边的警察去核实。十分钟后,警察回来点头——数据量很大,涉及多个省市,时间跨度两年。
“还有一件事。”吴浩犹豫了一下,“陈志龙……他可能不只做婚恋诈骗。我有次偶然看到他和另一个人的聊天记录——没看全,但提到了‘境外赌博’‘洗钱’什么的。我觉得,婚恋诈骗可能只是他业务的一部分。”
这个信息很重要。赵毅记下来,继续问:“关于林默那份报告,你当时觉得有问题吗?”
吴浩点头:“有。WeCall的技术架构其实挺规范的,数据问题也很常见。我写报告时……夸大了。把可能的风险写成必然的结果,把行业潜规则写成违法事实。我当时想,反正客户要的是‘严重’,我就给‘严重’。”
“你知道这份夸大,可能会害死人吗?”
吴浩沉默了。很久之后,他才说:“当时没想那么多。但现在……现在我明白了。我写的不是代码,是刀子。每一行代码,都可能变成捅向别人的刀。”
审讯进行到深夜。吴浩交代了所有他知道的信息:暗网上的接单渠道,虚拟货币的洗钱路径,圈子里几个常用黑客的代号和特征,甚至包括他自己开发的几款渗透工具的原理。
他说得很详细,很坦诚,像是要把这两年积攒的所有罪恶,一口气全倒出来。
结束时,天已经快亮了。吴浩被带出审讯室前,突然回头问赵毅:“赵队长,林默的家人……他们恨我吗?”
赵毅看着他,这个二十一岁的年轻人,眼神里有真切的、近乎天真的疑问。
“他们恨所有害死林默的人。”赵毅如实说,“但也许……比起恨,更多的是不解。不解为什么素不相识的人,要用这么残忍的方式,毁掉一个好好活着的人。”
吴浩低下头,被带走了。
走廊里,赵毅点了支烟。老刘走过来,低声说:“他交代的这些,够我们抓一窝了。婚恋诈骗、数据窃取、甚至可能牵扯出更大的洗钱网络。”
“但他也毁了。”赵毅吐出一口烟,“二十一岁,最好的年纪,要在监狱里度过了。”
“罪有应得。”老刘说,“他选择这条路的时候,就该想到有今天。”
是啊,罪有应得。赵毅想。但为什么,每次听到这个词,心里都没有太多胜利的快感,只有沉重的叹息?
也许因为,他见过太多“罪有应得”背后,那些破碎的人生,那些无法挽回的损失,那些本可以避免的悲剧。
吴浩是为了给父亲治病。苏晴是因为童年创伤。陈志龙是因为贪婪。每个人都有自己的理由,自己的不得已。
但法律不问理由,只问对错。
这是它的公正,也是它的无情。
窗外,天色渐亮。城市在晨雾中苏醒,新的一天开始了。
而有些人,再也看不到新一天的太阳。
有些人,则要在漫长的刑期里,用青春赎罪。
赵毅掐灭烟,走向办公室。还有一堆报告要写,还有一堆案子要办。
正义不会自己实现,需要人一点一点去推动,哪怕缓慢,哪怕艰难。
就像此刻窗外的晨光,虽然微弱,但终究会驱散黑暗。
一点一点地。
直到天亮。








