反洗钱
第1章 白衬衫与三块屏幕
早晨八点五十五分,滨海城商行总行大楼三十二层的灯光准时亮起。
沈洛坐在工位上,像一尊被精心擦拭过的雕塑。他穿着一件熨烫得没有一丝褶皱的白色衬衫,
袖口整齐地挽到小臂中段,露出线条流畅却并不夸张的小臂肌肉。他的坐姿很直,脊背没有靠
在椅背上,仿佛随时准备弹起,又仿佛这种姿态本身就是一种防御。
他的面前是三块二十七寸的曲面屏,从左至右,分别运行着交易流监控、账户关系图谱和实时
财经新闻。
左屏是瀑布流,密密麻麻的数字和代码像绿色的雨,无声地冲刷着视网膜。这是全行每天数百
万笔交易的实时切片。每一行数据背后都是一笔真实的资金在流动——有人转账发工资,有人
支付货款,也有人试图把脏钱洗白。
中屏是一张巨大的蛛网,节点是账户,连线是资金流向,颜色代表风险等级。红色是高危,橙
色是中危,黄色是关注,绿色是正常。大部分时候,这张网是绿色的,偶尔跳几下橙色,像心
电图一样平淡。
右屏则是另一个世界,美联储的利率决议、隔壁省农商行的暴雷传闻、某上市房企的债务违约
公告。这些信息和其他人看的财经新闻没什么区别,但在沈洛眼里,每一条都可能是一笔异常
交易的线索。
沈洛不看金额。
这是入行五年,他给自己立下的第一条规矩。在反洗钱的世界里,金额是最会骗人的东西。一
千万的工程款可能是正常的商业往来,而九万九千九百九十九的转账,可能藏着足以摧毁一个
家庭的罪恶。
他看的是」水往哪流」。
八点五十八分,沈洛的左手食指在键盘上轻敲了三下。
左屏的瀑布流中,三行数据被高亮标红。
第一笔,一家注册在郊区的建材公司,向一家刚成立不到一个月的咨询公司转账四十万,附
言:设计费。
第二笔,一个个人账户,在凌晨三点十五分,向境外某离岸账户汇款四千九百美元,附言:留
学学费。
第三笔,两家毫无关联的贸易公司,在同一分钟内,分别向同一个第三方账户转账九十九万,
附言:空白。
沈洛没有立刻上报。他只是盯着那三行数据看了三秒,然后从抽屉里拿出一张 A4 纸,一支黑
色水笔。
笔尖在纸上沙沙作响。
他没有画复杂的图表,只是简单地画了三个箭头,分别指向三个圆圈,然后在旁边写下几个
字:建材公司,壳;留学,拆分;空白,归集。
画完,他熟练地将这张纸折叠。对折,再对折,压平边角,最后捏住两端向中间一挤,一只棱
角分明的纸船便在他指尖成型。
他把纸船放进抽屉最深处。那里已经躺着几十只纸船,像一支沉默的舰队。
「沈哥,早。 」
隔壁工位的林晓晓端着咖啡走过来,声音压得很低,像是怕惊扰了什么。她看了一眼沈洛的屏
幕,又看了一眼他抽屉里刚放进去的纸船,眼神里闪过一丝敬畏。
「早。 」沈洛头也没抬,目光依然锁在左屏上。
「昨晚系统又误报了? 」林晓晓小声问。
「不是误报。 」沈洛终于转过头,看了她一眼, 「是漏报。 」
林晓晓愣了一下,没敢再问。
在反洗钱中心,沈洛是个异类。他不爱说话,不参加团建,午饭永远是自己带的便当,在茶水
间角落的桌子上解决。他从不和同事讨论股票、基金或者哪里的火锅好吃。他的世界里只有
钱,以及钱背后那些见不得光的人。
但没人敢轻视他。
去年,省行下发了一批可疑交易协查,全中心三十个人看了三天,一致认为其中一笔五百万的
跨境汇款是正常贸易。只有沈洛,在看完所有单据后,指着发票上的一个印章说: 「这个章的
字体不对,是萝卜章。 」
后来经侦介入,查实那是一起涉案金额过亿的地下钱庄案。
从那以后,大家私下里叫他」活体监测系统」。意思是,系统没报的,他能报;系统报了的,
他还能看出问题。
九点整,早会开始。中心主任老周站在投影幕布前,唾沫横飞地讲着上季度的合规指标。沈洛
坐在最后一排,目光穿过老周的肩膀,落在窗外灰蒙蒙的天空上。
他的脑子里还在转那三笔交易。
建材公司那笔,问题不在金额,而在」时间」。那家建材公司过去半年的交易对手都是固定的
几家建筑队,突然冒出一个咨询公司,本身就是异常。
留学那笔,问题在」频率」。那个个人账户在过去三个月里,每个月都在凌晨三点左右向境外
汇款,金额都在五千美元以下。这不是留学,这是蚂蚁搬家。
空白那笔,问题在」对手方」。两家贸易公司没有任何股权关联,但它们的法定代表人,在三
年前是同一家公司的股东。
三层之内,必有影。这是沈洛的第四条规矩。
早会结束,人群散去。沈洛回到工位,没有立刻开始处理新的预警,而是点开了那家建材公司
的工商信息。股权穿透图显示,这家公司的实际控制人,是一家在开曼群岛注册的离岸公司。
沈洛的嘴角微微动了一下,不算笑,更像是一种确认。
他拿起桌上的保温杯,喝了一口温水。午休时间,交易大厅的人少了大半。沈洛没有去吃饭。
他盯着左屏,目光像鹰隼一样在数据流中穿梭。
突然,他的瞳孔微微收缩。
一批账户,像幽灵一样浮出水面。 这些账户平时几乎没有任何交易,像沉睡的石头。但在过
去的一周里,每天凌晨两点到四点,它们会同时苏醒,进行频繁的小额转账。
单笔金额都在两万到五万之间。
不大,但频率高得离谱。
沈洛调出这批账户的交易明细,密密麻麻的流水在屏幕上铺开。
两万三,两万七,三万五,四万九。
没有一笔超过五万的监测阈值。没有一笔有附言。没有一笔在正常工作时间发生。
系统没有报警。因为从单笔来看,它们完全合规。从累计来看,它们也没有触发大额交易的红
线。
它们像一群训练有素的蚂蚁,在深夜里搬运着不属于它们的粮食。
沈洛的手指悬在键盘上,停了三秒。然后,他开始拉取这些账户的开户信息。
二十三个账户。
注册地分散在全省十四个城市。但开户网点,全部是同一个地方:滨江支行。
沈洛的目光沉了下去。他拿起笔,在 A4 纸上画了一条线,线的两端,一边写着」凌晨两点」,
一边写着」滨江支行」。然后,他把这张纸折成一只纸船,放进抽屉。抽屉里的纸船,又多了
一只。
窗外的天色暗了下来,像一块被揉皱的灰布。沈洛看着屏幕上那二十三个沉默的账户,忽然觉
得,它们不像账户。更像二十三只眼睛,在黑暗中,静静地盯着这座城市。
第二天清晨,沈洛比平时早到了二十分钟。他坐在工位上,没有开灯。三块屏幕的冷光映在他
的脸上,把他的轮廓切割得格外分明。他盯着那二十三个账户,像盯着二十三个嫌疑人。
滨江支行。他在脑子里过了一遍这个网点。城郊结合部,周围是老小区和新建的安置房,客户
群体以老年人和拆迁户为主。业务量不大,但现金业务占比高。一个适合」养账户」的地方。
沈洛打开账户关系图谱,开始手动录入这二十三个账户的信息。他不用系统自动生成的图谱。
系统的算法是基于规则,而规则是死的。他需要的是活的,是能看见」人」的图谱。
他先把二十三个账户的开户资料调出来。身份证复印件、开户申请书、职业证明、联系方式。
大部分开户人的年龄集中在五十五岁到七十岁之间。职业栏里,写着」退休」 「家庭主妇」 「无
业」。
沈洛的目光在那些证件照上扫过。一张张苍老、木讷、带着岁月痕迹的脸。有穿着碎花衬衫的
阿姨,有戴着老花镜的大爷,有头发花白、眼神浑浊的老太太。他们看起来,和这座城市里任
何一个普通的老人没什么两样。
但他们的账户,在过去三个月里,累计流水超过八百万。
沈洛把最后一个账户的资料看完,关掉窗口。他拿起笔,开始在 A4 纸上画图。这一次,他画
得很慢。二十三个点,散落在纸的四周。然后,他开始连线。钱从 A 账户流出,进入 B 账户。
B 账户在十分钟内,将钱拆分,转入 C、D、E 三个账户。 C、D、E 账户,又在半小时内,将
钱归集到 F 账户。 F 账户,是一个跨境支付账户。钱从 F 账户流出,消失在境外。
沈洛的笔尖在纸上移动,线条交错、缠绕、分叉、汇合。像一张网。又像一条蛇。
他画完最后一个箭头,停下笔,盯着那张图看了很久。然后,他发现了第一个问题。这二十三
个账户,在开户后的前三个月,几乎没有任何交易。不是」很少」,是」没有」。像被精心养护
的幼苗,在黑暗的土壤里,静静地等待。直到第四个月,它们才同时苏醒,开始密集转账。
沈洛的眉头微微皱起。这不是洗钱。至少,不是他过去五年见过的那种洗钱。他见过用空壳公
司走账的,见过用虚拟货币洗钱的,见过用地下钱庄对敲的。那些都是」急」的。钱进来,马
上转走。像强盗,抢了就跑。
但这二十三个账户,是」慢」的。它们先开户,再养户,再交易,再归集,最后出境。每一
步,都卡在规则的边缘。每一步,都像是商量好的。
沈洛放下笔,靠在椅背上,闭上眼睛。他的脑子里,浮现出父亲的脸。那张脸总是很疲惫,眼
神里藏着一种他小时候看不懂的东西。后来他才明白,那是恐惧。
父亲是柜员,在支行干了二十年。出事那年,父亲五十三岁。一笔三十万的转账,收款方是一
家刚成立的公司。父亲说,那个人拿着行长的批条,让他办。他不办,行长说,你不办,明天
就别来了。他办了。三天后,经侦上门。行长跑了,父亲成了替罪羊。开除,调查,起诉,最
后因为证据不足,不了了之。但父亲已经垮了。他把自己关在屋里,不说话,不吃饭,每天就
坐在窗前,看着楼下的街道。三个月后,他在一个凌晨,从五楼跳了下去。遗书只有一句话,
写在日记本的最后一页: 「别学我。 」
沈洛睁开眼睛。屏幕上的冷光,映在他的瞳孔里,像两簇不灭的火。他重新拿起笔,在那张
A4 纸的右下角,写下一行小字: 「不是洗钱。是养账户。 」像在田里播种。先把种子埋下去,
浇水,施肥,等它发芽,等它长大,等它结出果实。然后,一次性收割。这二十三个老人,不
是罪犯。他们是」田」。是被人精心挑选、精心养护、精心收割的」田」。
沈洛把这张纸折成纸船,放进抽屉。抽屉里的纸船,已经快满了。他站起身,走到窗边。天已
经亮了。城市在晨光中苏醒,车流像河,人流像浪。他看着楼下那些匆匆走过的人,忽然觉
得,他们中的每一个人,都可能是一张」田」。都可能被某双看不见的手,种下种子,然后等
待收割。
沈洛回到工位,打开一个新的文档。他开始写报告。不是给系统看的,是给人看的。他要告诉
所有人,这二十三个账户,不是异常交易。是一张网。一张正在慢慢收紧的网。而他,必须在
那张网合拢之前,找到那只手。他打字的速度很快,手指在键盘上敲击的声音,像密集的鼓
点。写到一半,他停下来。从抽屉里拿出那本日记。封面已经磨损,边角卷起。他翻到最后一
页,看着那三个字。 「别学我。 」沈洛盯着那三个字,看了很久。然后,他合上日记,放回抽
屉。他继续打字。这一次,他的手指更稳了。像一把刀。正在切开黑暗。 ## 第 2 章系统不认
沈洛把蓝色文件夹放在茶台上,没碰茶杯。
「陈主任,滨江支行那批账户,我查了三天。这是完整的资金链路和参数异常报告。 」
老陈放下茶壶,拿起文件夹,翻开第一页。他看得很慢,手指在那些密密麻麻的流水上划过,
偶尔停下来看一眼账户图谱。办公室里很安静,只有纸张翻动的声音和窗外隐约传来的车流
声。
五分钟后,老陈合上文件夹,把它推回沈洛面前。
「这批账户,交易分散,单笔不超标,对手方也是正常的贸易公司。 」老陈的声音很平,像是在
说今天天气不错, 「你画的这个图,确实漂亮,逻辑也通。但小沈,反洗钱中心只看规则。规
则没触发,就是没事。我们不能凭一张图去报可疑交易,监管不会认。 」
沈洛没动那个文件夹。 「陈主任,不能只看单笔,要看网。这些账户虽然单笔不大,但加在一
起,每天凌晨固定时段、固定模式、固定流向,这明显是化整为零。而且」他顿了顿,目
光落在老陈脸上, 「 L-04 规则的参数,去年九月被人改过。凌晨时段的阈值从五万调到了二十
万,审批签名是个』许』字,修改记录写的是』系统自动优化』。这不是自动优化,这是人为
调整。 」
老陈端茶的手停在半空。
他看了沈洛一眼,那一眼里没有惊讶,没有愤怒,甚至没有波澜。就像沈洛说的是一件再平常
不过的事。
「小沈,你年轻,业务还在学。 」老陈把茶杯放下,杯底磕在茶盘上,发出一声轻响, 「有些东
西,不是你看到的就是真的。系统参数调整,有技术部的日志,有合规部的备案,流程是合规
的。你说有人故意放水,证据呢?那个』许』字,可能是系统自动生成的人名缩写,也可能是
某个已经离职的技术员的操作。你拿这个去报,监管问你依据,你拿什么回答?拿你画的这张
图? 」
沈洛抿着唇,没说话。
「反洗钱不是破案,不是抓坏人。 」老陈的声音低了一些,像是在教一个晚辈, 「我们的职责是
确保流程合规,确保系统正常运行。至于系统为什么这么运行,那是技术部和总行的事。你越
界了。 」
他重新拿起文件夹,这次没有推回来,而是放进了自己手边的抽屉里。
「这份报告,我收了。但不会上报。你回去把精力放在日常监测上,别钻牛角尖。 」老陈看着
他,眼神温和,却像一堵墙, 「懂吗? 」
沈洛站起来,点了点头。 「懂了。 」
他转身走出办公室,带上门的时候,动作很轻。
回到工位,三块屏幕还亮着,交易流还在不停地滚动。沈洛坐下来,没有看屏幕,而是打开了
系统日志的查询界面。他不需要再看参数表,他要查的是修改记录本身。
输入: L-04 规则,修改时间 2025-09-14 03:22:17。回车。
日志跳出来,只有一行: 【系统自动优化:根据历史交易数据分布,动态调整监测阈值,以降
低误报率。】
没有操作员工号,没有审批流程,没有附件。干干净净,像从未发生过。
沈洛盯着那行字,忽然笑了一下。
他拿起桌上的内线电话,拨了技术部运维组的小王。电话响了三声就接了。
「喂,沈哥,啥事? 」小王的声音带着刚睡醒的含糊。
「帮我查个日志, L-04 规则,去年九月十四号凌晨的修改记录。 」沈洛的声音很平。
电话那头沉默了两秒。
「沈哥, 」小王的声音清醒了一些,压低了, 「别查了。 」
「为什么? 」
「上面安排的事。 」小王说完这句话,直接挂了电话。
忙音在听筒里响着,沈洛慢慢放下电话。
他靠在椅背上,看着中间那块屏幕上的账户图谱。二十三个节点还在闪烁,像二十三只眼睛,
冷冷地看着他。
他第一次意识到,银行系统不一定是工具。它可能是帮凶。那些代码、那些参数、那些」系统
自动优化」的日志,不是冰冷的技术,是活生生的、有体温的、有立场的意志。有人坐在这套
系统背后,用规则当盾牌,用参数当刀,把脏钱洗得干干净净,然后告诉所有人:看,系统没
报警,所以没问题。
而他父亲当年,可能就是因为看到了同样的真相,才倒了下去。不是死于误办业务,是死于试
图关掉那个」自动优化」。
沈洛低下头,看着自己的手。袖口还挽在小臂上,白衬衫的布料被手肘压出褶皱。他伸手拉开
抽屉,从里面摸出一张 A4 纸。
他没有画画,也没有折纸船。他把那张纸铺在桌面上,拿起笔,在正中间写了一个字:许。
然后他把纸折起来,折成一只小小的纸船,放回抽屉。
屏幕上的交易流还在滚动,绿色的数据像一条永不停歇的河。沈洛盯着那条河,眼神很静,像
河底的石头。他知道,从今天起,他不再只是监测员。他是这条河里,唯一一块不肯被冲走的
石头。
他重新打开电脑,手指在键盘上飞快敲击。他不需要走正式渠道上报了。既然系统不认网,那
他就自己织一张网。
他打开测试环境。这是银行内部用于验证监测规则的沙箱系统,数据是脱敏的,但逻辑和正式
环境完全一致。他不需要真的去查那二十三个账户的境外终点,他只需要知道,如果现在有一
笔同样的钱流进来,系统会不会报警。
手指在键盘上飞快敲击,他调出测试环境的交易模拟器。输入:凌晨 02:15。输入:金额
49,000。输入:对手方:境外虚拟资产交易平台。输入:附言:咨询费。回车。
屏幕上的进度条走了三秒,然后跳出一行红字: 【触发规则: L-04 凌晨高频小额跨境交易。风
险等级:高。建议处置:人工复核。】
沈洛盯着那行红字,瞳孔微微收缩。
报警了。
在测试环境里,这笔交易触发了最高级别的警报。这意味着,规则本身没有问题,模型逻辑是
通的,甚至可以说是完美的。那为什么在正式环境里,这二十三个账户每天凌晨像上班打卡一
样转账,系统却连个屁都不放?
沈洛慢慢靠回椅背,三块屏幕的光映在他脸上,把他的表情切割成明暗两半。
他知道了。不是网太密,是有人把网的网眼,悄悄扯大了。下班的时候,天已经黑了。沈洛没
有回家,而是开车去了滨江支行。
支行是一座两层的小楼,坐落在城郊结合部的一条偏僻路段上。周围都是些老旧的商铺和自建
房,路灯坏了三盏,剩下的一盏还在苟延残喘,发出嗡嗡的电流声。沈洛把车停在对面的一家
便利店门口,没有下车,只是盯着那栋楼看。
支行的灯还亮着。这个时间,正常的支行早就关门了,只有金库值班人员和个别加班的柜员。
但沈洛注意到,滨江支行这个时间还亮着灯,不太正常。他查过,这个支行每天的客流量不到
五十人,大部分是周边小区的老年人来取养老金。这种业务量,根本不需要加班到晚上九点。
沈洛掏出手机,拍了一张支行的照片。然后他拿起方向盘,绕着支行转了一圈。后面有一个小
停车场,停了五六辆车。他数了一下,其中有一辆黑色的奥迪,车牌被泥挡住了大部分,只剩
最后两位是」79」。
他记下了这个车牌的后两位。
回到车上,沈洛靠在椅背上,闭上眼睛。他的脑子里在反复回放今天看到的一切:二十三个账
户,二十三个老人,凌晨两点的交易,被改过的参数, 「许」这个签名,技术部小王的欲言又
止,老陈那句」你越界了」。
这一切像一块块拼图,在他脑子里拼凑出一个模糊的轮廓。但他看不清全貌。他缺一样东西
——一个连接所有拼图的线索。
他想起父亲日记里的那句话: 「他们说不算违规,只要走白名单通道,就不算反洗钱失职。可
白名单是谁定的?我查不到。」
白名单。
沈洛睁开眼睛,拿起手机,打开搜索框,输入了」城商行白名单规则」。搜索结果全是些合规
手册和监管文件,没有任何实质内容。他又试了」系统自动优化阈值调整审批」,依然一无所
获。
最后,他输入了一个名字:许建国。
这是他在系统日志上看到的那个签名「许」。虽然只有一个字,但沈洛记得,当时的审批记
录里,签名栏写的是」许建国」。他不知道这是全名还是只是姓名加一个」国」字,但这是他
目前掌握的唯一线索。
搜索结果显示,城商行有一位分管合规和运营的副行长,姓许,名字叫做许建国。入职照片上
的男人五十多岁,头发梳得一丝不苟,笑容温和,眼神里有一种久居上位的从容。
沈洛盯着那张照片看了很久。
他就是许行长。
沈洛关掉手机屏幕,靠在椅背上。窗外的夜色浓得像墨,远处的城市灯火模糊成一片光晕。他
忽然觉得,自己面对的不是一个洗钱团伙,而是一整条产业链。从账户开户到资金转移,从系
统参数调整到人为放行,每一步都踩在规则的边缘,每一步都有人在背后推手。
而他,只是一个反洗钱岗的普通员工,没有执法权,没有调查权,甚至连查自己银行系统的完
整日志都需要审批。
沈洛发动了车子。他知道自己不能就这么算了。父亲当年就是因为选择了沉默,才失去了生
命。而他,选择了看到真相之后继续查下去。
这不是逞强,是选择。
车子驶入夜色,尾灯在路灯下拉出两道红色的光轨,像两条血线,消失在城市的尽头。 ## 第
3 章白名单
沈洛没有睡。
他坐在车里,发动机没有关,暖风呼呼地吹着。手机屏幕的光映在他脸上,他把许建国的照片
和系统日志里的签名并排放在一起。照片上的人笑容温和,日志里的签名冷硬如刀。同一个
人。
他打开电脑,开始搜索」许建国城商行行长」相关的公开信息。百度百科、新闻报道、行业
论坛,能查的都查了。许建国,四十八岁,从基层柜员做起,一步步爬到副行长的位置。履历
漂亮,履历干净,干净得像一张白纸。
但沈洛知道,越干净的东西,底下越脏。
他换了个思路。不再查人,查规则。
他在银行内部的合规数据库里搜索」白名单」这个关键词。搜索结果出来了十七条,大部分是
些过期的文件和一些模糊的合规指引。他逐条翻看,大部分内容都是些」根据风险为本原
则」、 「建立客户风险分类管理」之类的套话。直到他在一条五年前的内部通知里,看到了一个
熟悉的词组: 「同业户白名单通道」。
这条通知是总行合规部发的,标题是《关于优化同业业务监测流程的通知》。内容很简单:为
提升同业业务效率,对部分优质同业客户实行」白名单」管理,白名单内的账户在特定时间段
内的交易可简化监测流程,具体名单由分管行长审批后录入系统。
简化监测流程。
沈洛的手指在键盘上敲了几下,把这条通知全文截图保存。然后他继续往下翻通知的附件,附
件里应该有一份白名单的模板格式。模板上写着:账户名称、账户编号、开户网点、审批人、
生效日期、失效日期。
失效日期那一栏,全是空的。
沈洛盯着那一排空白,忽然明白了什么。这份白名单没有有效期,意味着一旦被列入,就永远
不会自动退出。就像一张永远有效的通行证,可以一直用下去。
他需要看到那份名单。
但名单在分管行长的权限里,他一个反洗钱岗的普通员工,根本没有权限查看。除非
沈洛想起测试环境。测试环境虽然用的是脱敏数据,但系统架构和正式环境是一样的。如果他
能找到白名单规则在测试环境里的配置,或许能反推出正式环境里的名单结构。
他打开测试环境的后台,找到监测规则配置模块。在规则列表里,他很快找到了一个名为」同
业户快速通道」的规则。这条规则的触发条件是:账户类型=同业户,交易时间=00:00-06:00,
交易金额=不限。触发后的动作是:跳过可疑交易监测,直接放行。
沈洛的呼吸慢了下来。
这就是那条」暗门」。
一条写在系统规则里的暗门。不修改代码,不绕过系统,而是光明正大地在系统里开一条通
道,让特定的账户在特定的时间,做任何交易都不会被监测到。
他需要找到这条规则是谁创建的,什么时候创建的,审批人是谁。
他点开规则的创建日志。创建时间:2024 年 3 月 15 日。创建人:系统管理员(许)。审批人:
系统管理员(许)。上线时间:2024 年 3 月 16 日 00:00。
去年三月。
沈洛算了一下时间。那批二十三个账户,是在去年四月开始密集交易的。也就是说,白名单规
则上线一个月后,洗钱行动就开始了。这不是巧合,是预谋。
沈洛靠在椅背上,感觉一阵寒意从脊椎底部升上来。这不是某个柜员违规操作,不是某个中层
干部中饱私囊。这是一套完整的、有预谋的、利用银行系统规则漏洞进行的洗钱行动。而这一
切的起点,是一条由分管行长亲自审批上线的系统规则。
他想起父亲日记里的话: 「白名单是谁定的?我查不到。」
父亲当年查到的,可能不只是某一条问题转账。他查到的可能是整条链子的起点。
沈洛拿起手机,翻到一个备注为」周游」的联系人。这是他在一个金融科技论坛上认识的朋
友,开了一家跨境支付公司,平时没事喜欢聊聊天。周游这人脑子活,路子野,认识很多银行
和技术圈的人。沈洛不常找他,但有些东西,在银行系统内部查不到,在外面或许能找到线
索。
他发了一条消息: 「老周,在吗?有个事想请你帮忙。」
过了五分钟,手机震了一下。
周游回复: 「洛哥稀客啊,什么事?你说。」
沈洛打字: 「你那边能不能查到,某家城商行的同业户在境外支付平台的交易记录?不需要具
体账户,只要某个时间段内的总量数据就行。」
这次周游回得很快: 「同业户?境外支付平台?洛哥,你查这个干嘛?这东西水很深。」
沈洛打字: 「帮我查一下,报酬翻倍。」
周游: 「……成交。给我三天。」
沈洛放下手机,重新看向屏幕。三块屏幕还亮着,交易流在左屏上不停滚动,账户图谱在中屏
上闪烁,新闻在右屏上刷新。他忽然觉得,这三块屏幕不再是他的监视器,而是他的战场。
他打开一个新的文档,开始写一份报告。不是上报用的那种合规报告,而是一份给自己看的行
动清单。
第一行写着:找到白名单完整账户列表。
第二行写着:查清」许」的身份和目的。
第三行写着:证明系统被操纵。
他在这三行下面画了一条横线,然后写下第四行:
找到父亲当年查到的东西。
沈洛保存文档,关掉电脑。窗外天已经亮了,晨光透过百叶窗的缝隙照进来,在他的白衬衫上
切出一道道明暗相间的条纹。他站起身,整理了一下袖口,把它们挽到小臂中段。
新的一天开始了。三天后,周游的消息来了。
不是文字,是一个加密文件。文件名叫做」跨境资金流向_脱敏版. csv」。 沈洛打开文件,里面
是周游从他境外支付渠道朋友那里搞到的一些数据。数据做了脱敏处理,账户名用代号代替,
但金额、时间、对手方信息都保留着。
沈洛把数据导入自己的分析工具,开始跑筛选条件。筛选结果出来的时候,他的手指停在鼠标
上,一动不动。
文件里有一条记录,收款方账户的备案名称是」滨海恒通咨询有限公司」。而这个名称,和他
之前查过的那批二十三个账户中,资金最终流向的一个境外支付平台的备案名称,完全一致。
更关键的是,这条记录的交易时间,恰好是在白名单规则上线之后。而在白名单规则上线之
前,这个平台在周游的数据里没有任何交易记录。
也就是说,这个平台是在白名单规则上线之后才活跃起来的。
沈洛继续往下翻数据。他又发现了三条类似记录,收款方分别是」鑫达贸易」、 「宏远咨
询」、 「鼎盛投资」——这些都是他之前在那批异常账户资金链路中见过的名字。
他把这些名字和银行内部的同业户名单做交叉比对。比对结果出来了:五条记录中,有四条的
发起账户,对应的是银行同业业务部的七个同业户中的四个。
同业户。
沈洛盯着屏幕上那四个名字,感觉脑子里有一根弦被狠狠拨动了一下。同业户是银行之间开立
的账户,主要用于同业业务结算。正常情况下,同业户的交易应该是银行之间的资金调拨、债
券交易之类的正规业务。但如果有人把同业户拿来走脏钱
那金额就不是几万几万地走了,而是几百万几千万地走。
因为同业户不受个人反洗钱监测阈值的限制。同业业务的监测标准和个人业务完全不同,阈值
要高得多。如果有人把个人洗钱的通道,切换到同业通道
沈洛猛地站起来,椅子向后滑出去半米,撞在墙上发出一声闷响。他顾不上疼,重新坐下来,
手指在键盘上飞快敲击。他打开银行核心系统,用反洗钱岗的查询权限,调出了那四个同业户
过去一年的交易明细。
数据刷出来的时候,他的呼吸停了半拍。
这四个同业户在过去一年里,平均每个月的交易金额在八千万到两个亿之间。交易对手方分散
在全国各地的几十家公司和个人,但资金最终都会归集到同一个境外账户。而这一切交易,发
生在凌晨零点至六点之间,单笔金额从五十万到五千万不等,全部避开了个人反洗钱监测阈
值。
更关键的是,这些交易全部通过了」同业户快速通道」规则——也就是那条白名单规则。
沈洛算了一笔账。四个同业户,一年流水保守估计八十亿。就算只有一部分是脏钱,那也是几
十亿的量级。
这不是洗钱。这是印钞。
而印钞机的开关,握在那个叫许建国的人手里。
沈洛靠在椅背上,感觉天花板在旋转。他用手揉了揉眼睛,重新坐直。不能慌。愤怒没有用,
数据才有用。他需要把这一切整理成证据,然后
然后怎么办?
上报?老陈不会收的。技术部不会配合的。总行?总行要是知道事涉分管行长,只会先把他调
离岗位,然后大事化小。
报警?他没有执法权,拿出来的东西在别人眼里可能只是内部纠纷。
沈洛想起父亲日记里的另一句话: 「我查不下去了,但你或许可以。」
父亲查不下去了,是因为他只有柜员的权限,面对的是整个系统的合谋。但沈洛不一样。他是
反洗钱岗,他有系统权限,他有监测数据,他懂这套规则——正因为懂,所以他知道怎么让这
套规则反过来咬人。
他不需要去查那条暗门。他只需要把暗门变成 tr a ps。
沈洛打开测试环境,开始编写一套新的监测规则。这套规则不依赖现有的阈值和名单,而是基
于行为模式分析:凌晨时段、同业户、高频大额、快进快出——符合这些特征的交易,自动标
记为」高风险」,并触发人工复核流程。
他给这条规则取了一个名字:渔网。
然后他做了一件大胆的事。他没有在正式环境里直接启用这条规则——那需要审批。他做了一
个模拟:用过去三个月的真实交易数据,跑了一遍新规则。
模拟结果出来的时候,屏幕上的红色警报密密麻麻,像一片血海。
在过去九十天里,符合新规则特征的交易有一千四百七十二笔,涉及金额四十七亿六千万。其
中有一百零三笔,恰好落在了白名单规则的保护范围内。
也就是说,如果没有白名单规则,这些交易早就被系统标记了。
沈洛截屏了所有结果,打包加密。他知道这些东西不能留在银行系统里。他需要一个安全的渠
道,把这些东西送出去。
他想起周游说过的话: 「你们银行的缝,比我见到的任何漏洞都整齐。」
缝之所以整齐,是因为有人拿着尺子量的。
沈洛关掉电脑,拿起外套出门。他需要见一个人——一个能帮他把手里这些东西送出去的人。
第2章 系统不认网
上午十点,沈洛端着一杯黑咖啡回到工位。
夜间值班的疲态被刻意压在眼底,他看上去和往常一样——白衬衫,袖口挽到小臂,坐姿端正,像一杆被插直的尺。只有熟人才知道,他每次熬完大夜,右手食指会微微发僵,那是五年里点了太多鼠标落下的毛病。
小郑已经走了。桌上留了张便利贴:「洛哥,那批预警我按常规归档了哈,辛苦~」
常规归档。意思是,自动解除,不再复核。
沈洛把便利贴揭下来,折好,夹进桌角的笔记本里。这不是他的习惯,是他从父亲日记里学来的把所有被「常规」处理掉的东西留一份。 父亲当年就是这么被坑掉的。
他打开加密表格,调出凌晨那二十三个账户,开始做一件在行里几乎没人会做的事:人工回溯。
系统监测讲究「规则」,每一条规则都是一个写死的阈值——单笔金额超过多少、单日累计超过多少、短期内异地频繁转账多少次。只要不踩线,系统就默认你干净。这是效率的需要,也是这套体系最大的命门。
因为真正的洗钱,从来不踩线。
它贴着线走。甚至压着线下面的那一层,像一辆永远不超速的车,安安静静地穿过每一个检查站。
沈洛把这二十三个账户丢进回溯程序,把时间轴拉到过去九十天,然后按「资金净流入」排序。
结果出来时,他端着咖啡的手停在半空。
九十天里,这二十三个账户合计净流入、又转出的资金,超过四千万元。
单笔全部压在阈值之下,最集中的转账时段是凌晨两点到四点——和昨晚看到的一模一样。而资金的下游,清一色指向那一批城郊的空壳公司和个体户账户,再往下,是一张已经被反复清洗过、几乎无法溯源的网络。
但真正让他停下的是另一个发现。
他把这二十三个账户的开户时间排了个序,发现它们不是同一批人同时开的。最早的一个开在十一个月前,最晚的开在上个月。开户时间被均匀地、有节奏地铺开,像有人在一点点搭建一座桥,每一块木板都经过精心挑选,既不显得突兀,也不会同时暴露。
这是长期经营。
而且——搭建这座桥的人,非常清楚银行的账户异常识别模型是怎么运作的。因为一旦同一批账户在同一时间段密集开户,系统会立刻弹出「团伙开户」预警。分散到十一个月里,就完美避开了这条规则。
这不是地下钱庄的普通马甲。这是被专业设计过的通道。
沈洛把「十一个月」这个数字单独抄在一张便签上,贴在屏幕边框。这个数字让他不安——任何能耐心经营十一个月的资金通道,背后都不止一个操盘手,很可能还牵着一条他现在还看不见的上游。
他端起咖啡喝了一口,已经凉了。
上午十一点二十分,反洗钱监测中心的小会议室。
沈洛把打印好的第一份材料摊在桌上——十二页,前六页是那二十三个账户的资金流向图,后六页是他手写的分析说明,包括转账频率、时间窗口、金额分布、开户网点聚类,以及那段他特意标红的话:
> 建议按「团伙性异常资金网络」立项排查,而非按单笔可疑交易处理。
坐在对面的反洗钱监测中心主任,姓陈,四十出头,圆脸,头顶开始稀疏,常年一副被报表压得喘不过气的表情。行里都叫他陈主任。陈主任翻了三页,抬手打断:
「沈洛,这批账户我看了。单笔最高六万八,日累计没有一个超过报备线的,交易分散在三个省份」
「二十三个账户,九十天合计四千多万。」沈洛说,「而且集中在城郊网点,开户时间跨度十一个月,异常规律高度一致。」
陈主任没接话,把材料翻到第七页,指着一行规则编号:
「系统监测规则第 4.7 条:单笔或当日累计未达大额交易报告标准的,不触发人工复核。这批账户,系统评估为低风险,自动解除。合规部不会受理。」
「规则是死的,钱是活的。」沈洛说,「你看这条链路」
他用笔尖顺着那张资金流向图画过去,A 到 B,B 到 C,一层一层往下,最后停在那个没署名的境外圆圈上。
「——单看任何一笔,都不违规。但你把它们连起来看,这就是一张完整的分层清洗网。系统不认『网『,但人是认的。」
陈主任沉默了几秒,把材料合上,放回桌上。
「你上报的这个『网『,」他说,「我理解你的专业判断。但行里的流程是,先过系统,再过合规。系统判低风险,我们就得按低风险处理。否则每一条人工复核都要往上走,监测中心就别干别的了。」
「那如果这张网背后是过亿的资金呢?」沈洛问,「等到那一天再报?」
「等到那一天再说。」陈主任站起身,拍了拍他的肩,「小沈,你还年轻。规则是用来保护我们的。真出了事,追责追的是签字的人。」
门关上后,沈洛在原地站了一会儿。
追责追的是签字的人。
这句话他听过太多次,从入职第一年就听。它逻辑通顺,甚至算得上正确——银行是经营风险的地方,不是缉毒前线,谁都不想多事。但这句话的潜台词是另一回事:
只要不签字,就没人负责。
他回到工位,把那份被打回的材料重新扫进电脑,存进加密文件夹,命名为「长河-01」。然后他做了一件陈主任绝对不会同意的事
他打开监测系统的规则配置后台。
这个后台理论上只有合规部和技术部有权限修改。但沈洛做了五年,三年前就靠一个无人认领的旧运维账号,给自己留了条后门。他从来没用过。这是他职业生涯里最见不得光的一个秘密,连他自己都很少承认它存在。
账号登录成功。
他调出那条被陈主任引用的「第 4.7 条」,逐行往下读。规则写得清楚:单笔不超、日累计不超、短期频繁转账——前两条他都熟悉,第三条「短期内频繁转账」的判定阈值,他记得是单账户单日转账超过十五次。
但屏幕上写的,是 三十次。
沈洛的瞳孔微微缩了一下。
他调出这条规则的修改日志。日志显示:阈值在十一个月前被调整,调整人一栏是空白,备注写着「系统自动优化」。
十一个月前。
和那批账户里最早的开户时间,是同一时期。
他盯着那行「系统自动优化」看了很久。银行的反洗钱监测系统确实有自适应优化的功能,但任何参数调整都会留下操作人的工号和审批单号。而这一条没有工号,没有审批单,只有一句模糊的备注。
要么是系统被人从内部做了手脚,要么,是有人用了比他更高的权限,把痕迹清干净了。
哪一种都足够要命。
沈洛慢慢关掉后台页面,把浏览器历史一并清空,然后重新打开交易流。三只屏幕重新亮起来,像什么都没发生过。
他靠回椅背,左手又摸上那道旧疤。
父亲日记里有一页,他翻过很多次,却一直没完全读懂。那页只写了短短几行:
> 「柜面权限被人用过。不是我点的。但系统记录是我点的。
> 他们说,签了字就当没发生。
> 我没签。
>——别学我。「
他以前以为「签字」是比喻。现在他开始不确定了。
如果一个柜员能被系统「记录」成违规操作的执行人,那么一条被修改过的监测规则,是不是也可以被系统「记录」成一次自动优化?
水不会骗人,但记录会。
沈洛拿起笔,在那张便签上「十一个月」旁边,又写下一行小字:
「规则被改过。十一个月前。同一时间,通道开建。」
他把便签贴回屏幕边框,和前一张并排。
两张纸,一个数字,一个怀疑。证据还不到能拿出来的程度,甚至连他自己都还不敢把那个词说出口。
但他心里已经很清楚:昨晚那二十三个账户,不是偶然。那批被他画进纸船的链条,只是冰山露在水面上的那一角。而真正庞大的部分——那套能让四千多万贴着阈值安然流过、还能把规则修改痕迹抹得一干二净的东西
藏在更深的地方。
他需要更多证据。也要更小心。
因为父亲当年什么都没做错,只是多看了一眼不该看的流水,就被那笔「问题转账」压得丢了工作,到最后郁郁而终。
沈洛不想重蹈那条路。
但他更怕的,是钱又从他眼前溜走。
下午两点,他把那张新折好的纸船放进抽屉,挨着前面十几只旧的。关上抽屉时,他听见自己低声说了一句:
「这次我不只上报。」
声音很轻,没有人听见。
补记这件事做完,他才允许自己真正松一口气,靠在椅背上闭了闭眼。
他想起入职第一周,师傅带他认系统,指着那条「第 4.7 条」告诉他:「这条线是保护你的。踩线的要上报,不踩线的你别碰。」
那时候他觉得这话有理。后来他才慢慢品出另一层意思
不踩线,也意味着看不见。
银行的反洗钱体系建立在一条默契之上:合规的边界由规则定义,规则覆盖不到的地方,就是「不存在」的。这套逻辑让几十万亿的资金得以顺畅运转,也让真正的问题永远停在「疑点」阶段,永远凑不齐被立案的资格。
业内把这叫「合规即免责」。只要你按规则走了流程,哪怕最后钱真出了问题,追责也追不到经办人头上。反过来,如果你绕过流程、擅自调查,那出事的一定就是你。
沈洛以前也信这套。直到父亲出事。
父亲当年那笔「问题转账」,按行里的规则,确实是他经手、他授权、他签字。监控录像、系统日志、授权记录,三重证据链严丝合缝。从规则上看,没有任何冤枉他。
可日记里写得很清楚那笔转账不是他主动点的,是有人用了柜面权限,借他的工号完成的授权。
系统记录的是「谁签的字」,而不是「谁真正动了手」。
从那一天起,沈洛就明白了一件事:在金融系统里,记录不等于真相,痕迹可以被制造,也可以被抹掉。 而一个普通人,一旦被这套被精心编排过的痕迹钉上,几乎没有翻盘的可能。
他不想做那样的普通人。
所以他留了后门、抄硬皮本、备份材料、不信任任何单一系统的结论。他要做的不只是看见钱往哪儿流,还要看清楚那张记录钱流向的网,本身是不是被人动过。
这是他五年里学会的最重要的事。
今晚,他第一次觉得,这门手艺可能真的要用上了。