关于 investigate-without-getting-made
Investigate without getting made 是面向在线调查人员的安全研究技能,围绕威胁建模、身份隔离、平台归因风险和适度防护组织操作安全指南。
主要功能
- 01基于威胁建模的操作安全指南
- 02归因面分析
- 03研究身份隔离
- 04网络出口方式权衡
- 05环境隔离
- 06暴露评估与记录
适用场景
- 01规划对公开网站的安全访问
- 02评估登录状态浏览平台的风险
- 03隔离不同调查中的身份
- 04记录收集后的暴露情况
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ useosint/ skills --skill investigate-without-getting-made安装后在 Claude Code 中输入/investigate-without-getting-made确认已加载。
附带文件reference/attribution-surface.mdreference/persona-runbook.md
详细介绍
调查时不暴露身份
信息收集是双向的。大多数调查人员暴露身份,并非因为对手多么高明,而是因为平台做了它明示会做的事:告知对方谁查看了其个人资料、向对方推荐调查人员,称其可能认识此人,或者标记某个动态已被查看。最常见的失误不是 IP 地址泄露,而是登录了真实账户。
先进行威胁建模
OPSEC 投入应与风险相称。在花一天时间搭建基础设施之前,或在认定自己完全不需要这些措施之前,先回答三个问题。
- 谁可能会注意到? 一个不活跃的空壳公司、一个具备中等技术能力的个人、一伙运行着受监控基础设施的犯罪团伙,或一个国家级机构。对方的能力决定了防护标准。
- 对方会看到什么? 被动收集:服务器日志中的一条记录。登录后访问:你的姓名。进行互动:你的身份及其历史记录。
- 后果是什么? 什么也不会发生;或证据被销毁、账户消失;或调查被归因于你的组织并遭到披露;或你或信息来源面临人身风险。
| 情况 | 相称的防护措施 |
|---|---|
| 登记信息、档案、CT 日志、法院记录 | 普通浏览器,无需虚拟身份。你只是成千上万人中的一员。 |
| 查看目标的公开网站 | 使用干净的浏览器配置文件、商业 VPN,不登录任何账户。 |
| 登录平台查看目标的任何内容 | 使用虚拟身份账户和专用配置文件,并先确认平台会如何通知内容查看者。 |
| 目标运营着受监控的基础设施,或具备技术能力 | 使用专用 VM、非数据中心出口 IP、不重复使用指纹,并注意访问时机。 |
| 有组织犯罪、骚扰风险或人身安全风险 | 除上述措施外,还要使用隔离的硬件,并让一位同事知道你在做什么。 |
过度设计也有代价:封闭严格的环境容易触发 CAPTCHA、遭遇速率限制和封锁,导致收集到的信息更少;而且不寻常的配置本身就会显得与众不同。需要融入人群时,就要表现得像普通人。在考虑如何安全查看之前,先检查是否已有存档收录相关内容(read-deleted-pages)——查看快照不会向目标泄露任何信息。
你的归因面
网站或平台可以从一次访问中了解到什么:
| 面 | 暴露的信息 |
|---|---|
| IP 和 ASN | 暴露的是网络,而非地址:数据中心 ASN 表明“VPN 或爬虫”,企业 ASN 则会暴露你雇主的名称——这是最糟糕的结果,而且很常见,因为人们会忘记办公网络也是一种身份标识 |
| 浏览器指纹 | User-agent、窗口几何尺寸、字体、Canvas 和 WebGL 渲染、硬件并发数、时区——通常具有唯一性,而且至关重要的是,即使跨会话和 IP 也保持稳定,因此当其他信息都无法做到时,它仍能将你的多次访问关联起来 |
| TLS 指纹 | 客户端问候(密码套件、扩展、顺序)可以独立于浏览器暴露的任何信息识别你的客户端;这就是为什么代理后面的工具很容易与真实浏览器区分开来——请求头显示 Chrome,但握手却不是 |
| 语言和区域设置 | Accept-Language、时区偏移量、计量单位。使用英语区域设置的浏览器,从第三国数据中心 IP 访问使用地区语言的网站,会令人印象深刻 |
| 时间规律 | 只在某个国家的工作时间活跃,在该国节假日期间停止访问,或每小时整点突发访问。无论你应用什么其他控制措施,时间规律都无法隐藏 |
| 链接预览 | 将目标 URL 粘贴到聊天、工单或文档中,会让相应平台抓取该 URL;抓取请求会访问目标服务器,并与你的其他活动产生关联。请禁用预览或对 URL 进行脱敏 |
已登录的账户是最大的风险。 身份验证会将匿名请求转化为可识别请求,而这些泄露并非缺陷,而是功能:个人资料浏览通知和浏览者列表、动态和视频浏览列表、基于联系人列表和互动关系图的“你可能认识的人”推荐、已读回执、关注者和列表通知、共同联系人展示。有些只要加载页面就会触发,无需进行其他操作。
各个平台类别会暴露什么、哪些设置有帮助或没有帮助,以及针对各个面的检查方法,请参阅:reference/attribution-surface.md。
隔离必须彻底
研究身份绝不能与真实身份产生交集。不是“基本上”不交集——一次交叉就会永久关联两者;一旦平台完成关联,就无法撤销。以下是具体的泄露途径,大致按导致身份暴露的频率排序:
- 用于短信验证的真实电话号码。 这是最强的跨平台标识符;平台会在内部通过它关联账户,并利用它来提供基于联系人的推荐。一次验证就会将虚拟身份与你永久关联,包括追溯性关联。
- 属于你的恢复邮箱——或者属于另一个虚拟身份的邮箱,这会将不同虚拟身份彼此关联。
- 支付方式。 任何银行卡、钱包或订阅,包括 VPN。
- 重复使用的密码,一旦将来发生数据泄露,就会暴露这些密码,并让任何购买泄露数据的人将你的账户归为一组——参见
what-leaked-about-you。 - 已同步的浏览器配置文件,会将浏览历史、自动填充信息和已保存的密码带入研究环境。个人 Cookie 和会话信息则会进一步泄露。
- 可以通过反向搜索追溯到你的头像——或者追溯到任何人(
find-the-original-image)。裁剪后的个人照片、朋友的照片和图库图片都会出问题,只是原因不同。也要清除上传文件中的元数据(secrets-in-file-metadata)。 - 风格和习惯。 独特的措辞、反复出现的拼写错误、固定的活跃时间。
- 上传联系人列表。 在曾经保存过真实联系人的手机上,授予应用访问联系人的权限,就等于把关联一切的关系图交给了平台。
人设
只有在观察确实需要账户时才创建人设,并先阅读下方的服务条款部分。全新的空账户毫无用处,还格外惹眼:它看不到多少内容,而且一眼就能看出是什么,因此你需要它时,往往会被拦截、要求验证或封禁。人设需要有可信的历史和使用年限,所以要在需要它的案例出现之前很久就创建,并让它积累日常活动。维护一小组稳定的人设,而不是每次调查都创建一个。
一致性是关键:姓名、地区、语言、时区、发帖时间、兴趣和关联都要彼此吻合,也要符合平台用户特征。一个声称住在某座城市的人,却按照那座城市的夜间作息发帖,这种矛盾会被人一眼看穿。
分步构建、标识符来源、养号安排和维护流程:reference/persona-runbook.md。
无论任务要求如何,都有一条不可逾越的界限:人设只用于观察,不能用来套取私人信息、诱使他人采取行动,或以未经授权的虚假借口进入封闭系统或群组。
网络出口
| 选项 | 适用场景 | 不适用场景 |
|---|---|---|
| 商业 VPN | 向普通网站隐藏你的 ASN 和大致位置;常见的默认选择 | 会屏蔽数据中心 IP 段的服务;会把“明显使用 VPN”本身视为信号的场景;需要信任服务提供商的场景 |
| 住宅 / 移动代理 | 伪装成普通消费者连接;访问会屏蔽数据中心 IP 的服务 | 成本、稳定性不一,以及严重的来源问题——见下文 |
| Tor | 防范网络观察者,实现强匿名;访问 onion 服务 | 人设账户(出口节点名单公开,因此要预期遭到拦截、CAPTCHA 和账户安全验证);需要会话稳定或地理位置可信的场景 |
| 自有 VPS | 控制权和稳定性 | 使用可追溯到账单身份的数据中心 IP,这往往比 VPN 更糟 |
Tor 是这里匿名性最强的工具,但大多数时候都不适合:出口地址可被公开枚举,因此受监控的目标会看到“有人使用 Tor 查看了此内容”——这比普通访问更引人注意——而且平台会将 Tor 登录视为高风险,从而触发会导致人设失效的验证。
住宅代理有一个特别需要警惕的问题:许多代理池由通过捆绑 SDK 加入的消费者设备组成,而这些设备的用户并未真正同意;你的流量会经由陌生人的家庭网络出口——这对你们双方而言都是道德问题,也可能涉及法律问题。要弄清楚服务提供商如何获取代理池,否则就不要使用。
无论选择什么,都要进行验证:检查出口地址及其 ASN,确认 DNS 查询经由隧道解析,并屏蔽 WebRTC,因为它会绕过隧道独立泄露地址。
环境与隔离
一个案例使用一个环境。每个案例使用专用 VM 是最稳妥的做法;至少也要使用专用浏览器配置文件。容器化标签页隔离能分开 Cookie,但无法隔离指纹——这只是便利措施,不是安全边界。无论采用哪种配置:绝不要登录个人账户;先创建干净快照,并在案例之间回滚;将笔记和下载内容保存在案例的加密存储中;绝不要在能够关联到真实身份的环境中打开目标的文档或 PDF。
隔离意味着用于案例 A 的人设绝不用于案例 B。两个会互相交流的目标——同一生态系统中的目标确实会这样做——可以通过信息重叠还原你的行动。电话号码、邮箱、代理和头像也一样。
绝不要登录任何属于目标的系统。 不是他们的门户,也不是他们的 Wi-Fi;不要使用在泄露数据中找到的凭据登录,也不要通过“忘记密码”流程确认某个账户是否存在。这就是开源研究与未经授权访问之间的界限,不会因为密码容易找到就改变。
问题出在哪里
- 已登录的失误。 同事发来一个链接,你用常用浏览器点击,目标就能看到你的姓名。这是最常见、远超其他情况的失误。对共享 URL 进行去敏处理,并让研究浏览器在视觉上明显区别于常用浏览器。
- 名不副实的隐私设置。 匿名浏览模式可以阻止目标看到你的姓名,但平台仍然掌握该信息,设置可能恢复默认状态,而且有些通知不受此设置保护。这些模式只能减少暴露,不能消除暴露。
- 联系人图谱推荐。 你从未访问过某人的个人资料,但对方被推荐给你,你也被推荐给对方,因为你的设备或身份使用过对方联系人图谱中的电话号码或地址。
- 调查中途遇到验证挑战。 账号使用时间较长且出口稳定可以减少验证挑战;但无法彻底避免。要做好账号会在最糟糕的时刻失效的准备。
- 自己输出内容中的元数据。 截图和报告带有你的用户名、主机名或内部路径,却被发给了客户。
- 自己的身份之间产生关联。 同一头像生成器、同一种简介模板、同样的三项兴趣,还在同一天下午、通过同一个出口 IP 创建。平台正是根据这些特征进行聚类。
- 误以为被动行为就意味着不可见。 在服务器日志中出现一次请求不算什么;但上百次请求形成的独特模式就是一种特征。而且扫描器和 API 客户端也有自己的 TLS 和请求头指纹,其中一些还会在服务器端记录你的查询——要清楚哪些信息会从哪里发出。
评估你的暴露程度
每次执行收集操作后,都要评估目标可能获知的信息。
- 无暴露 — 没有任何信息到达目标控制的基础设施:只有第三方存档、注册表和日志。
- 匿名接触 — 目标服务器记录了一次请求,其中除了由你控制的 IP 和常见指纹外,不包含任何身份信息。
- 假名接触 — 目标可以看到一个身份:访客记录、关注操作或通知。如果该身份干净且分隔管理,这种暴露仍可控。
- 身份已暴露 — 真实身份、雇主 ASN 或可关联的识别信息到达了目标。立即停止,记录暴露了什么以及何时发生,并告知案件负责人;隐瞒的暴露会变成让对方抢先发现的暴露。
暴露事件发生时就要记录,并添加时间戳。案件出问题后再重建记录只能靠猜测,而客户会问起这件事。
示例
目标:确认某供应商的具名董事是否活跃于某个行业论坛。调查对象是小企业主,技术水平不高,但该论坛属于小众社区,成员会留意新账号。
防护措施:商用 VPN、专用浏览器配置文件、来自稳定身份库的一个已有老账号——而不是新账号,因为论坛的成员列表会显示加入日期。
关键的死路:论坛直接封禁了 VPN 的 IP 段。与其升级工具,不如使用存档途径(read-deleted-pages);该途径找到了缓存的帖子页面,包含了所需的大部分信息,而且完全没有接触目标。评定为无暴露。
还有一个问题必须查看实时个人资料页面。该身份从家用网络而非 VPN 登录,在论坛的活跃时段查看个人资料后离开。论坛没有“谁查看过”功能,因此评定为匿名接触——但需注明管理员仍可查看访问日志。
没有做的事:查看同一个人在职业社交平台上的个人资料,因为该平台会发送通知。原本要通过此操作回答的问题,改为列入报告的缺口部分。让调查对象收到提示的代价,高于留下一个未解答的次要问题。
后续步骤
OPSEC 是前提,不会产出识别信息。运行 pattern-of-life-from-socials、hunt-a-handle、find-leaks-in-the-wild 之前,以及在 find-anyone 或 x-ray-a-company 中执行任何交互步骤之前,都要先做好 OPSEC。使用 find-the-original-image 检查头像,使用 secrets-in-file-metadata 清除上传文件中的敏感信息,优先使用 read-deleted-pages 而非实时访问,并记录暴露事件,以便 write-the-intel-brief 说明调查对象可能知道什么。
法律与服务条款说明
请明确说明:虚假账号违反大多数平台的服务条款。 几乎所有平台都要求提供准确信息,账号会被封禁,封禁还可能导致你失去收集到的内容。违反条款通常属于合同问题,而非犯罪,但违反条款与未经授权访问之间的界限因司法管辖区而异,相关问题也曾在诉讼中得到不同判决。请与法律顾问确认你的授权是否涵盖此事,并做好记录。
冒充真实且可识别的人比冒充虚构身份严重得多——一些司法管辖区专门将网络冒充行为定为犯罪(加州刑法典 § 528.5 就是一例),而且还可能使你面临诽谤和民事索赔。冒充执法人员、政府官员或律师在许多地方本身就是刑事犯罪,美国联邦法律也有相关规定,任何调查授权都不涵盖此类行为。
另外,在用于收集有关在世人士的信息时,根据 GDPR 式制度,使用虚构身份属于个人数据处理;虚构身份的行为也归责于你的组织。请参阅 ../../ETHICS.md。如果你无法以书面形式说明使用该虚构身份的正当理由,就不要创建。