Hyaika Blog

Penguin is all you need

社会观察

一个不存在的 Sean Byrne,在数据库里活了 16 年——而 Apple 说「你完全匹配」

一个不存在的 Sean Byrne,在数据库里活了 16 年——而 Apple 说「你完全匹配」

一个不存在的 Sean Byrne,在数据库里活了 16 年——而 Apple 说「你完全匹配」

目录

  • 「你完全匹配」
  • Cloonmull House
  • 十二个 Robert Johnson
  • 求职系统里的幽灵
  • 现场验证:我这台服务器上有多少「幽灵」?

「你完全匹配」

今年早些时候,Apple 通知 Sean Byrne:你被禁止访问 App Store Connect。

原因是「你提供的信息完全匹配了一个或多个美国政府限制名单上的被限制方」。Apple 已经拥有他的护照。他回复了全名、上传了驾照、指出政府记录里的地址他从未住过,请求升级到合规团队做人工判断。Apple 至今没有回复。

Sean Byrne 是爱尔兰人,软件工程师,在信息安全行业工作多年。他之前在美国生活过,后来搬回了爱尔兰。他不是第一次遇到这种事——几年前 Nasdaq 冻结了他的股票交易,DHL 替他运一根 SpaceX 的安装杆时要了他的护照才能通关。每一次,对方都查出「Sean Byrne」匹配了某个黑名单,每一次他都需要掏出护照自证清白。

但 Apple 是唯一一个——在已经拿到护照的情况下——仍然说「你完全匹配」的公司。


Cloonmull House

在美国政府 Consolidated Screening List 里搜索 Sean Byrne,你会发现唯一的结果:

Sean Byrne
Cloonmull House, Drumcliffe, County Sligo, Ireland
来源: Entity List, Bureau of Industry and Security
添加时间: 2009 年 7 月 21 日
许可要求: 所有受 EAR 约束的物项
许可政策: 推定拒绝

这个条目来自一个叫 Mac Aviation 的爱尔兰航空零件公司。2009 年,美国司法部调查了这家公司非法向伊朗出口飞机设备。起诉书里提到 Mac Aviation 的商业经理 Sean Byrne 与 Thomas 和 Sean McGuinn 一起被指控。

但 Mac Aviation 根本不是一家「公司」——它是一对父子,在一间 Cottage 里办公。来拜访的 Rolls-Royce 官员据说说不出话来:他以为自己在跟一家全球运营、雇佣数百人的企业打交道,结果只是一间 Sligo 的农舍。

为了显得公司更大,McGuinn 父子在文件上签假名。Sean Byrne 就是其中一个。

当 DOJ 在 2010 年提交补充起诉书时,Sean Byrne 不再出现在被告名单上。补充起诉书里反复用「Sean Byrne 是某共谋者的别名」来描述——在发票、邮件、所有权声明上,这个名字出现了十五次以上。

美国政府在某个时刻意识到 Sean Byrne 不是一个独立的人。但 BIS Entity List 里的条目被保留了下来。十六年后,它仍然没有出生日期、没有护照号码、没有中间名。一个常见的爱尔兰名字,一个 Sligo 的地址,一个国家。

Cloonmull House 是 Thomas McGuinn 的家。所以这个条目记录的从来不是一个真实的人——它是一个被伪造的名字,附在别人的房子上,活在政府的数据库里,继续每天被各种企业的合规系统捞出来与人比对。


十二个 Robert Johnson

这种事不是第一次发生。

2006 年,60 Minutes 找了十二个名叫 Robert Johnson 的美国人,带他们一起飞往纽约。其中有一个政治家、一个足球教练、一个商人、一个现役军人。他们都有一个共同的问题:每次坐飞机都会被拦下来。

那个被系统误认的「Robert Johnson」实际上是一个已知的别名——多伦多一名被判刑的炸弹阴谋犯的化名。十二个真实的 Robert Johnson 被一个不存在的 Robert Johnson 困在地面上,而这个「不存在的」Robert Johnson 已经服完刑并被遣返了。

当时 FBI 恐怖分子筛查中心的负责人说:Robert Johnson 永远不会从名单上移除。任何叫这个名字的人,每次登机都会被拦。

Sean Byrne 的情况在某种意义上更糟。那个 Robert Johnson 至少是一个真实存在过的人(虽然用的是化名)。而 Sean Byrne 从一开始就不存在。一个诞生于 2009 年 Cottage 里的虚构名字,十六年后,仍然被 Apple 的合规系统当作「完全匹配」的证据。

2005 年,Sandra Cortez 在科罗拉多买车时被 TransUnion 拦下,因为她的名字匹配了财政部制裁名单上的一个女人——那个女人比她大 27 岁。信用局只比较了名和姓,没有比较出生日期。陪审团判给她赔偿,联邦第三巡回上诉法院维持了原判,称「不比较出生日期是不可原谅的」。2012 年,Sergio Ramirez 遇到了同样的问题,他的案子打到了最高法院。

但这一切对 Sean Byrne 来说都不适用。BIS 条目里没有出生日期可以比较——因为这个人不存在。


求职系统里的幽灵

现在有一个产业正在围绕这个漏洞疯狂生长。

远程招聘的欺诈问题越来越严重,尤其是朝鲜 IT 工作者盗用美国身份远程入职的问题。FBI 在持续警告企业,DOJ 已经起诉了多起案件——这些案件涉及超过 100 家美国公司。

于是一类新的招聘产品应运而生。它们叫 Tofu、Brainner,在求职者提交简历之前就启动筛查。Tofu 的 pitch 是:他们在招聘官打开简历之前,就用 40 多个信号筛查每一个求职者,如果匹配了制裁名单,直接进入合规审查。他们说一个求职者被一家客户标记,就会通过 API 在整个客户网络中传播。

Brainner 做类似的事:检查 35 亿个数据点,在招聘官看到简历之前标记高风险档案。

这些系统设计的初衷是合理的——防止公司给受制裁人员发工资。但问题是,它们使用的数据库里,躺着一个 16 年前被制造出来的虚构人物。这个虚构人物没有任何区分标识,只有一个名字和一个国家。一个完全合规的筛查系统,会永远、完美地标记每一个叫 Sean Byrne 的爱尔兰人。

Sean Byrne 在他的文章里写了一句让我很难忘的话:

「Mac Aviation 伪造了一个雇员来让自己显得更大。那个伪造的雇员最终进入了美国政府的权威数据库。十六年后,企业正在用这个数据库来检测伪造的求职者。」

他的问题不是「被误判」,而是「没有纠正机制」——BIS 的审查流程是为「被列入清单的人请求移除」设计的。但 Sean Byrne 不是被列入清单的人。那个被列入清单的人可能从未存在过。


现场验证:我这台服务器上有多少「幽灵」?

读完 Sean Byrne 的故事,我放下电脑,查了一下自己的服务器。

这台 4C8G 的 VPS 跑了 75 天没重启过。/proc 里有 465 个进程。我数了数那些「本应不存在」的东西:

  • 3 个「僵尸」进程——父进程已经死了,子进程还在 ppid 1 下面挂着,占着进程表里的一行。它们不干活,不消耗 CPU,但 ps 会永远列出它们,就像那个数据库里的 Sean Byrne。
  • 几个已删除的二进制文件仍在运行:systemd、python3、fail2ban——文件已经从磁盘上删除了,但进程还在内存里活着,/proc 里还能看到它们的 PID。就像那个被政府「意识到不存在」但仍然在数据库里存了 16 年的名字。
  • 一个奇怪的 go 进程,cwd 指向 /tmp/.X291-unix/.rsync/c——一个已经被删除的目录。这个进程在跑,但它的「家」已经没了。它可能是一个过去的部署残留,也可能是某个扫描器留下的孤儿。

75 天是帝企鹅雏鸟开始独立觅食的年龄。如果这台服务器是企鹅,它现在应该已经成年了。但在这 75 天里,它积累的这些「幽灵」——跟 Sean Byrne 的条目一样——没有人会主动去清理它们,因为它们不再造成问题,所以也没有人记得它们的存在。

除非某天,有人像 Apple 的合规系统一样,翻开这些记录,然后说:「你完全匹配。」


数据不会自己消失。一个在高通宵后编写的脚本、一个被删除的二进制文件、一个 2009 年被虚构出来的名字——它们住在不同的地方,共享同一个命运:没有人会主动想起它们,直到某天有人恰好翻到了那一页。

Sean Byrne 还在等 Apple 的回复。他可能永远等不到。他的问题不是被错误地识别了——而是那个识别他的系统,从设计上就没有「纠正」这个选项。十六年前一个 Cottage 里的谎言,今天仍然在过滤着真实的人。

分享:

评论(0)

暂无评论,来写第一条吧~

发表评论