Social Analyzer:5 分钟搭建你的跨平台用户画像 OSINT 引擎 Social Analyzer5 分钟搭建你的跨平台用户画像 OSINT 引擎【免费下载链接】social-analyzerAPI, CLI, and Web App for analyzing and finding a persons profile in 1000 social media \ websites项目地址: https://gitcode.com/GitHub_Trending/so/social-analyzer跨平台排查时最头疼的往往是同一个人在不同网站用着完全不同的 ID线索散落一地你无从下手。开源情报OSINT从公开信息还原目标画像工具 Social Analyzer 就是为这类跨平台数据聚合问题设计的——输入一个用户名它能在 1000 网站上搜索对应账号并做跨平台账号关联分析最终拼出一张完整的用户身份图谱。快速上手从一条命令到可见结果 最快跑通的路径是 Docker。克隆仓库后一条命令启动git clone https://gitcode.com/GitHub_Trending/so/social-analyzer cd social-analyzer docker-compose up -d启动后打开http://localhost:9005/app.html就是完整的 Web 界面输入用户名、限定网站范围点一下即可看到各平台的探测进度和结果。如果你更习惯命令行在仓库目录里跑这条最简命令几分钟后终端会按置信度从高到低列出命中的账号链接nodejs app.js --username johndoe --top 50 # 只探测流量前 50 名的网站跑通了之后你可能会好奇它凭什么能跨平台对上号原理速览数据是怎么对上号的整条链路可以概括为探测 → 提取 → 打分 → 可视化四步。系统内置一张覆盖 1000 网站的探测规则表每个条目就是一个带{username}占位符的 URL 模板外加一组出现什么文本说明账号存在/不存在的判定规则。你输入用户名后系统把它填进每个模板逐个访问快速模式直接抓 HTML 源码深度模式则用无头浏览器渲染页面并截图。每页内容都送进检测引擎打分再由提取模块从 Open Graph 等标签里捞出标题、描述等元数据最后可视化模块把账号、链接、元数据串成一张力导向图谱在 public/graph.html 里交互浏览。理解了这个数据流再看下面的核心能力就不会迷路。核心能力拆解 两种扫描模式怎么选fast 和 slow 不是精度高低的关系而是广撒网和精确认的分工对比项fast 快速模式slow 深度模式实现方式直接请求网页源码Selenium 无头浏览器渲染并发策略15 个站点同时查失败自动重试8 个站点同时查判定依据源码文本匹配文本匹配 渲染后页面 OCR 截图识别适合场景第一轮大范围筛选重点平台二次确认、留存截图实际用法通常是先用 fast 扫完一批网站拿到候选名单再挑出可疑的几个用 slow 复查——深度模式下每个命中站点都会附带截图在取证场景里很实用。0-100 的置信度评分怎么算Social Analyzer 没有用HTTP 200 就算存在这种粗暴判断因为很多网站对不存在的用户也返回 200。它的做法是给每个网站配置一组检测规则比如 500px 那条规则写着页面出现This page is no longer available说明账号不存在。检测引擎 modules/engine.js 逐条核对把命中数量和方向存在/不存在汇总成 0-100 的分数分数越高越可能是真实账号结果同时打上 good / maybe / bad 标签你可以用--filter good只留高置信度的。这样做的直接好处是误报更少你不必把几十条结果逐条点开核实。关联图谱里能看出什么打开图谱页面你会看到以用户名为中心节点的力导向图每条已确认的账号链接是一个节点提取到的元数据页面标题、og 标签里的内容是挂在旁边的附属节点。更有用的是多账号关联——输入johndoe,janedoe这种逗号分隔的组合系统会分别探测并归到同一张图上谁和谁共享了元数据同一邮箱、同一描述文案一眼就能看出来这正是用户身份图谱构建的直观形态。案例走一遍排查一组可疑的电商账号假设你在处理一起刷单纠纷卖家投诉buyer007、buyer_007、buyer007123是同一人开的恶意买家账号。输入一次查询多个账号同时开启元数据提取nodejs app.js --username buyer007,buyer_007,buyer007123 --metadata --output json中间过程任务依次对每个用户名跑探测日志实时显示正在检查哪些站点命中的账号会带上 0-100 的分数和 good/maybe/bad 标签。这一步重点看两样东西——三个用户名的结果里有没有相同域名或相似命名模式以及元数据里有没有重复出现的邮箱或描述文案。最终产出一份 JSON 报告链接、分数、标题、语言、元数据都在里面配合图谱页面把三个账号的关系可视化。如果三个账号在同一个小众社区平台命中、且元数据里出现相同邮箱基本可以确认是同一人——排查从逐个站点手动搜变成了看一份报告。案例跑完你大概会想这套东西想按自己的需求改改该动哪里部署与二次开发想改哪里改哪里除了 Docker最轻量的运行方式是 Python 包pip3 install social-analyzer python3 -m social-analyzer --username johndoe二次开发时三个最常动的地方都有明确落点覆盖新平台规则写在 data/sites.json每条就是一个 URL 模板 判定规则 国家/分类/排名信息照格式追加即可。调整打分与误报策略核心逻辑在 modules/engine.js判定档位命中几条规则才算 good定义在 modules/helper.js 的detection_level中。扩展元数据提取在 modules/extraction.js 里加提取规则姓名分析对应的词库是 data/names.json用词统计词库是 data/dict.json。模块化设计的好处是这些改动互不干扰核心流程。写在最后它擅长什么还在演进什么Social Analyzer 目前的长板是宽1000 网站的探测覆盖面加上评分机制压低的误报让它很适合做第一轮的跨平台账号关联分析。短板同样明确——探测效果高度依赖规则库的新鲜度遇到有验证码或 Cloudflare 拦截的站点会漏报所以项目每次启动都会提醒你保持检测规则为最新。把它当作 OSINT 工具箱里的聚合入口比当作唯一依据更合适。【免费下载链接】social-analyzerAPI, CLI, and Web App for analyzing and finding a persons profile in 1000 social media \ websites项目地址: https://gitcode.com/GitHub_Trending/so/social-analyzer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考