其他
做人/公司/域名/图片 OSINT…
当你需要对人、公司、域名、图片或任意选择器开展开放源情报、尽职调查、背景核查或归因,却不知从何下手时,用这套前端流程确定范围、问题、路由、来源分级和竞争假设。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 48/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 54/100 ×0.15
适用场景
做人/公司/域名/图片 OSINT 调查通用
解决思路
- 先统一核心术语:Selector 是一个可识别数据点,如姓名、handle、email、phone、domain、IP、wallet、hash、车牌、IMO、公司编号。
- 先统一核心术语:Pivot 是把一个 selector 转成新 selector,例如 email → breach record → 复用 handle → 论坛资料 → 真名。
- 把调查理解为一连串 pivot;每次 pivot 也是跳到另一个人的机会。
- 阅读 ../../ETHICS.md,然后写下五项授权范围:Subject、Objective、In bounds、Out of bounds、Jurisdiction。
- Subject:写明具体实体,并用判别条件与任何同名者区分,例如写「company 09xxxxxx 的董事 J. Okonkwo」,不要只写「J. Okonkwo」。
- Objective:按 Step 2 把请求改写成可回答问题。
- In bounds:明确允许的 selector 类型、来源,以及是否允许交互。
- Out of bounds:列出明确不做的事,包括登录目标所属任何账户、联系目标、联系家庭成员、医疗或宗教数据,以及与目标无关的任何 selector。
- Jurisdiction:明确你、目标与数据受哪方法律管辖;在 EU/UK,聚合一个在世人士分散的公开事实属于个人数据处理,需要合法依据和最小化。
- 如果无法说明谁授权、依据什么授权,停止;不是「谨慎继续」,而是停止。未经授权的调查不能靠好报告弥补。
- Step 1 完成条件:五项都已写下,并能说出哪个具体行动会让你越界。
- 把「调查 X」改写成可回答问题,必须有主体、所支持的决策、能定案的条件,直到改写完成。
- 模糊请求改写示例:把「调查这家公司」写成「这家供应商是否有受制裁的未披露所有人,并且是否从发票上的地址运营?」。
- 模糊请求改写示例:把「这个账号是谁」写成「@handle 的运营者是否与指定的前员工同人,还是别人?」。
- 模糊请求改写示例:把「查这个域名」写成「example.com 是否与钓鱼域名由同一方运营、共享基础设施?」。
- 写下反面结果:什么发现会意味着「否」;如果没有任何发现能否定,问题不可证伪,你会无论看到什么都确认它。
- Step 2 完成条件:目标是一句话,并写下「否」的答案会是什么样。
- 收集前先写 collection plan:把每个问题映射到最可能解决它的来源,并按成本和侵入性排序;这样能发现何时在有趣但不回答任何问题的分支上花了三小时。
- 对每个问题写明:能回答它的 indicator、产生该 indicator 的来源或 skill、是否 passive、若结果为空怎么办。
- 始终 passive-first:先耗尽 archives、registries、logs,再接触目标。
- 随着学习修订计划;关键是让偏差变得可见。
- Step 3 完成条件:每个目标问题都有指定的来源或 skill,以及 first/fallback 顺序。
- 按起始 selector 路由:输入 workflow skill 的名称。
- 如果有人的姓名或真实身份,运行 find-anyone。
- 如果有公司、品牌或发票实体,运行 x-ray-a-company。
- 如果有域名、网站或 IP,运行 recon-a-domain-passively。
- 如果有用户名或 handle,运行 hunt-a-handle。
- 如果有 email 地址,运行 what-an-email-reveals。
- 如果有电话号码,运行 whose-number-is-this。
- 如果有照片或视频要定位或验证,运行 where-was-this-taken。
- 如果已有归因的社交资料,运行 pattern-of-life-from-socials。
- 如果没有清晰起点,从既唯一又被索引的 selector 开始:email 和 domain 优于姓名和 handle,因为姓名会碰撞,handle 会被陌生人占用。
- 当你描述正在做什么时,technique skills 会自行加载。
- 在触碰目标控制的任何东西之前,运行 investigate-without-getting-made。
- 从第一次 pivot 起就把案件放进 graph:graph-the-network。
- Step 4 完成条件:已运行路由到的 workflow,并用来源记录其发现。
- 收集时就给来源分级,而不是事后;使用 Admiralty(NATO 风格)方案,每个条目用字母给来源、数字给信息,并独立评分。
- Letter A-F 表示来源的历史记录和访问权限:A = 可靠历史,真实性无疑;F = 无法判断。
- Number 1-6 表示内容是否被其他独立来源确认,以及自身是否合乎逻辑:1 = 他处已确认;6 = 无法判断。
- 独立性很重要:公司注册处备案是 B2;对该备案的优质报纸报道最多 B2;匿名论坛帖重复报纸是 D3,不是新的佐证。
- 给你实际接触到的来源评分,而不是它声称的来源。
- 完整 grid、worked examples 和常见误分级见 reference/source-grading.md。
- Step 5 完成条件:每个保留的 finding 都带两个字符的 grade。
- 用 ACH 检验竞争假设;因为自然调查模式是选最可能故事并找支持,而这总会成功。
- 列出所有假设,包括无聊假设:「是同名的另一个人」、「账号被卖过」、「共享 IP 是共享主机」。
- 建一个 evidence 对 hypotheses 的矩阵,每个单元格只问该 evidence 是否与该 hypothesis 一致。
- 按列工作:最少不一致的假设胜出,而不是支持最多的假设胜出。
- 与所有假设都一致的证据没有诊断价值,例如目标有 LinkedIn 不能区分任何事。
- 少量有诊断力的条目胜过一百个一致条目。
- Worksheet 和 filled example 见 reference/ach-worksheet.md。
- Step 6 完成条件:至少列出一个你不想看到的 hypothesis,并记录什么证据会反驳你偏好的 hypothesis。
- 防确认偏差(OSINT 版):被给一个名字并被告知从事物流,你找到物流资料就停止问是不是同名别人;迹象是你找到候选人后判别条件消失——你用它们来 find,却停止用它们来 test。
- 防确认偏差修复:搜索前写下真目标必须具备的属性,以及不可具备的属性;用两者检查每个候选人;拒绝也是 findings,应进报告。
- 防循环报告:三个来源一致不等于确认;可能都抄同一博客、同一聚合器或同一泄露数据集。
- 防循环报告操作:对每个佐证来源找其起源,按时间查发布日期、看相同措辞或抄错的 typo、查「独立」people-search 网站是否转售同一 broker feed,见 dig-through-data-brokers。
- 防循环报告定义:Independent 指不同 collection,不是不同网站。
- 防陈旧数据当现况:registries、WHOIS、broker records 携带的是采集日期,不是今天真相;每个事实旁记录 observation date。
- 归档页面以保留观测:通过 read-deleted-pages 归档页面。
- 防 selector drift:每次 pivot 都有换人的风险;五个 pivot 每个 90% 可能就是一次抛硬币。
- Selector drift 修复:每次 pivot 后说明哪个已确认 selector 把新 selector 与目标绑在一起。
- 不要把工具输出当证据:enumerator 的命中列表、breach aggregator 的匹配、face-search 分数只是 leads;工具没有验证身份,它只匹配了字符串或向量。
- 全仓库适用 confidence grading,除非 technique skill 另有说明。
- Confirmed:两个或更多真正独立来源(不同 collection,不是不同网站),或一个权威一手记录如签署的 registry filing,且无矛盾。
- Probable:一个强来源,或多个弱来源通过循环报告检查,且替代假设已检验且更弱。
- Unconfirmed:单一无佐证线索;在报告中说明,不要因为后文依赖它而悄悄提升。
- Rejected:被矛盾;记录它及原因。
- 当目标问题按决策所需置信度得到回答,或能记录现有开放来源无法回答并点名什么能回答(records request、subpoena、interviews)时停止。
- 「已检查 A、B、C,仍无法确认 X」是 deliverable,且常是诚实结果。
- 越界时也停止——这是重新授权事件,不是流程中临时判断。
- 停止完成条件:目标已回答或记录为无法回答,并已运行 write-the-intel-brief。
- Worked example:目标为发票上的供应商 Nordvale Trading 是否由被禁实体的前董事控制?判别条件:董事 DOB 月/年。
- Worked example:x-ray-a-company 返回 registry record,董事 「A. Kestrel」,DOB 匹配,地址是 mail-forwarding suite。
- Worked example:两个 people-search 站点和一个 business-listing 站点都显示 A. Kestrel 同一家庭住址——看似佐证,直到追溯每个来源,三者都带有来自一个 broker feed 的同一街道名拼写错误;循环,评为 D3 并丢弃。
- Worked example:竞争假设为 (1) 同一人,(2) 不同 A. Kestrel,(3) 姓名被用作 nominee。
- Worked example:有诊断力的条目是被禁实体的 filings 和 Nordvale 的 filings 列同一家不寻常会计事务所,且发票页脚中的域名与被禁实体旧站共享 registrant email,见 who-owns-this-domain;这与 (2) 不一致,与 (1) 和 (3) 一致。
- Worked example:报告为 probable,标记 nominee hypothesis 未检验,并点名缺口:该司法管辖区不披露 beneficial ownership。
- Pivots:每个 workflow 运行时都喂给 graph-the-network,最后运行 write-the-intel-brief。
- Pivots:Selector-to-skill 路由见 Step 4;每个 technique skill 列出自己的 pivots。
- Legal:公开可得不是许可;数据保护法适用于公开个人数据的聚合,聚合比任何部分更敏感。
- Legal:Terms of service 管辖自动收集,即使数据公开;scraping 争议取决于授权和合同,不取决于页面是否可见。
- Legal:没有书面授权,绝不要认证、探测或向目标所属系统发送流量。
适用边界 · 注意事项
- 无法说明谁授权、依据什么授权时不要开始;未经授权的调查不能靠好报告弥补。
- 不要越过既定 scope 边界;越界应停止并重新授权,而不是在流程中临时判断。
- 不要把公开可得当成许可;不要认证、探测或向目标所属系统发送流量,也不要无视数据保护法、ToS 或自动化收集合同限制。