mcpField
P
pattern-of-life-from-socials

pattern-of-life-from-socials

github.com/useosint生产力571.8k 次安装12 周前更新
代码仓库

关于 pattern-of-life-from-socials

用于在明确授权和范围内分析社交账号公开内容的调查工作流,面向尽职调查等研究场景。它结合账号元数据、社交网络、媒体内容与发帖时间,并要求引用证据、评定结论可信度。

主要功能

  1. 01先界定授权目标与停止条件
  2. 02分析账号标识与历史资料
  3. 03构建社交关系网络
  4. 04检查媒体线索与时间规律
  5. 05引用来源并分级报告

适用场景

  1. 01核实供应商人员的公开资料
  2. 02分析账号关联与社交圈层
  3. 03整理发帖时间及地点线索

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/useosint/skills --skill pattern-of-life-from-socials

安装后在 Claude Code 中输入/pattern-of-life-from-socials确认已加载。

附带文件reference/analytic-checklist.mdreference/platform-disclosure.md

详细介绍

社交媒体中的生活模式

生活模式分析会将零散的公开帖子转化为某人何时、身处何地以及与谁在一起的模型。这是本仓库中最容易被滥用的技术:同一种方法既能生成尽职调查报告,也能编制跟踪他人的档案。区别在于是否获得授权以及范围,而非手段。初学者常犯的错误是收集帖子,而非分析帖子——信息流截图不等于情报。分四个层面开展工作:账户元数据、人际网络、内容和时间行为。第一层和最后一层最容易被忽略,而这两层也是目标对象无法自行策划的内容。

第 1 步 — 确定授权范围

阅读 ../../ETHICS.md,然后在打开任何个人资料之前写下:

  • 目标对象 — 相关账户,以及你认为这些账户背后的现实实体。
  • 目标 — 调查结束时需要回答的问题。“生活模式”不是一个问题。“这家供应商的欧盟负责人是否真的住在欧盟”才是。
  • 范围内/范围外 — 明确列出。未成年人、无关家人、家庭住址、健康、宗教、性取向和移民身份均属于范围外,除非目标确实需要涉及这些内容,且你能够为此辩护。
  • 行动方式 — 仅观察,还是经授权的互动。关注、点赞、发消息和查看动态都属于互动。
  • 司法管辖区 — 你所在之处、目标对象所在之处,以及平台所在之处。
  • 停止条件 — 目标得到解答时、调查线索指向无关第三方时,或剩下的唯一问题是“他们睡在哪里”时,立即停止。

完成标准: 六项内容均已记录在案件档案中。

第 2 步 — 选择查看身份,然后留存证据

未登录时泄露的信息较少,能看到的内容也较少;登录后能看到更多,泄露的信息也更多。各平台可能会向目标对象报告动态浏览和个人资料访问记录,推荐系统也会推送彼此访问过对方账户的用户——因此,仅仅浏览也可能让你的研究账户出现在目标对象的推荐中。使用 investigate-without-getting-made 权衡利弊;切勿使用个人账户或雇主账户浏览目标对象。

接着,在分析之前先行留存。账户可能在调查过程中被锁定或清理,原因往往是有人察觉到了调查。通过 read-deleted-pages 归档个人资料和你可能引用的每一条帖子,并提取较早的快照——其中通常会显示先前的简介、链接或用户名。在本地保存媒体文件。

完成标准: 已记录所用的查看身份,且所有计划引用的内容均已保存为归档 URL 或带有采集时间戳的本地文件。

第 3 步 — 第一层:账户元数据

着手查找目标对象从未选择的信息。各平台的完整行为说明见平台信息披露矩阵。

  • 创建日期。 有些平台会直接显示,另一些则可以推算。雪花风格的 64 位 ID 会在高位编码毫秒级时间戳,该时间戳以平台专属纪元为基准——ID 本身就是注册时间。普通的递增 ID 可显示注册顺序,因此你可以通过已知注册年限的账户来界定日期范围。
  • 数字 ID。 它不会因用户名更改而改变,因此,稳定的标识符是它,而不是用户名。请记录下来。
  • 用户名历史。 平台很少会提供此功能,但通常可以通过旧提及、入站链接、归档快照和未继续维护的跨平台转发找回。已释放的用户名可能被陌生人重新注册,因此旧链接无法证明当前控制权。
  • 认证状态和关联账户。 认证标记是付费获得还是经过身份核验,会影响其价值。关联网站和商业账户的联系信息字段可能会暴露个人资料中不会显示的电子邮件地址和电话号码。

完成标准: 已记录 ID、创建日期、用户名历史以及每个关联标识符,并注明来源。

步骤 4 — 第二层:社交网络

如果当事人的亲属给他们加标签,当事人的 OPSEC 几乎就毫无意义。

  • 早期关注者。 最早关注个人账号的账户,绝大多数是家人、学校朋友和同事——账号还没有多少影响力时,就已通过口口相传传播开来。如果关注者的顺序可以观察到,那么最早关注的那批人就是页面上价值最高的群体。
  • 互相关注集群。 双向关联能映射现实世界中的社群:雇主、同学群体、家乡、俱乐部。集群本身就是发现;单条关联不是。
  • 标签方向。 当事人给谁加标签是经过筛选的;谁给当事人加标签则不是。一个毫无戒心的表亲给当事人加的入站标签,往往会暴露生日、住宅、汽车和工作地点,而这些信息都是谨慎保护的当事人刻意隐瞒的。
  • 回复延迟。 能够稳定地在几分钟内评论的账号,才是核心圈子成员,不论其关注者数量多少。

把这些信息构建在 graph-the-network 中,而不是整理成列表。

完成标准: 找出并评估核心圈子、一个现实世界中的集群,以及那些会泄露当事人信息的第三方。

步骤 5 — 第三层:内容

不要只看每张照片的主体,还要留意无意中暴露的内容:窗户、镜子、眼镜和暗屏中的倒影;入镜的笔记本电脑和手机屏幕;登机牌、包裹标签和活动胸牌等文件;车辆、车牌、经销商牌框和停车许可证。反复出现的背景能让房间从“某个地方”变成“家”或“工作地点”——统计出现次数并记录日期跨度。

对下载的所有内容运行 secrets-in-file-metadata:各平台是否会剥除 EXIF 信息各不相同,同一平台也可能会剥除内嵌图片中的信息,却保留文件附件或原画质下载中的信息。

使用 geolocate-from-pixels 完成地理定位。对于看起来过于巧合的信息,使用 is-this-photo-real 进行合理性核查。

完成标准: 记录每件包含位置信息的内容,并注明帖子 URL、日期和地理定位工作的链接。

步骤 6 — 第四层:时间行为

将每条帖子的时间戳提取到表格中,并绘制每日时段和每周日期分布图。提取字段见分析清单。

连续约七到九小时的间隔就是睡眠时段;其所在时间可以推断 UTC 偏移量——足以区分大洲,但不足以区分相邻地区。工作日营业时间内的发帖量下降,可能说明当事人受工作限制而无法使用设备;反之,则可能意味着轮班工作或工作内容本就需要上网。突然出现持续数日的时间偏移,则说明当事人正在旅行。

以下情况会破坏分析:定时工具不论用户身处何地,都会在固定的当地时间发布,因此定时账号反映的是调度工具的时区;平台可能会按查看者的当地时间显示时间戳;编辑操作可能会带上编辑时间;跨平台发布工具或共享团队账号会将多个人的行为混杂在同一张直方图中。在从规律中得出任何结论前,先确认帖子是手动发布的。

完成标准: 两种分布图均已生成,注明样本时间范围,并明确给出推断出的 UTC 偏移量及其置信度。

步骤 7 — 汇总并报告

依据证据关联账号:相同的头像文件、相同的简介链接目标、关注者集合重合,以及分布图走势一致。仅凭写作风格只能作为线索,不能作为关联依据。然后运行 write-the-intel-brief。每条结论都须引用帖子或存档 URL 和日期;每项时间相关结论都须注明样本时间范围和样本量。

完成标准: 所有结论均有引用,所有推断均有等级评估。

可能出错的地方

  • 样本偏差。 你看到的是一个人生活中自行发布的部分内容。沉默只表示“没有发布”,绝不代表“当时不在那里”。
  • 事后发布。 帖子日期只能说明事件发生时间不晚于该日期。照片可能数月后才发布、被转发,或者完全来自他人。
  • 账号不等于本人。 账号名可能被出售、继承、盗用或重新启用;长期的发布记录可能已经易主。伴侣、助理和代理机构可能会代主体发帖——如果一个直方图中出现两种行为特征,通常意味着有两个人。
  • 经过精心包装的自述。 地点、职位和感情状态都是营销文案,常见姓名加上相符的城市只是巧合的温床,并不能证明身份相符。
  • 显示差异。 时间戳、关注者排序和共同关注标记会随登录状态而变化,而且往往只是近似值(如“2h”“上周”),并非精确时间。
  • 观察会改变被观察者。 如果有人在案件进行期间锁定账号,可能是被你提醒了。

对发现的可信度评级

  • 已确认 — 有权威记录,或主体本人明确说明;或者两种不同类型的独立材料相互印证(例如,来自另一个账号的入站标记,加上带地理位置信息的背景)。两者都已归档。
  • 较可能 — 有多个一致的同类型信号,或一个强信号且没有相反证据:重复出现的背景,加上与居住于该处相符的时间模式。
  • 未确认 — 来源单一、由本人自述、基于风格判断,或样本过小。基于几十条或更少帖子推断的时区,一律未确认。

凡是依赖于你无法用一句话说明的假设,都应降低可信度评级。

示例

目标:确认供应商所称的“欧盟运营负责人”身在欧洲,符合合同要求。

个人简介写着里斯本。数字 ID 解码后显示注册时间比公司成立早了很多年——因此,个人简介不能说明此人目前的情况。四个月的时间戳集中在 UTC 时间 14:00–05:00,06:00–13:00 期间则没有活动:这表明睡眠时段大致以 UTC 时间 09:00 为中心,与里斯本不符,但与美洲相符。线索中断:没有任何地理标记,平台也从每个下载文件中移除了 EXIF。

社交网络层面提供了突破口。早期关注者集中在美国某州的一所大学附近,一位亲属在一个日期标记主体出现在当地一家有名的餐馆;而主体曾公开声称该日期身在葡萄牙。该日期前后都出现了相同的厨房背景。评级为较可能——没有权威记录能确定主体身在何处,而且直方图无法区分相邻国家。报告中注明了样本时间范围。

后续线索

你现在掌握的信息转到
账号名及其变体hunt-a-handle
头像、横幅、已发布的照片find-the-original-image、is-this-photo-real
需要确定地点或时间的照片geolocate-from-pixels
已下载的媒体文件secrets-in-file-metadata
暴露的电子邮箱/电话号码what-an-email-reveals、whose-number-is-this、what-leaked-about-you
已交叉验证的姓名find-anyone
雇主、品牌主页、个人简介链接中的域名x-ray-a-company、recon-a-domain-passively
关注者和共同关注关系graph-the-network
已删除或编辑的帖子read-deleted-pages
帖子中的飞机或船只track-planes-and-ships
钱包地址或 ENS 名称follow-the-crypto

法律与服务条款

自动收集个人资料和关注者数据违反了几乎所有主流平台的服务条款,在一些司法管辖区还曾被作为计算机滥用问题提起诉讼;而手动查看公开内容通常不会。创建账号以查看某个对象,至少会带来服务条款问题;如果你通过虚报身份获取访问权限,还会构成欺诈问题。

根据 GDPR 及类似法规,“公开可获取”本身并不是合法依据,而分析某人的位置和日常规律属于高风险处理。政治观点、健康状况、宗教信仰、性取向和工会成员身份属于特殊类别——如果这些信息意外出现且不在范围内,就不要记录。还有最重要的一点:持续监控个人的位置和日常规律,在许多司法管辖区符合跟踪骚扰的法定定义;信息来源公开并不能构成抗辩。获得授权、明确的书面目标和停止条件,才是确保这项工作合法的关键。

评论

支持 Markdown