UINET方法修正:删CDN与“抄正规网站”表述 UINET方法修正:删CDN与“抄正规网站”表述

“两个网站共用同一个IP地址,不一定意味着它们由同一个运营者控制。”这句话来自一个仍在推进中的个人研究项目——UINET(乌克兰影响力网络追踪器)。项目发起人把这句话摆在最前面,因为它几乎决定了整个研究的方法论走向。

打开网易新闻 查看精彩图片

他最初想弄清楚一件事:那些被记录在案的网络影响力行动中涉及的网站,能否通过它们历史上的基础设施痕迹被串联起来。如果两个站点用过同一台服务器、同一个追踪标识、同一张证书或同一个后端服务,能不能确定这种重叠发生在什么时间,又究竟意味着什么?

问题越往下走,答案越不像答案。他现在的说法是,自己花在思考“证据不能告诉我什么”上的时间,已经和思考“证据能告诉我什么”差不多多了。

重叠本身不是结论

共用IP可能只是共用主机。共用分析标识,可能只是两个站点使用了相同的代码。后端主机名吻合,值得追查,但本身不构成共同控制的证据。

他想建的是一套把观察、来源和解释分开记录的东西。与其输出一条看起来很有把握的“关联”,他更愿意留下这样一份记录:这里是什么匹配上了,这是什么时候观察到的,这是存档证据,以及还有哪些解释仍然成立。

历史存档让这件事更难。一个页面打不开,不能据此断定它没有追踪标签。可能它从未被捕获,可能索引查询本身不完整,可能存档返回了错误,也可能捕获确实存在但无法调取或检查。这些是不同种类的不确定性。

他反复回到的那条规则很短:UNKNOWN 不等于零。一次失败的查询不是“不存在”的证明,一个没能检查的页面也不是一次否定性检查。

把中断的研究过程也留下来

项目里最不起眼的部分,反而最有用。他在为采集过程建一个只追加的日志:请求在发出之前就先记为已开始,原始响应可以用哈希核对,被中断的尝试不会因为重启而消失。

如果一个进程在请求中途停止,它不会获得一次免费的额外尝试。这次尝试仍然算已消耗,结果可以保持为 UNKNOWN。否则采集器可能悄悄重试,直到拿到一个方便的结果,让最终数据看起来比实际过程更干净。

他在 Linux Codespace 里做过恢复测试,在几个存储边界上用 SIGKILL 故意杀掉子进程,包括临时原始响应写入期间和日志恢复期间。这些离线测试通过了。他的表述很克制:这只说明特定恢复路径在那个环境里按预期工作,不代表断电持久性、完善的证据保管,也不代表任何真实调查的准确性。

项目大部分时间是在 iPhone 上管理的。把这些测试搬到 Linux Codespace,对他是个实际提醒:结论应当匹配真正被测试过的环境,而不是你希望奏效的那个环境。

83个域名与一次尚未开跑的普查

他计划对 83 个不同的历史域名做一次有限可行性研究,样本取自两份公开文献框架:欧盟反虚假信息实验室2022年9月的 Doppelganger 调查,以及美国司法部2024年9月的 Doppelganger 宣誓书。这组域名在第一份文献中出现 56 次,在第二份中出现 32 次,其中 5 个名字同时出现在两份里。他强调,报告之间的这种重叠不构成运营者连续性的独立证据。

他还提到从 VIGINUM 2024年2月的 Portal Kombat 报告中学习。Portal Kombat 与那83个域名的可行性集合是分开的,他把它列为相关研究,而不是把其中的站点混进这份清单。

第一轮他想问的问题很有限:是否有足够多带日期的存档索引元数据,值得去做更深入的历史分析?找到一个被索引的捕获,还不等于能调取并检查原始 HTML 或 JavaScript。

他草拟了覆盖率阈值,但明确说这些阈值尚未获批,也没有被充分论证。两条反对意见对他特别有用:固定的1000行响应上限,可能把存档最好的域名标成不完整;而每个域名只发一次请求,可能把一次临时性的存档故障变成表面上的历史缺失。他在考虑有界分页或过滤,以及一个有限且被明确记录的重新尝试预算。这些改动尚未采纳,实际普查也尚未运行。

如果存档提供不了足够证据,报告这个局限本身就可以是结果。他不想为了结果好看,悄悄把难处理的域名换成容易处理的。

一场他庆幸没有抹掉的分歧

早前一次 AI 辅助的对抗性审查中,分类器在8个主要合成案例里与人工判断一致了6个。两处分歧让他重新思考规则该怎么写。他特别说明,下面的例子是虚构示意,不是对真实网站的观察。

设想两个仿冒站点,2023年10月12日的存档页面里都含有一个形如 GTM EXAMPLE1 的标签。再设想正规媒体2023年10月11日的存档页面里也含有同一个标签。他最初可能看到两个仿冒站点之间存在共享追踪标识,但正规页面给出了一个合理的“代码被复制”解释。如果这是唯一共享的痕迹,还剩下什么正向证据支持共同控制?他的选择是把那个标签排除出运营者证据,而不是因为站点看起来可疑就另造一条关联。

另一处分歧涉及共享后端主机名,以及对正规参考站点覆盖不完整。他倾向于一条更硬的规则:参考证据缺失可以限制信心,但不能让弱信号变强。如果必要的历史页面没查过,就不能把它们的沉默当作“该后端为可疑站点独有”的证明。

后来围绕这些案例的讨论由他和 AI 辅助完成,不是盲审,也不是独立重新裁定。最初6/8的结果留在记录里。他说自己更在意把规则弄清楚,而不是事后把一次分歧改写成一次通过。

他最后向同行提了几个问题:做存档网页数据的人,怎么设计覆盖率指标,既能在查询触限时不惩罚存档良好的站点?什么样的重试预算既可复现,又对公共存档友好?当你确实见过正规站点代码被复制到仿冒站点上,什么样的证据才能让你相信剩下的技术重叠是有意义的?

他也不知道这批历史材料最终能否支撑最初那个问题。如果不能,那同样值得弄清楚。