十一月初的保定,下了第一场雪。雪不大,细碎的雪花在空中飘了一夜,到清晨时,地面只铺了薄薄一层,像是撒了一层盐。吴普同骑车上班时,车轮碾过积雪,发出轻微的咯吱声。
到公司时刚八点。厂区里很安静,只有几个工人在扫雪,铁锹刮地的声音在清晨的寂静中格外清晰。办公楼前,那条欢迎冀中牧业王总的横幅已经撤了,只留下几个挂钩,在寒风中轻轻摇晃。
吴普同停好自行车,走进办公楼。楼道里很冷,暖气还没烧起来。他搓了搓冻僵的手,推开办公室的门。牛丽娟已经在了,正站在窗前,看着外面的雪景。
“牛工早。”吴普同打招呼。
“早。”牛丽娟转过身,表情严肃,“小吴,你来得正好。有个事要跟你说一下。”
“什么事?”
“昨天生产的一批乳猪料,检测结果有问题。”牛丽娟走到自己桌前,拿起一份检测报告,“粗蛋白只有16.8%,低于设计值18.5%。钙磷比例也不对,钙高了,磷低了。”
吴普同心里一紧:“哪一批?”
“生产批号pc1102-03,昨天下午三点到五点生产的。”牛丽娟把报告递给他,“化验室复查了两次,结果一样。这批料不能出厂,要返工。”
吴普同接过报告,仔细看着。数据确实有问题,而且问题很明显。粗蛋白低了将近两个百分点,钙高了0.3个百分点,磷低了0.2个百分点。这样的配方,会影响乳猪的生长性能。
“原料有问题吗?”他问。
“原料检测数据正常。”牛丽娟说,“豆粕粗蛋白46%,鱼粉65%,都达标。预混料也是常规批次,没有问题。”
“那会不会是投料错误?”
“我也这么想。”牛丽娟说,“所以去查了生产记录。但奇怪的是,系统记录一切正常。投料量、混合时间、工艺参数,都在设定范围内。”
她顿了顿,看着吴普同:“小吴,你的系统记录……可靠吗?”
这个问题问得很直接。吴普同感到后背一阵发凉:“系统运行半年了,一直可靠。记录都是自动生成的,不可能出错。”
“那怎么解释检测结果和系统记录的矛盾?”牛丽娟问,“要么是系统记录有误,要么是检测有误。但化验室复查了,检测没问题。”
吴普同沉默了。他心里明白,如果系统记录没问题,那就意味着生产操作没问题,原料也没问题。但产品检测却有问题——这不合逻辑。
“我去查查系统日志。”他说。
“我跟你一起去。”牛丽娟说。
两人来到车间办公室。王主任也在,脸色很不好看。一批料返工,损失不小,他这个车间主任有责任。
“吴工,牛工,你们可来了。”王主任急切地说,“这事太蹊跷了。昨天当班的是三班,都是老工人,操作规范,不可能犯这种低级错误。”
“系统记录查了吗?”吴普同问。
“查了,一切正常。”王主任打开电脑,调出昨天的生产记录,“你看,投料量、混合时间、工艺参数,都在正常范围。系统也没有报警。”
吴普同仔细看着屏幕上的数据。确实,从记录上看,一切正常。豆粕投了800公斤,鱼粉200公斤,预混料50公斤……计算下来,粗蛋白应该是18.5%左右。
“有没有可能……”他犹豫了一下,“有人改动了系统记录?”
这话一出,办公室里安静了。王主任和牛丽娟都看着他,眼神复杂。
“改动系统记录?”王主任重复了一遍,“谁会干这种事?而且系统不是有权限设置吗?不是谁都能改的。”
“有权限的人可以改。”吴普同说,“系统管理员,还有……有高级权限的用户。”
他的目光不经意地扫过牛丽娟。牛丽娟的表情没有变化,但手指无意识地收紧了些。
“小吴,”她说,“你是系统管理员,你觉得谁有嫌疑?”
“我不知道。”吴普同实话实说,“但系统日志会记录所有操作,包括数据修改。查一下就知道了。”
他打开系统管理后台,调出昨天那批生产记录的操作日志。日志很长,记录了从投料到包装的每一个步骤。他仔细查看,突然发现了一个异常。
在那批记录中,有一行修改记录:时间昨天下午五点二十,操作员id“nlj001”,操作内容“修正投料量数据”。
nlj001,牛丽娟的工号。
吴普同的心猛地一跳。他抬起头,看向牛丽娟。牛丽娟也看着屏幕,脸色微微发白。
“牛工,”他尽量让声音平静,“昨天下午五点二十,你修改了系统记录?”
牛丽娟沉默了几秒,才说:“是,我修改了。昨天下午我路过车间,看到三班在生产那批乳猪料。我观察了一会儿,发现投料工的操作有点问题——豆粕投得慢了,混合时间可能不够。我就让当班班长注意一下。后来不放心,又回办公室查看了系统记录,发现豆粕投料量记录是800公斤,但我觉得实际可能没那么多,就……修正了一下。”
她说得很流畅,理由也很充分。但吴普同心里疑惑:观察就能看出投料量不准?还能精确到觉得“实际可能没那么多”?而且为什么要修改系统记录?如果觉得操作有问题,应该当场纠正,而不是事后修改数据。
“你修改了多少?”他问。
“把豆粕投料量从800公斤改成了750公斤。”牛丽娟说,“我觉得实际投料量可能只有750公斤左右。”
吴普同重新计算。如果把豆粕从800公斤改成750公斤,粗蛋白含量会从18.5%降到17.8%左右,还是高于检测值16.8%。而且,即使豆粕投少了,钙磷比例也不会变得那么离谱。
“那钙磷数据呢?”他问,“系统记录显示钙1.2%,磷0.8%。但检测结果是钙1.5%,磷0.6%。这个怎么解释?”
“我不知道。”牛丽娟摇头,“我只是修正了豆粕投料量,其他数据没动。”
吴普同继续查看日志。在牛丽娟的修改记录之后,还有另一条修改记录:时间昨天下午五点四十,操作员id“test001”,操作内容“数据同步”。
test001是测试账号,权限很高,通常只有系统管理员会用。但吴普同记得,自己昨天下午五点四十正在准备展销会材料,没有登录系统。
“test001是谁?”他问。
“应该是你吧?”王主任说,“系统管理员不就你一个吗?”
“昨天下午五点四十,我在办公室,没有登录系统。”吴普同说。
办公室里又安静了。三个人面面相觑,都意识到了问题的严重性——有人用测试账号修改了数据,而且是在牛丽娟修改之后。
“查ip地址。”牛丽娟说。
吴普同查看日志详情。test001的登录ip是192.168.1.105,这是办公楼三楼的ip段。具体是哪个办公室,还需要进一步查。
“三楼……”王主任喃喃道,“三楼有刘总办公室,周经理办公室,财务部,还有……”
“化验室。”牛丽娟接上。
化验室的ip段就是192.168.1.100-110。也就是说,修改数据的人,很可能是在化验室操作的。
“昨天下午五点四十,化验室谁在?”吴普同问。
“应该都下班了。”牛丽娟说,“正常五点下班。除非……有人加班。”
“查一下监控。”王主任说,“办公楼门口有监控,能看到谁进出。”
三人来到门卫室。老张正在烤火,看见他们,连忙站起来:“王主任,牛工,吴工,有事?”
“老张,查一下昨天下午五点半到六点的监控。”王主任说。
老张打开监控系统,调出昨天下午的录像。画面是黑白的,不太清晰,但能看清人脸。五点半,工人们陆续下班,走出办公楼。五点四十,画面里出现了一个人——陈芳。
她背着包,走出办公楼,往车棚方向去了。看起来是正常下班。
“陈芳下班了。”牛丽娟说,“那还有谁在?”
继续看。五点四十五,小王也出来了。五点五十,小李也出来了。到六点,办公楼里应该没人了。
但系统记录显示,test001的登录时间是五点四十,持续到五点五十。也就是说,有人在这个时间段,在办公楼里登录了系统。
“会不会是远程登录?”吴普同问。
“有可能。”牛丽娟说,“如果知道账号密码,可以在任何地方登录。”
“test001的密码谁知道?”王主任问。
吴普同沉默了。test001是测试账号,密码很简单,就是“”。当初设置的时候,为了方便测试,没有设复杂密码。而且这个账号很多人都知道——牛丽娟知道,陈芳知道,王主任也知道,车间里几个班长也知道。
“知道的人很多。”他低声说。
事情陷入了僵局。有人用测试账号修改了数据,但不知道是谁。可能是车间的工人,可能是化验室的人,也可能是其他部门的人。甚至可能是外部人员——如果密码泄露的话。
“先不说谁修改的,”牛丽娟回到正题,“现在的问题是,这批料怎么办?检测不合格,不能出厂。损失谁承担?”
“查清楚原因再说。”王主任说,“如果是人为破坏,要追究责任。”
“如果是系统漏洞呢?”牛丽娟看着吴普同,“小吴,你的系统有没有可能被黑客攻击?或者有程序漏洞,导致数据被篡改?”
这话问得很尖锐。吴普同感到一股压力:“系统有基本的防护,但如果是内部人员,知道账号密码,就防不住。至于程序漏洞……我需要时间检查。”
“那就检查吧。”牛丽娟说,“尽快。这批料的损失,一天就是几千块。拖不起。”