一
周一早上林远刚到队里,还没来得及泡茶,值班室的小王就敲门进来了,手里拿着一沓报案材料。
“林队,城东派出所转上来的,说是连着三起了,都是独居老人被骗。”
林远接过材料翻了翻。第一起,七十三岁,退休教师,接到“女儿”视频电话说孩子生病住院急需用钱,转账六万八。第二起,六十八岁,独居老太,收到“儿子”视频哭诉撞了人要保释金,转了五万。第三起,七十六岁,退伍老兵,“孙子”视频里说自己在派出所,需要四万块疏通关系。
三起案件,案发时间集中在过去五天,手法高度相似——都是通过视频通话,都是冒充子女,理由都是“急需用钱”,金额都在四到七万之间。受害者的钱转出去之后,账户在两小时内被取空,资金流向境外。
林远把材料放下,拿起茶杯又放下了。
“视频通话的内容核实了吗?”
“核实了。”小王说,“三个老人都说,视频里就是自己孩子的脸,声音也是一样的。有一个老人还专门确认了,说‘我女儿嘴角那颗痣都在’。”
林远皱了一下眉。
AI换脸技术他上周刚见识过——小穗那件事,张德胜做的视频粗糙得不行,人脸边缘有像素锯齿,稍微仔细看就能发现破绽。但能让母亲确认“嘴角那颗痣都在”,这个精度不一样。
“视频文件拿到了吗?”
“拿到了。两个老人留了录屏,一个没留。留了的两个我们已经在分析了,但技术科那边说人手不够,可能要排到下周一。”
“下周一?”林远把茶杯重重地放在桌上,“这种案子等一周,钱早洗干净了。”
小王没吭声。
林远站起来,走到窗边,点了一根烟。窗外的望海市笼罩在初秋的薄雾里,远处的楼群灰蒙蒙的。他吸了两口烟,把烟掐灭了,转身拿起手机。
翻到通讯录里的“沈亦心”,盯着看了两秒。
上周她帮忙查小穗那个案子,三分钟出了结果。如果让她来看这几个视频,肯定比技术科快。但她是编外人员,不是警队的人,让她接触案件材料合不合规,他心里有数。
他想了想,还是拨了出去。
电话响了三声,接了。
“又有什么事?”亦心的声音带着一点不耐烦,但没有拒绝的意思。
“有个案子,想请你帮忙看看。”
“什么案子?”
“独居老人被骗,AI视频冒充子女。三个老人,损失将近二十万。”
电话那头安静了一拍。
“视频发我。”亦心的语气变了,那种懒洋洋的不耐烦消失了,换成了他上周听到过的那种——职业性的、专注的、带着一点冷意的认真。
“马上发你邮箱。”林远说,“但有个事得先说清楚,你不是警队的人,按理说不该碰这个——”
“那你别找我。”亦心打断他。
林远顿了一下:“我不是这个意思。”
“我知道你不是这个意思。”亦心的声音缓了一些,“我的意思是,你要是觉得不合规,就别发。发了就别说废话。”
林远沉默了两秒,然后笑了。
“行。不发废话。只发视频。”
“嗯。”
“谢谢。”
亦心没回,挂了电话。
二
亦心挂了电话之后,从床上坐了起来。
“补丁”被她这个动作吓了一跳,从枕头边跳下床,回头看了她一眼,似乎在谴责她扰猫清梦。亦心没理它,光着脚踩在地板上,走到工作台前坐下,三台显示器依次亮起来。
她打开邮箱,看到林远发来的邮件,附件是两个视频文件和一份简单的案情说明。她先点开第一个视频。
画面亮起来的瞬间,她的手指停在了鼠标上。
一个中年女人的脸出现在屏幕上,短发,戴眼镜,嘴角有一颗痣。她对着镜头哭,声音沙哑,说孩子住院了需要钱,说医保报不了那么多,说求求妈帮帮我。
亦心把视频从头看到尾,然后又看了一遍。
然后她打开了自己的工具箱。
“火眼金睛”的深度伪造检测模块被她升级过两次。第一次是上周帮林远查那个校园恶作剧之后,她觉得眨眼检测还不够精准,花了两个晚上优化了肌肉运动轨迹分析。第二次是昨天,她加了一个新的检测维度——光影一致性。
人的脸在不同的光源下,阴影和高光的变化是有规律的。目前的深度伪造模型,在生成人脸的时候,往往无法完美模拟原始视频中的光照环境。这个漏洞很小,普通人看不出来,但算法可以。
她把视频导入检测模块,看着进度条一点一点走完。
结果弹出来的时候,她的眉头皱了一下。
置信度91.2%,深度伪造。
不是百分百,因为这段视频的质量很高——伪造模型用了一个相当庞大的训练数据集,至少几千张照片,而且包括了不同角度、不同光线条件下的面部特征。能做到这个精度的,不是普通人。
她把第二个视频也跑了一遍,结果类似,置信度89.7%。
两个视频用的是同一个伪造模型。
亦心盯着屏幕看了几秒,然后打开了那两个视频的元数据。她提取了视频的编码信息、分辨率、帧率、比特率,甚至分析了压缩算法的特征——不同的视频编辑软件,在压缩视频的时候会留下不同的“指纹”,就像不同的人写字有自己的笔迹。
比对结果让她眯了一下眼睛。
两个视频的编码指纹完全一致,来自同一台设备、同一个软件、同一个编码参数设置。
这不是两个独立的骗子在各自作案。这是一个团伙,用同一套工具,批量生产伪造视频。
她拿起手机,给林远打了过去。
“查完了。”
电话那头传来椅子挪动的声音,林远应该是从座位上站了起来。“这么快?”
“视频质量很高,不是普通人能做的。训练数据集至少几千张照片,多角度、多光照条件。做这个模型的人,手里有大量的人脸数据。”
“数据来源能查到吗?”
“还没查。”亦心说,“但我有一个方向。”
“什么方向?”
“这三个老人的子女,社交账号的隐私设置。你查一下他们是不是在社交媒体上发过大量照片,尤其是正脸的、多角度的、不同光线条件下的。”
林远在那头安静了两秒。
“你是说,骗子的素材是从社交账号上扒的?”
“最可能的来源。”亦心说,“深度伪造需要大量的训练数据,一个人的朋友圈、微博、抖音,如果发了几百张自拍,够训练一个不错的模型了。而且这些照片还带着标签——‘今天天气真好’标注了时间和地点,‘新发型’标注了面部角度。对骗子来说,这是免费的、高质量的、打包好的训练集。”
林远的声音沉了下去:“所以老人被骗,是因为他们的子女在网上发了太多照片。”
“不完全是。”亦心说,“老人被骗,是因为没有人告诉他们,这些照片可能会被用来骗他们自己。”
电话两头都安静了一会儿。
“还有一个问题。”亦心说,“骗子怎么知道这些老人的联系方式?怎么知道他们的子女叫什么?怎么知道该什么时候打电话——比如孩子刚好在上班不方便接电话的时候?”
“你的意思是——”
“有内鬼。”亦心说,“或者,信息是从某个渠道泄露的。查一下这三个老人有没有什么共同点——比如用同一家社区服务中心、同一家药店、同一个快递站。”
“我让人去查。”林远说,“你继续分析视频,看能不能追到源头。”
“嗯。”
亦心挂了电话,手指已经放在了键盘上。
但她没有立刻开始敲。她盯着屏幕上那个中年女人的脸——或者说,那个被AI生成出来的假脸——发了几秒的呆。
嘴角那颗痣,做得太真了。
能做到这种精度的伪造,需要的不仅是技术,还有大量的、高质量的、精心挑选的训练数据。这意味着那个被冒充的女儿,一定在网上留下了足够多的“数字足迹”。
她想到了姐姐。
但姐姐有。
姐姐的照片,曾经被用来做过同样的事。
亦心深吸了一口气,把那口气慢慢吐出来。然后她开始敲键盘,一下一下,又快又准。
“补丁”不知道什么时候跳上了工作台,蹲在显示器旁边,安静地看着她。
猫不说话,也不问问题。
三
林远挂了电话之后,在办公室里来回走了好几圈。
老张端着茶杯进来,看到他那副样子,把茶杯放在桌上,靠在门框上,两只手插在裤兜里。
“怎么?上回调那个校园恶作剧的小姑娘,这回又找你帮忙了?”
“是我找的她。”林远说,“城东那三个老人的案子,技术科排到下周一。她自己写的检测软件,几分钟就出了结果。”
老张挑了挑眉:“准吗?”
“两个视频,置信度都在九成以上。而且她分析出来,两个视频用的是同一个伪造模型,来自同一台设备。”
老张不说话了。他端起茶杯喝了一口,慢慢咽下去,像是在品味什么。
“小远,”他说,“你知道这种人可遇不可求吧?”
“我知道。”
“那你还等什么?”
林远停下脚步,看着老张。
“等上级批示。”他说,“我要申请让她进专案组。”
老张点了点头,没再说什么。他把茶杯端起来,走到门口的时候,忽然回头说了一句:“对了,你上回不是没问人家名字吗?这名字怎么来的?”
“老陈告诉我的。”
“哪个老陈?”
“咖啡馆老板。”
老张“哦”了一声,笑了一下,那笑容里有一种“你们年轻人的事我不掺和”的了然。
林远没理会他的表情,坐回座位上,开始写申请报告。
写了三行,停下来,看了看手机。
亦心没有发消息过来。
他把手机扣在桌上,继续写。
四
当天下午,林远去了城东,走访了三个受害者中的第一个——七十三岁的退休教师周桂兰。
周桂兰住在城东一个老旧小区里,房子不大,但收拾得很干净。客厅的茶几上摆着水果和瓜子,墙上挂着她和外孙的合影,冰箱门上用磁铁贴着一张便签,上面写着“每天吃降压药”。
林远进门的时候,周桂兰正在阳台上浇花。她转过身来,看到林远穿着的警服,脸上的表情先是紧张,然后是尴尬,最后变成了一种疲惫的坦然。
“警察同志,钱是不是追不回来了?”她问。
林远没有正面回答:“我们会尽力。”
周桂兰点了点头,请他坐下,给他倒了杯茶。茶是好的,龙井,玻璃杯里茶叶一根根竖着。林远注意到她倒茶的时候手有一点抖。
他问了几个问题——关于她女儿赵敏的社交账号使用习惯,关于她最近有没有接过什么推销电话,关于她有没有把家庭信息透露给什么陌生人。
周桂兰一一回答了。她女儿在一家外企上班,朋友圈几乎每天更新,自拍、工作照、旅行照,什么都有。上个月刚在朋友圈晒了新房子的钥匙,配文是“终于有自己的小窝了”。
“她从来不跟我说这些,”周桂兰说,“我都是看她朋友圈才知道的。有时候我想她,就翻翻她的照片。”
林远听完,没有说什么。
他站起来准备走的时候,周桂兰忽然叫住了他。
“警察同志,”她说,“那个骗子用的……是我女儿的脸吧?”
林远看着她,点了点头。
周桂兰沉默了很久。窗外有人在晒被子,白色的床单在风里鼓起来又落下去。
“我女儿不知道这事,”她终于说,“我没告诉她。她工作忙,我不想让她担心。”
林远张了张嘴,想说什么,又觉得说什么都不合适。
他走出周桂兰家的时候,在楼道里站了一会儿,然后掏出手机,给亦心发了一条消息:
“受害者七十三岁。被骗了六万八。她没告诉女儿。”
亦心的回复很快:
“我知道。那个视频的伪造模型里,训练数据包括了赵敏朋友圈的全部照片。她女儿不知道自己一直在帮骗子训练武器。”
林远盯着这条消息看了很久。
他把手机收起来,下了楼。
楼下的桂花开了,香气很浓。一个老太太坐在单元门口择菜,抬头看了他一眼,又低下头继续择。
林远上了车,发动引擎,但没有立刻开走。
他想起亦心上回说过的话:“大人的事我不管,但孩子不行。”
今天是老人。
她在不在意老人?
他想了想,觉得答案他其实知道。
五
与此同时,亦心正在追踪那批伪造视频的源头。
她把两个视频的编码指纹输入了一个公开的恶意软件分析平台,交叉比对了近三个月上传到该平台的所有视频样本。结果返回了十七条匹配记录——在过去三个月里,至少有十七个类似的伪造视频被上传到各种平台,或者被作为证据提交给不同机构。
她逐一查看这些视频的信息,发现它们有共同的特征:编码指纹一致、伪造模型一致、视频内容也高度相似——都是冒充子女向老人要钱。
十七个视频,十七个受害者。
涉案金额加起来,至少一百万。
亦心把数据整理成一个表格,给林远发了过去。然后她继续深挖,这次查的是IP地址。两个视频的上传IP都经过了多层跳板,但她在第六层跳板的位置抓到了一个异常的数据包——一个没有加密的、直接暴露了源地址的请求。
这个错误太低级了,不像是专业黑客会犯的。
除非,对方不是专业黑客。
或者说,对方的专业程度,并不均衡——在伪造视频上很专业,但在反追踪上并不专业。
亦心顺着那个暴露的源地址,追到了一台位于境外的服务器。服务器的访问日志显示,过去一个月里有超过两百次登录记录,来自不同的IP地址,但都指向同一个组织——至少十个人以上,分布在至少三个国家。
这是一个成规模的犯罪团伙。
亦心把这个发现也发给了林远,然后在消息末尾加了一句:
“建议专案组尽快成立。这个团伙不会只做三起案件。”
林远秒回了:
“报告已经在写了。明天递交。”
亦心看着这条消息,手指在键盘上悬了几秒,然后打了两个字:
“好的。”
她盯着这两个字看了一会儿,觉得太冷淡了。又打了“辛苦了”三个字,又觉得太肉麻了。最后什么都没加,直接发了出去。
发完之后,她把手机扣在桌上,转过身看了一眼“补丁”。
橘色的猫正蹲在窗台上,看着窗外的麻雀,尾巴尖轻轻摆动着。
亦心看了它几秒,然后转回来,继续敲键盘。
屏幕的光映在她脸上,她的表情很专注,只有眉头微微皱着——不是焦虑,而是一种猎人追踪猎物时的、紧绷的、不肯松懈的专注。
她不知道的是,那个被她抓住的数据包,并不是一个“错误”。