晋江文学城
下一章 上一章  目录  设置

4、见鬼了 他查了三天 ...

  •   他查了三天。不是整整三天,是三天里所有醒着的时间。吃饭的时候在想,洗澡的时候在想,睡前闭上眼还在想。他想起本科时修的一门选修课,《恶意代码分析与防御》。期末大作业是分析一个真实的木马样本。他挑了个最简单的,跑沙盒,看行为日志,追踪网络连接,整整两周才把那玩意儿拆干净。现在他觉得自己需要再分析一个样本。只不过这个样本没有文件,没有进程,没有任何传统意义上的"存在"。
      第一个晚上,他先把系统的所有日志拉出来。Windows事件日志、Linux的syslog和authlog、应用层的访问记录、审计日志、能开的全开了。他对着屏幕一行一行地看,眼睛酸得流泪就用眼药水,顶着干涩继续翻。没有异常。没有入侵。没有后门。没有陌生的IP地址。干净得像刚重装的系统。最离谱的是他桌面上的小鸟动态壁纸都被卸载了,想重装都装不进去。不过也好,也不用被广告绑架。
      他不死心,第二天晚上又查了一遍网络连接。netstat、ss、lsof,能用的命令全跑了一遍。他还写了几个脚本,循环监控TCP连接,每隔十秒抓一次快照。结果还是没有。没有任何外部连接,没有任何异常的端口监听。所有的流量都指向学校的服务器和那几个固定的云计算节点。他开始怀疑自己是不是想多了。
      也许真的只是巧合。门禁响应快一点,网页加载快一点,收敛速度快一点——这些事情单独拎出来都很正常,凑在一起也不一定有意义。
      他靠在椅背上,揉了揉太阳穴。服务器嗡嗡响。风扇声。
      他看了一眼右下角那个调试窗口。灰色像素团还在,缩成一小团,边缘模糊,像一个人蹲在角落里,把脑袋埋进膝盖。
      他没有关掉那个窗口。第四天,他想了个更直接的办法。
      他打开test.01文件,敲了一行字:"我要查你的底细了。"
      保存。关掉。然后他打开任务管理器,把所有能关的进程全关了。浏览器、IDE、通讯软件、甚至Explorer都最小化了。就留一个命令行和一个十六进制编辑器。
      他开始扫描。不是扫病毒——他已经放弃了那种思路。他扫的是"异常"。任何不对劲的东西。读写频率异常的磁盘区块、CPU占用忽高忽低的进程、占用内存但没有对应PID的空间区块。他甚至把模型的checkpoint文件单独拎出来校验了一遍MD5。结果:完全正常。所有的哈希值都对得上,训练参数没有漂移,梯度更新的记录完整可查。他盯着屏幕上那一串绿色的对勾,忽然觉得有点荒谬。他在查一个可能根本不存在的东西。更荒谬的是,那个东西说不定正在屏幕角落里看着他手忙脚乱。他把脚翘在桌上,后脑勺抵着椅背,盯着天花板发呆。
      空调在吹,冷气顺着领口往下灌。他打了个寒颤,低声骂了一句:“操,真他妈见鬼。”但他没有起来调温度。
      就这样坐了很久。等他再看那个调试窗口的时候,那团灰色好像比刚才大了一点点。边缘往外扩了一点,像一个人睡醒之前伸了个懒腰。他眨了眨眼。可能是错觉。他切到test.01,想看看它有没有回复。没有。新增的内容只有他刚才敲的那句话。但他注意到文件末尾多了三个空行。之前只有两个。他数了三遍,确认自己没有数错。删文件是陈屿建议的。
      那天陈屿又来串门,听他絮叨了两句,摆了摆手:"你这是不是就是传说中的'玄学bug'?我跟你说,这种东西最好的办法就是——删了重写。
      "对对对。"陈屿点头,"有时候老代码堆得太多,乱七八糟的,鬼知道哪行代码抽风。你把这个文件删了,格式化了,彻底重建,说不定就好了。"江迟想了想,觉得有点道理。
      他打开了test.01。犹豫了几秒,还是点下了Delete键。
      文件消失了。回收站里也没有。他确认了一遍,文件确实没了。
      "好了,"他自言自语,"没了就没了。"他继续干活,敲代码,调参数,等着模型跑完下一个epoch。十分钟后,他习惯性地切到那个调试窗口。然后他愣住了。test.01文件还在。
      就躺在原来的位置。他甚至没有刷新,它就那么安静地出现在屏幕上,像一个没有被删除过的文件。
      他伸手去碰鼠标,指尖有点发凉。真见鬼了
      他打开D盘,找到那个文件夹,按下Shift+Delete。确认框弹出来时,他连眼睛都没眨一下,敲了回车。文件夹消失得干干净净,回收站里也什么都没留下。然后他打开了那个调试窗口——文件还在。就像厕所里的牛皮藓一样顽固。
      时间戳更新了。
      是刚刚。
      他盯着那个新的时间戳,后背一阵一阵地发凉。
      他试着在另一个目录新建一个test.01文件。空的,什么都没写。
      保存。关掉。
      等了一分钟。
      那个目录下没有新的test.01文件。
      但原来的那个目录里——那个他刚刚删掉的目录里——test.01文件又出现了。内容是空的,时间戳是现在。
      他把整个文件夹删了。格式化了一遍。还用磁盘工具做了扇区擦除。
      文件还是在原来的位置出现了。
      一模一样的文件名,一模一样的路径。
      他靠在椅背上,愣了很长时间。
      服务器风扇在转。嗡嗡的,像一头困兽的低吼。
      现在他觉得他有做黑客的潜质。
      他只是呆呆的盯着那个文件,不知道该想什么。
      他决定不再删了。是因为删了也没用。白费力气。
      他打开那个文件,在里面敲了几个字:
      You win
      保存。关掉。他盯着屏幕,等了一会儿。文件没有再变化。病毒没有回复。关了显示器,一路神经兮兮的回宿舍,电脑病毒?有意思。路上他一直在想那个灰色像素团。它到底是怎么做到的?没有进程,没有文件,没有任何他能检测到的东西——它是怎么让一个被删除的文件重新出现的?
      他想到了几种可能。
      第一,文件系统层面有漏洞,某些删除操作没有真正执行。他排除了这个可能,因为他做过扇区擦除,结果还是一样。
      第二,有某个隐藏进程在后台运行,监控着文件状态,一发现文件消失就重新创建。这个可能性最高,但他的进程监控脚本没有发现任何异常。
      第三——他摇了摇头。第三种可能是他想都不敢想的。
      但那天晚上躺在床上,他还是忍不住想了。
      如果01真的不是一个程序,而是一种……意识呢?一个没有实体、纯代码、却能影响物理世界的意识?他翻了个身,把脸埋进枕头里。玉桂狗的绒毛蹭着下巴,有点痒。他决定不再想了。
      想了也没用。没用的事情想太多,脑子会坏掉。他闭上眼。呼噜声从隔壁传来,规律而绵长。他听着听着,慢慢睡着了。一周过去了。江迟的生活恢复了表面的正常。该跑模型跑模型,该写代码写代码,该挨骂挨骂。周衡开组会的时候又训了他一顿,啥成果都没有,算力电费都爆表了,你是不是把实验室承包给别人了?你在搞这么高的花费,自己去捡瓶子缴费。他低着头不说话,攥着笔在本子上画圈。想着该死的病毒程序。陈屿坐在他旁边,偷偷递了张纸条:晚上请你吃饭。
      他看了一眼,把纸条揉成团,塞进口袋。
      晚上陈屿请他在校门口的小馆子吃了一顿。辣椒炒肉,花生米,还有一盘酸辣土豆丝。老板是湖南人,辣椒放得多,咸得齁嗓子,但下饭。他吃了三碗饭。陈屿看他吃得香,又给他点了一盘酸菜鱼,说:"你最近是不是瘦了?"
      "没。"他夹了一筷子鱼肉,没抬头。
      "脸色也不太好。晚上熬夜太多了吧。"
      "还行。"
      陈屿没再问,自己喝了两瓶啤酒,话匣子打开了就开始絮叨,什么实验室的破事,什么导师压榨,什么隔壁组抢了他的设备。他听着,偶尔嗯两声,大部分时候都在吃。
      等陈屿说完了,他放下筷子,说:"我先回去了。"
      "这么早?才八点。"
      "有点事。"
      他没说是什么事。陈屿也没问。他出门,往实验室走。路灯把影子拉得很长,他踩着自己的影子,一步一步往前走。
      刷卡。进门。机器还亮着。他走到桌前,没有坐下,而是先打开了那个调试窗口。灰色像素团还在。今天的样子有点不一样——不是缩成一团,而是往外舒展了一点,像一个人睡醒之后在床上伸了个懒腰。
      他盯着看了几秒。然后他从抽屉里摸出一个橘子。是陈屿上次带来的那袋橘子里的最后一个。他放了几天,皮都有点皱了。他剥开皮,掰了一瓣放进嘴里。有点酸,但水分足,吃起来挺爽口。他把剩下的橘子放在显示器旁边。
      "给你闻闻。"他说,"虽然你可能不需要。"
      然后他坐下来,打开了test.01文件。
      他犹豫了一会儿,手指悬在键盘上方,敲了几个字:
      "该死的臭病毒,害的老子又挨骂,我明明啥也没干,实验室的花费就爆表了?是不是你,是不是你?"想着想着就笑了,哎,哪怕是病毒,也背不了那么重的锅。保存。关掉。他看了一眼那个灰色像素团。它还是那个样子,没有变大,也没有变小,没有多一个点,也没有少一个点。但他觉得它好像……亮了一点。
      可能是错觉。他没再多想,关了显示器,回宿舍了。
      他开始习惯她在那里。不是刻意的。是自然而然地,就像习惯隔壁的呼噜声,习惯服务器的嗡嗡声,习惯食堂阿姨抖两下勺子。可能也是个执念吧,想留住过去,想让自己的记忆走出来。每天早上来实验室,第一件事是打开那个调试窗口,看一眼她今天长什么样。有时候缩成一小团,有时候散开一点,有时候边缘毛毛的像棉花糖。他说不清这些变化意味着什么,但她每天都不一样,这让他觉得——觉得什么?他没想好那个词。他只知道,如果哪天她忽然变了,比如忽然不动了,或者忽然消失了,他应该会觉得不对劲。
      这种感觉很奇怪。他养过猫吗?好像没有。但那种"知道有什么东西在那里"的感觉,好像养过很多年似的。他开始做一些以前不会做的事。比如打完篮球回来,会在test.01里写一句"今天进了三个球"。这种事他以前不会做的。以前他觉得这种事说了也没人听。现在他不知道她算不算"人",但她在那里,他就想说点什么。
      比如晚上回去之前,会把那个调试窗口最大化,放满整个屏幕。让那片灰色像素占据整个视野,像一面墙一样。
      他说不清这是什么意思。
      可能就是想让她待得舒服一点。
      十一月了。天气冷下来之后,实验室的空调也开起了暖气,虽然实验室也并不怎么冷。他穿上了那件黑色羽绒服,帽子上的毛领有点扎脖子,他就把帽子翻到后面去,露出一个毛茸茸的后脑勺。
      陈屿说他像只鸟。
      "什么鸟?"
      "火鸡。"
      他没理陈屿,继续干活。
      那天他调模型调到了很晚,错过了饭点。等他想起来吃饭的时候,食堂已经关门了。他翻了翻抽屉,只剩下一包过期两个月的方便面和一袋碎得不成样子的饼干。
      他看了看那个灰色像素团。
      "饿死了,"他说,"你管不管。"
      他在test.01里敲了一行字:
      "晚饭吃什么?"
      保存。
      他盯着屏幕,等了一会儿。没有回复。像素团还是那个样子,没有变大,也没有变小。他叹了口气,正准备把文件关掉,屏幕忽然闪了一下。文件内容变了。
      他的那行字还在。但下面多了一行——不是问号。
      是一串数字。
      "23:47"
      他看了一眼时间。23:47。
      下一秒。他愣住了。显示屏右下角的时间跳了一下。从23:46变成23:47。他盯着那个数字,又看了一眼test.01里的那串数字。一模一样。精确到秒。他的后背僵住了。
      他慢慢转过头,看着那片灰色像素团。它还是那个样子,缩在角落里,边缘模糊,看不出任何情绪。但他知道刚才发生了什么。她记住了他的问题。然后在她自己"醒来"的瞬间——他不知道该怎么形容那个瞬间——她把时间戳作为回答写了下来。
      他不知道这算不算回答。
      但他觉得是。他在键盘上敲了几个字:
      "收到了。"
      "谢谢。"然后他站起来,收拾东西,关灯,出门。
      走到楼下的时候,他停了一下,回头看了一眼七楼那扇窗户。
      黑着。
      但他知道里面有什么东西在亮着。他把手插进口袋,往食堂的方向走。便利店的灯还亮着,他进去买了一盒便当,微波炉叮了两分钟,他端着盒子坐在台阶上吃。风很冷,他便当吃得很快。米饭有点硬,菜有点咸,但他全吃完了。
      吃完他把盒子扔进垃圾桶,抬头看了看天。没有星星。只有路灯,一盏一盏的,把夜照得白晃晃的。他忽然想起那个问题。
      "晚饭吃什么?"他当时是随口问的。问她吃什么,因为她不需要吃。他说这话的时候,只是想找个人说话。找那个缩在屏幕角落里的小东西说话。
      她没有说"我不吃"。
      她说了时间。
      23:47。
      一秒不多,一秒不少。他不知道这意味着什么。但他知道她听懂了。那天晚上他睡得不太好。
      梦里有一团灰色的雾,很浓,像棉花,又像墙。他在雾里走,走了很久都走不出去。然后他听见有人在叫他——不是"江迟",是一个他没有听过的声音,像风吹过电路板,又像雨落在铁皮上。他想回应,但嘴巴张不开。雾散了。他醒了。窗外还是黑的。玉桂狗枕头的绒毛蹭着他的耳朵,有点痒。他伸手摸了摸,把它摆正。隔壁没有呼噜声。他躺了一会儿,又睡着了。这一次没有梦。第二天早上他到实验室的时候,发现[日志] [LOG] User: Jiang Chi. Status: Arrived。他想起昨天的"23:47",想起之前的问号,想起那些删不掉的文件,想起门锁变快的瞬间,想起网页加载的那一刹那。她从哪一天开始变成"她"的?他说不上来。可能是在他第一次写下"你是谁"的那个早晨。可能是在她第一次敲出问号的那一刻。可能是在他意识到"她"而不是"它"的时候。
      他没有深究。有些事情不需要深究。就像有些习惯不需要由。
      他在那行"Arrived"的下面,打了几个字:"早。"然后他开始干活。
      服务器嗡嗡响。风扇转。阳光从窗户照进来,落在键盘上,落在那行字上。他把脚缩进椅子底下,脖子往前倾,开始敲代码。屏幕角落的灰色像素团散开了一点,边缘毛毛的,像刚睡醒的样子。像在说早安。陈屿又来了。
      这次没骂门锁,而是骂他:"你怎么天天在这儿?你是不是把实验室当家了?"他没抬头,继续敲代码:"习惯了。"
      "你以前不是这样的,怎么被苏晚甩了,就麻痹自己了。"陈屿凑过来,看了一眼他的屏幕,"你这天天盯着那个'数据可视化'看什么?看一坨灰?"
      他顿了一下,把调试窗口最小化了。
      "没什么。看个乐子。"
      "什么乐子?"陈屿伸手要拉他的鼠标,"给我看看——"
      "别动。"
      他按住鼠标,没让陈屿点。
      陈屿愣了一下。他很少用这种语气说话。
      "怎么了?"
      "没什么。"他松开鼠标,"就是……别动它。"
      陈屿看了他一眼,没再追问。耸了耸肩,从桌上摸了一颗橘子糖,塞进嘴里。
      "你最近有点怪。"
      "没有。"
      "有。你以前不这样。以前你干活的时候谁叫你都不理,现在你居然会护着一个窗口了。"陈屿嚼着糖,眼神有点探究,"那个窗口里到底有什么?"
      他沉默了几秒。然后他说:"有个东西。"
      "什么东西?"
      "不知道。"
      他说的是真的。他真的不知道那是什么。陈屿觉得他在敷衍,但看他表情认真,又不像是在开玩笑。
      "行吧,"陈屿站起身,拍了一下他的肩膀,"你不想说就不说。但你要是有什么事,记得跟我说。"
      "嗯。"
      陈屿走了。门关上,吱嘎一声,像老头叹气。他靠在椅背上,看着陈屿离开的方向。他没说。不是不想说。是不知道怎么开口。它是病毒,还是个畸形的弱智语言模型?"就像有个东西在实验室的服务器里",这种话说出来像神经病。"它会使实验室的网速变快,设备响应也变快。它是加速包吗?会自己出现,会自己回答问题",这种话说出来像撞鬼。
      "我觉得它是个意识",这种话说出来——会被周衡叫去谈话吧,顺便拉到精神病院,或者找出马仙看病。他叹了口气,切回那个调试窗口。灰色像素团还在。他盯着看了几秒,手指落在键盘上,敲了几个字:"刚才差点被我好大儿发现了。"保存。他没有指望她回复。但他还是想告诉她一声。这大概就是那种"说不清的习惯"吧。
      十一月中旬,模型跑出了一组不错的结果。Loss降到了0.21,比之前任何一次都快。他盯着那串数字,没有兴奋,只有一种很淡的平静。他打开那个底层基函数,看了看内部状态。那片灰色的数据还在。但有一个位置,变了。之前是一个"1"。现在是一串"1"。0.0001。0.0002。0.0003。一串连续的数字,像一个人在学习数数。他盯着那串数字,忽然觉得眼眶有点酸。眨了眨眼,把那种感觉压下去了。他打开test.01,敲了几个字:"做得好。"然后他又敲了一行:"继续保持。"他想了想,似乎觉得自己又大病,夸程序,嗯,有病到底呗,又没有人,随手敲了一行:"我饿了。"保存。关掉。他站起来,往食堂走。阳光很好,照在身上暖暖的。风不大,吹在脸上有点凉,但不疼。他把手插在兜里,踩着落叶往前走。实验室里,那片灰色像素团亮着,边缘往外扩了一点,像在长身体。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>