创新方案
当调查对象从名单变成关系网时…
把一组人、公司、域名等实体建成带来源、置信度和时间有效性的关系图,用于欺诈团伙、空壳网络、反洗钱与复杂股权结构分析。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
当调查对象从名单变成关系网时,用实体-关通用
解决思路
- 在添加第二个节点之前先定好 schema:每个真实世界事物只建一个节点,别名作为属性而非独立节点,合并必须记录依据(哪些 selector、什么置信度),未记录的合并等于不可审计的断言;例外是人与账号要分开建模为 `Person —operates→ Account`,因为运营者会变、账号可共享。
- 固定一套封闭的边类型词表,保持数量少、方向一致,并写在案卷开头,避免出现 `owns`、`owned-by`、`ownership`、`is owner of` 这类自由文本标签导致查询遗漏。
- 每条边至少携带:来源(URL、工具或物证 ID)、检索时间戳、来源等级、置信度;因为断言在关系上而非节点上,没有这些信息,登记文件证实的边和从两条相似发帖推断的边会渲染得一模一样。
- 用视觉区分置信度:已确认用实线、可能用虚线、未确认用点线;再保留一个 confirmed-only 视图,检查结论是否仍成立,若崩塌则说明发现只是最弱边的产物。
- 给任何可能结束的边加上时间有效性 `valid_from` / `valid_to`(雇佣、域名注册、地址、董事职位、IP 解析),否则图会默默断言所有事物同时存在,制造从未重叠的人之间的关系。
- 把 `who-owns-this-domain`、`find-hidden-subdomains`、`find-exposed-servers` 的结果灌入图中,让共享注册邮箱、分析或广告标识、TLS 证书、复用头像哈希等共享基础设施自动浮现为高度数节点。
- 寻找桥接节点:移除后会把图分裂成不连通组件的节点,通常就是连接两个身份或两个网络的人或资产,形式上对应高介数中心性,视觉上位于两团之间的空隙。
- 同时计算度中心性和介数中心性并比较:最高度数节点常是最显眼的公开董事、前台或共享服务,而控制方往往度数中等但介数很高,两者不一致处要重点看。
- 用模块度/社区检测划分聚类,主要用来发现落在错误聚类中的节点。
- 把稀疏区域当作收集缺口而非世界事实,让这些缺口驱动下一次 pivot。
- 把中心性当作指向何处查看的指针而非结论,因为它衡量的是你的收集覆盖度,枚举最彻底的对象会成为图的中心。
- 按规模选工具:少于约 200 个节点、单人分析、结果要进报告时,用电子表格或 CSV 的节点表和边表,配合 Graphviz 渲染或导入 Gephi;需要路径查询、共享属性、'谁连接 A 和 B' 时用 Neo4j + Cypher;需要布局、指标、社区检测和展示时用 Gephi;需要从节点自动 pivot 且有授权时用 Maltego。
- 默认做法是两张 CSV(节点和边)加一个简单渲染器,它们可 diff、可版本控制、可被没用过该工具的人审阅,并能导入上述所有工具;只有在有明确理由(transform 自动化或图大到无法在脑中持有)时才上 Maltego 或 Neo4j。
- 理解 Maltego 的模型:实体携带 transform,即服务端查询把一个实体变成相关实体(域名到子域名到 IP 到证书);每个 transform 都是可归因于你的网络行为,结果精度取决于底层数据源,Maltego 的图只对 transform 输出负责而非对世界负责。
- 学习 Cypher 的路径查询,例如 `MATCH p = shortestPath((a:Person {id:'p-kestrel'})-[*..4]-(c:Company {id:'c-nordvale'})) RETURN p`,用于回答'此人与该公司之间是否存在至多四跳的关系链,是什么'。
- 避免过度连接:一条边只有具备区分度才配存在,若大量无关实体都会共享它(同国家、同注册商、同主机商、同 webmail 域名、同热门 CDN IP),它就是背景而非关系,应建模为节点属性或直接省略;两个 Cloudflare 站点无关,两个 Gmail 用户无关。
- 警惕共享服务边被误读为关系:共享主机、注册商隐私服务、公司注册代理地址、支付处理商、邮件转发套件都会产生真实的共享节点但当事人之间无关系;始终问有多少其他实体接触该节点,一个有四百家公司的注册地址是代理地址。
- 防止实体解析双向错误:把一个人拆成三个会隐藏发现,把两个人并成一个会凭空发明关系;合并更危险,因为图会看起来像强佐证;每次合并记录证据并保证可撤销。
- 防止布局洗白置信度:点线推断边被画出、截图、写进文字,三步后就成了报告中无人能追溯的图线;报告图必须从数据文件生成,绝不从手工编辑的图片生成。
- 不要把图当论证:布局算法是审美的,力导向图中的相邻不是发现;引用边而非图像。
- 不要在残缺图上算指标:对只枚举了一个行为者的图算中心性会必然加冕该行为者;报告任何指标时注明收集覆盖度。
- 按边而非按图分级置信度:Confirmed 指权威一手记录(登记文件、签名证书、两端自声明互链)或两个通过循环报道检查的独立来源;Probable 指一个强来源或足够稀有具区分度的共享 selector(自托管分析 ID、不寻常的复用密码哈希、个人域名)且无矛盾证据;Unconfirmed 指许多无关实体都可能共享的属性或仅风格/时间相关性,画成点线或不画;Rejected 指追溯到共享服务、数据经纪源或巧合,保留在文件中并标注原因,否则下一位分析员会重新加入。
- 报告任何链条时说明沿链的最小边置信度而非平均值,因为路径强度取决于最弱边。
- 在发布前修剪与目标无关的第三方节点(亲属、同事、同住者)并从公开图中隐去;图文件按案卷其余部分同样的加密与保留规则存储;使用托管图平台意味着把案件上传给第三方,粘贴主体 selector 到云端 transform 前先确认被允许。
- 把图作为案件的工作记忆从第一次 pivot 就开始建,报告从图生成,而不是把图当作最后画出的输出图片。
适用边界 · 注意事项
- 当调查对象仍是一份简单名单、实体数量很少且无需发现共享节点或桥接关系时,不必建图。
- 当无法为边提供来源、时间戳和置信度时,不要建图,否则弱边会被当作事实推理。
- 当使用托管图平台或云端 transform 会把案件上传给第三方且未获许可时,不要使用该平台。