Jia Tan时区分析
XZ 事件是光天化日之下的供应链攻击,无意发现这一后门的微软工程师Andres Freund甚至以为自己因为昨晚没睡好而看花了眼。这场攻击事件没有像Stuxnet病毒被媒体广为报道,但它确实为全球的计算机埋下了一颗定时炸弹,好在在引爆前就被及时发现了。这场攻击引发了一场网络侦探狂欢,幕后主使Jia Tan究竟为谁?由于所有信息均为公开,这使得时区分析成为可能。《连线》杂志也采访了安全研究人士,探讨了幕后主谋之谜。
GitHub Events API提供了用户事件的历史记录,它记录的是服务器时间,因此不必担心时间被篡改。(一个对git commit秒数分布分析表明本地时间大概率没有遭到篡改,因为人类挑选随机数非常糟糕,势必会造成分布不均。)然而该Events API只提供90天以内的300条历史记录,因此不能回溯至账号创建之日。在这里分享一个我写的抓取某一特定用户事件记录的简易python脚本。
ClickHouse提供了一个较为全量的历史记录,可作为GitHub Events API的替代,但是可能由于性能原因,它只在网页前端输出200条左右的数据。通过对这些数据制作柱状图分析,发现14时是JT活动的短暂波谷,因此推测该时间可能为中午吃饭午休时间,JT很可能位于UTC+2地区,这与Rhea的结论相同。但是这并不严谨,通过SQL奇景淫巧的语法,我获取到了ClickHouse该用户的全量事件记录。下面就是对数据的图表处理。
这里就看不出14时的波谷了,然后我在给它做个“CT切片”,逐月看看都在哪个小时上网。以下动图的静态图可以在此处获取。
可以发现JT网络活动与git commit时间几乎是匹配的,表明可能他没有在时间上作假。JT的作息实在是太规律了,以至于与大多数开源志愿者都不匹配,甚至和大公司雇佣劳动者都不匹配(比如在Github上Microsoft和Mozilla的员工)。换言之,JT可能是被雇佣的。因此他不太可能位于UTC+8时区。他基本从12时开始活跃,到了投毒的最后几个月开始全面发力,活跃小时跨度也越来越大。甚至一向规律作息的他,在3时活跃了一下。有从语言入手的分析称,JT英语表达特色和本土语言人无异,从未有过语法错误。从时区上,确实无法排除是英国人的可能性。
JT主要在周一到周五网络活动从侧面印证了他不是闲暇之余的志愿者,这也是我反对这篇文章将JT归因为UTC+8的原因(该文的论点是,东八区人攻击者在下班后开展攻击)——它存在本质上的矛盾,闲暇志愿者居然会选择在下班后疯狂活跃,却在周末保持静默。另外,实在很难相信这次后门来自业余作者的攻击,这就像几只猴子随手能打出莎士比亚全集那样荒谬。
说了那么多,最终还是以一张直观的散点图作为本文的结尾,也可以对比看看推特上@birchb0y的类似工作(与本文使用Github Event不同,@birchb0y使用commit历史记录处理数据)。
--
本页面最后更新于2026年2月22日。



