夜色把工位的轮廓压成一片灰。荧光灯在天花板上像条细长的白鱼,不停地吐出单调的光。沈芊把外套搭在椅背上,键盘上沾着她上午喝的冷咖啡的余温。手指停在空格键上,屏幕右下角的构建日志只剩最后一行晃动着三个点。
“又卡在这里了?”小陆半倚着隔板,声音像是把烟灰拍在桌上那样干脆。他的语速快,省略多,话里总带着点儿城市的刮擦声:“别把它想复杂了。删了重来。”
沈芊看了看他,目光先扫过他没洗的杯子,然后落回日志。她没有立刻答话。动作慢了两拍,把鼠标移到一个行号上,光标在那一行停住,像在思考。她的声音出来时很平静:“不是每个重来都有意义。午夜福利视频要追根。”
小陆翻个白眼,“追根就追根,你晚上回家想清楚就行,别带来这儿折腾大家。”他又折回电脑,敲出几行,像在装配什么:敲击声乱而有节奏。
老周站在门口,手里拿着一杯黑咖啡,香气被灯光蒸发成一条线。他看了看日志,指节轻扣杯沿,声音低:“版本要稳。别让运营周一抓着把柄。”
沈芊把编译信息放大,又缩小。她的眼底有薄薄的一层血丝,像是长时间注视一个点后的折皱。她想到了昨天那封匿名邮件,附件里是一张被截断的HTTP请求,参数里有一个字段——user_token——后面跟着一串数字。
她点开那段代码。注释写得潦草://兼容旧版本。旁边是一个浅浅的笑脸。她手指在键盘上悬了一会儿,像是握住一件会刺手的东西。然后开始读,一字一字。
“这里不对。”她终于说。声音里没有哭也没有怒,只是把事实放在桌上。小陆停了手。老周的眉头动了动。
“不对怎么说?”小陆懒散地问,像问今天午饭吃什么。
沈芊拖动鼠标,放大了那段逻辑。里面有一个条件分支,终端没有做严格验证,直接写了一个回退逻辑,回退逻辑里调用了一个外部接口。那个接口,昨天的邮件里提到,曾被怀疑收章未脱敏的用户数据。
空气里忽然静下来,荧光灯的嗡声被放大了。老周把杯子放到会议桌上,杯子碰桌的声音清脆:“你确定?”
沈芊把整段请求复制粘到控制台,回放出请求轨迹。屏幕上,十几个用户ID像光点一样跳过。她眨了一次眼,手指按住了回车。那一刻,好像所有声音都被吸进了键盘。
回放结束后,小陆的笑声戛然而止。他的脸颜色变了,话音也变短:“这……这不是bug,是功能改动吧?产品那边要的。”
老周的声音更冷,“产品从来不会碰用户原始文件。”他的手指敲在桌面上,像是敲碎了平静。
门被推开,运营的张主任走进来,他带着香水的味道。张主任的语速条理分明,每句话像是经过培训:“如果这些数据外泄,赔偿不是问题。午夜福利视频得回滚。”
沈芊抬头看着他,突然把椅子靠背往后一点,靠在椅子上,像要把整个身子都藏进去。她的声音很轻,像压成薄片的纸:“回滚只能掩盖,不能解释。邮件里有人知道午夜福利视频接口的存在,还知道去哪里拦截它。”
张主任的脸变了,像被抠了一下:“你说谁?”
沈芊没有立刻回答。她把昨天的附件又打开一次,放大到那一行数字。她指尖在触控板上划过,停在最后三个数字上——是她自己的生日。她的手指微微颤抖,像是被触到了什么疼处。
沉默像一把刀,刀锋贴了上来。老周吞了口气,声音里有未说完的担忧:“有人在告诉午夜福利视频:我知道你的名字。”
小陆站起身,像被电了一下,椅子发出刮地的声音。他低声嘶哑:“这他妈……”
沈芊把屏幕往后推了一点,灯光把她的影子拉长,影子里有堵墙似的直线。她看着那三个数字,又看看坐在围桌上的人。然后她慢慢地站起来,把外套的口袋翻了,露出一只已经磨亮的U盘。
她的手放在U盘上,指甲压着边缘。她说话时声音像割纸:“今天夜里,我会把这份日志发给一个人的邮箱。她会知道是谁在替午夜福利视频‘优化’数据。”
张主任的嘴唇动了动,想拦;小陆走了两步,像是想抢,但老周举手,沉声:“先别动。”
沈芊没有看他们。她拉开抽屉,抽屉里有一张照片,边角已经磨掉;照片上是一个孩子笑得没有心机。她的手指按上去,指尖的温度像是从过去传来。她把照片放在U盘旁边,像是给两样东西做连接。
她只是说了一句,很轻,但每个人都听见了:“如果有人学会把数据当作利润,他们也会开始把人当作计算项。”
灯光下,U盘反出冷冷一条光。沈芊伸手把它放进外套里,动作平稳而决绝。门外的夜更深了,电梯的提示音一声一声低着,像人屏住呼吸。
她没有再看一眼屏幕。转身出门时,只留下桌上那张被放大的请求轨迹,像一只被压平的虫子,静静地躺着。
更多有关沈芊的开发日记txt小说请从目录分章节阅读