ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Aliens Eye的--correlate如何识别跨平台同一人?从头像哈希到聚类原理的完整指南

Aliens Eye的--correlate如何识别跨平台同一人?从头像哈希到聚类原理的完整指南 Aliens Eye的--correlate如何识别跨平台同一人从头像哈希到聚类原理的完整指南【免费下载链接】Aliens_eyeHunt down 840 social media accounts using AI项目地址: https://gitcode.com/gh_mirrors/al/Aliens_eye使用 Aliens Eye 的--correlate参数可以在扫描 840 社交平台后自动把分属不同站点的账号聚类成疑似同一人。这个 OSINT 账号嗅探工具通过头像感知哈希、简介链接、提及和昵称相似度四类信号配合并查集聚类算法完成跨平台同一人识别。本文将完整拆解它的聚类原理帮你理解每一类信号是如何工作的。一句话理解 --correlate 在做什么跑一次普通扫描你会得到每个站点的结果Found确认存在、Maybe疑似存在、NotFound不存在。但账号散落在几十上百个站点里它们到底是不是同一个人--correlate就是回答这个问题的。它的输入是扫描报告输出是一组clusters聚类每个聚类里包含多个站点的 profile外加一组连接理由比如avatar、shared-link、name。命令行会在终端打印一张表格列出每个聚类覆盖的站点和连接它们的信号报告导出器也会把聚类写进 JSON、PDF 以及 GEXF/Mermaid 等图格式里。aliens_eye username --correlate相关实现集中在 src/aliens_eye/core/correlate.pyCLI 入口在 src/aliens_eye/cli.py 的--correlate参数定义处。第一类信号头像感知哈希dhash这是最强也最直观的信号如果两个站点的头像其实是同一张图大概率是同一人。原理分三步下载头像扫描时已经从各站点页面提取出头像 URL来自 OpenGraph、JSON-LD 或站点专属 CSS 选择器--correlate会并发下载这些图片单个文件上限 2MB计算感知哈希把图片转成灰度、缩放到 9×8 像素再逐像素比较左边是否比右边亮得到一个 64 位的dhash值。它不关心颜色细节只关心明暗结构所以对压缩、轻微裁剪都不敏感汉明距离判定两个哈希按位异或后数1的个数。差异不超过8 位就判定为同一张图见AVATAR_MAX_HAMMING 8。几个值得注意的细节头像哈希是可选增强没装 Pillow 或图片下载失败时聚类仍然基于姓名/简介/链接信号运行想启用头像匹配需要pip install aliens-eye[correlate]SSRF 防护头像 URL 来自被抓取的页面攻击者可把它指向内网、回环地址甚至file://。因此工具会先解析域名只有所有解析结果都是公网地址才允许下载is_fetchable_avatar/avatar_url_allowed扫描自己的局域网可用allow_private_avatars显式放开。第二、三类信号简介里的链接与 提及简介bio是同一人跨平台时最常复制粘贴的内容Aliens Eye 从中提取两类强信号共享外部链接shared-link用正则从简介中提取所有 URL两个 profile 只要共用任意一条链接就直接建立连接。个人博客、GitHub 主页这类链接基本等同于个人标识handle 提及handle简介里xxx形式的提及同样有识别价值。但这里有个关键过滤——被搜索的那个 handle 本身不算信号。因为整场扫描都在用同一个用户名搜索很多站点页面会原样回显它如果不排除一个页面就能把全场几百个账号串成一个大簇。代码里只认两种情况两个简介共同提到了某个第三方handle或者两个不同 handle 的扫描结果互相提及。第四类信号昵称与简介文本相似度文本类信号相对宽松作为补充昵称相同name归一化小写、去符号、压空格后完全相等、长度大于 3 个字符才建立连接。同时排除两类噪声——名称本身就是站点品牌名如页面标题只写了 Flickr以及在一次扫描中出现频率过高、明显是模板化文案的大众名超过约 2% 的 profile 共用就视为不可识别简介相似bio把简介切词只保留长度大于 2 的 token计算Jaccard 相似度交集/并集达到 0.5 以上才连接。这四类信号在_pair_reason中按优先级依次判断命中任意一条就记下对应的连接理由。聚类算法并查集把碎片拼成整体单对比较解决不了A 像 B、B 像 C所以 A、B、C 是一伙的传递性问题。Aliens Eye 使用**并查集Union-Find**完成全局聚类对每对 profile 计算_pair_reason命中就执行一次 union并记录这条边的理由遍历结束后同一个根的 member 归为一个聚类只保留跨站点且成员 ≥ 2的聚类按规模降序输出。也就是说哪怕 A 和 C 之间没有任何直接共同点只要 A 头像B、B 简介C三者也会被归进同一个likely same person簇。这个算法在 src/aliens_eye/core/correlate.py 的cluster_profiles函数中实现行为用例可参考 tests/test_new_features.py。另外还有一个防污染设计profiles_from_report只把Found状态、且带有结构化提取姓名的 profile 纳入聚类——Maybe 区间多为 403/404 机器人墙其模板化文案会严重污染结果。快速上手从克隆到跑出聚类git clone https://gitcode.com/gh_mirrors/al/Aliens_eye cd Aliens_eye pip install aliens-eye[correlate] # 安装 Pillow启用头像匹配 aliens_eye 你的用户名 --correlate --domains想要图格式输出可视化聚类关系再加--format gexf,mermaid,maltego导出器会把 Found/Maybe 账号与聚类边一并写入图文件见 src/aliens_eye/core/exporter.py。如果你在用 Python 写脚本稳定 API 同样暴露了该能力from aliens_eye import api report await api.scan(someone) correlation await api.correlate(report) print(len(correlation[clusters]), clusters)定义见 src/aliens_eye/api.pyMCP 服务aliens_eye serve也把correlate作为工具暴露给 LLM agent源码在 src/aliens_eye/mcp_server.py。小结信号原理判定标准强度avatardhash 感知哈希汉明距离 ≤ 8 位⭐⭐⭐ 最强shared-link简介外部链接交集共用任意 1 条⭐⭐⭐handle简介 提及交叉第三方互提 / 跨 handle 互提⭐⭐name归一化昵称相等排除品牌名与高频名⭐⭐bio简介 token Jaccard≥ 0.5⭐ 最弱从头像哈希到并查集聚类--correlate的设计思路可以概括为强信号直接连边、弱信号谨慎兜底、已知噪声提前过滤。理解了这套机制你就能看懂每个聚类输出中的reasons字段并对结果的可信度做出自己的判断。【免费下载链接】Aliens_eyeHunt down 840 social media accounts using AI项目地址: https://gitcode.com/gh_mirrors/al/Aliens_eye创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表