一键导入
email-osint
邮箱情报调查与关联分析。当用户要求"邮箱调查"、"邮箱搜索"、"查邮箱"、"邮箱关联"、"社交账号发现"、"用户名搜索"、"数字足迹"、"OSINT调查"、"人肉搜索"时使用此技能。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
邮箱情报调查与关联分析。当用户要求"邮箱调查"、"邮箱搜索"、"查邮箱"、"邮箱关联"、"社交账号发现"、"用户名搜索"、"数字足迹"、"OSINT调查"、"人肉搜索"时使用此技能。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
提示注入攻击检测与防御。当用户要求"检测提示注入"、"Prompt Injection"、"LLM安全"、"AI安全测试"、"越狱检测"、"Jailbreak检测"、"间接注入检测"时使用此技能。
0day漏洞审查。零日漏洞研究和利用可行性评估。当用户要求"0day分析"、"漏洞利用评估"、"Exploit开发"、"PoC分析"、"漏洞武器化"时使用此技能。仅限授权安全研究使用。
漏洞猎人扫描。自动化漏洞扫描和利用验证。当用户要求"漏洞扫描"、"Nuclei扫描"、"批量漏洞检测"、"Web漏洞扫描"、"PoC扫描"时使用此技能。仅限授权渗透测试使用。
社工钓鱼作战。社会工程学攻击策划和钓鱼内容构造。当用户要求"钓鱼攻击"、"社工攻击"、"钓鱼邮件"、"BEC攻击"、"钓鱼页面"、"社会工程"时使用此技能。仅限授权红队测试使用。
企业级目标情报收集。对目标企业进行资产发现、技术栈识别和攻击面测绘。当用户要求"企业资产发现"、"攻击面测绘"、"目标侦察"、"企业情报收集"、"外部资产发现"时使用此技能。
国家级目标情报收集。针对APT组织和国家级威胁行为者的情报分析。当用户要求"APT分析"、"国家级威胁"、"APT情报"、"国家黑客组织"、"地缘政治网络威胁"时使用此技能。
| name | email-osint |
| description | 邮箱情报调查与关联分析。当用户要求"邮箱调查"、"邮箱搜索"、"查邮箱"、"邮箱关联"、"社交账号发现"、"用户名搜索"、"数字足迹"、"OSINT调查"、"人肉搜索"时使用此技能。 |
| metadata | {"version":"1.2.0","builtin":true} |
基于邮箱地址进行多维度情报收集,发现关联账号、用户画像和数字足迹。
Python 环境: Python 3.8+
内置工具 (已打包到 tools/ 目录):
| 工具 | 用途 | 位置 |
|---|---|---|
| holehe | 邮箱注册检测 (120+ 站点) | tools/holehe/ |
| blackbird | 用户名/邮箱搜索 (600+ 站点) | tools/blackbird/ |
安装依赖:
# 一键安装所有依赖
bash scripts/setup_tools.sh
# 或手动安装
pip3 install -r requirements.txt
可选依赖:
pip3 install 'httpx[socks]' # 代理支持
环境检测:
python3 scripts/check_env.py
输入: target@example.com
│
├─► Phase 1: 邮箱服务商分析
│
├─► Phase 2: 平台注册检测 (holehe)
│
├─► Phase 3: 用户名提取与变体生成 + 风险评估
│
├─► Phase 4: 用户名搜索 (blackbird)
│
├─► Phase 4.5: 账号归属验证 ⭐ 关键步骤
│
├─► Phase 5: 深度信息收集
│
└─► Phase 6: 用户画像生成 (三层分离报告)
报告三层分离:
禁止: 无证据的推测性结论
username@domain.com
│ │
│ └── 域名分析
└── 用户名提取
| 服务商 | 域名 | 特点 | 可提取信息 |
|---|---|---|---|
| QQ 邮箱 | qq.com | 用户名=QQ号 | QQ空间、QQ头像 |
| 163 邮箱 | 163.com | 中国用户 | 网易系产品 |
| Gmail | gmail.com | 国际化 | Google 生态 |
| ProtonMail | proton.me, protonmail.com | 隐私意识高 | 加密邮箱 |
| Outlook | outlook.com, hotmail.com | 微软生态 | Office365 |
| 企业邮箱 | 自定义域名 | 可关联域名分析 | 公司信息 |
# QQ 号提取
echo "710526925@qq.com" | grep -oP '^\d+'
# 输出: 710526925
# QQ 头像
https://q1.qlogo.cn/g?b=qq&nk={QQ号}&s=640
# QQ 空间
https://user.qzone.qq.com/{QQ号}
| 位数 | 注册年份 | 稀有度 |
|---|---|---|
| 5 位 | 1999-2000 | 极稀有 |
| 6 位 | 2000-2003 | 稀有 |
| 7 位 | 2003-2006 | 较早 |
| 8 位 | 2006-2008 | 普通 |
| 9 位 | 2008-2012 | 普通 |
| 10 位 | 2012+ | 新用户 |
# 使用内置 holehe (推荐)
python3 scripts/holehe_run.py target@example.com
| 符号 | 含义 |
|---|---|
[+] | ✅ 已注册 |
[-] | ❌ 未注册 |
[x] | ⚠️ 被限流,无法确定 |
| 平台 | 信息价值 |
|---|---|
| Gravatar | 头像、昵称、简介 |
| GitHub | 技术背景、项目、邮箱 |
| 社交关系、发言 | |
| 职业信息 | |
| Discord | 社群参与 |
| ProtonMail | 隐私意识指标 |
某些平台会返回额外信息:
email = "john.doe123@gmail.com"
username = email.split('@')[0] # john.doe123
执行 blackbird 前必须评估用户名长度风险:
| 长度 | 风险等级 | 重名概率 | 处理策略 |
|---|---|---|---|
| 1-3 字符 | 🔴 极高 | >95% | blackbird 结果仅供参考,必须逐一验证归属 |
| 4-5 字符 | 🟠 高 | ~70% | 优先验证有元数据的账号 |
| 6-8 字符 | 🟡 中 | ~30% | 交叉验证高价值平台 |
| ≥9 字符 | 🟢 低 | <10% | 可采信大部分结果 |
短用户名处理规则:
| 原始 | 变体 | 规则 |
|---|---|---|
john.doe123 | johndoe123 | 移除点 |
john.doe123 | john_doe123 | 点→下划线 |
john.doe123 | john-doe123 | 点→连字符 |
john.doe123 | johndoe | 移除数字 |
j1ufan9 | jiufan9 | Leet speak 还原 |
| Leet | 原字符 |
|---|---|
| 0 | o |
| 1 | i, l |
| 3 | e |
| 4 | a |
| 5 | s |
| 7 | t |
| 8 | b |
| 9 | g |
# 使用内置 blackbird (推荐)
# 单个用户名
python3 scripts/blackbird_run.py -u johndoe --json --no-update
# 多个用户名
python3 scripts/blackbird_run.py -u johndoe john_doe johndoe123 --json --no-update
# 邮箱搜索 (站点较少)
python3 scripts/blackbird_run.py -e target@example.com --json --no-update
tools/blackbird/results/{username}_{date}_blackbird/
└── {username}_{date}_blackbird.json
Blackbird 可自动提取某些平台的元数据:
| 平台 | 可提取信息 |
|---|---|
| Duolingo | 昵称、学习语言、头像 |
| GitHub | 仓库、粉丝、简介 |
| StreamElements | 昵称 |
目的: 判断 blackbird 发现的账号是否属于目标人物
用户名长度评估
│
├── ≤5 字符 → 🔴 必须验证
│
├── 6-8 字符 → 🟡 建议验证高价值账号
│
└── ≥9 字符 → 🟢 可选验证
| 方法 | 操作 | 置信度提升 |
|---|---|---|
| 邮箱匹配 | GitHub 提交邮箱 = 目标邮箱 | ✅ 高 (可确认) |
| Gravatar 匹配 | 目标邮箱 MD5 查询有结果 | ✅ 高 (可确认) |
| 交叉链接 | 账号简介互相指向 | ✅ 高 |
| 元数据一致 | 昵称、头像、地理位置一致 | ⚠️ 中 |
| 行业相关 | 账号内容与目标行业匹配 | ⚠️ 中 |
| 仅用户名匹配 | 无其他证据 | ❌ 低 (待验证) |
# 检查提交邮箱
curl -s "https://api.github.com/users/{username}/events/public" | \
grep -o '"email":"[^"]*"' | sort -u
# 如果提交邮箱 = 目标邮箱 → 确认归属
# 通过目标邮箱 MD5 查询
EMAIL_HASH=$(echo -n "target@example.com" | md5sum | cut -d' ' -f1)
curl -s "https://gravatar.com/${EMAIL_HASH}.json"
# 有结果 → 确认目标使用 Gravatar,可获取昵称/头像
将 blackbird 结果分为三类:
| 分类 | 标准 | 报告归属 |
|---|---|---|
| ✅ 已验证 | 邮箱匹配/交叉链接 | 确认事实 |
| ⚠️ 高可能 | 多维度元数据一致 | 有据推断 |
| ❓ 待验证 | 仅用户名匹配 | 待验证线索 |
### 账号验证记录
| 平台 | 用户名 | 验证方法 | 结果 | 置信度 |
|------|--------|----------|------|--------|
| GitHub | rko | 提交邮箱检查 | 邮箱不匹配 | ❌ 排除 |
| 247CTF | rko | 无验证手段 | - | ❓ 待验证 |
| Duolingo | rko | 元数据 | 名字 Remo,无关联 | ❓ 待验证 |
# 用户信息
curl https://api.github.com/users/{username}
# 仓库列表
curl https://api.github.com/users/{username}/repos?sort=updated
# 关注点
- 创建时间
- 公开仓库数
- 个人博客
- Fork 的安全工具
# 通过邮箱 MD5 查询
EMAIL_HASH=$(echo -n "target@example.com" | md5sum | cut -d' ' -f1)
curl "https://gravatar.com/${EMAIL_HASH}.json"
| 平台 | 深入方法 |
|---|---|
| 查看发推历史、关注列表 | |
| GitHub | 分析仓库、提交邮箱 |
| 知乎 | 查看回答、关注话题 |
| 职业履历、教育背景 |
第一层: 确认事实 (直接来自数据源)
| 事实 | 数据来源 | 原始数据 |
|------|----------|----------|
| 邮箱使用 Microsoft 365 | holehe [+] | office365.com |
| 域名属于 XX 公司 | ICP 备案 | 京ICP备XXXX号 |
第二层: 有据推断 (必须有证据链)
| 推断 | 证据链 | 置信度 |
|------|--------|--------|
| 目标是安全从业者 | 1. 公司官网写明从事安全<br>2. 产品是安全检测 | ✅ 高 |
| 目标有技术背景 | 1. 公司技术团队占比70%<br>2. 企业邮箱非职能角色 | ⚠️ 中 |
第三层: 待验证线索 (无法确认归属)
| 线索 | 问题 | 验证建议 |
|------|------|----------|
| 247CTF 存在同名账号 | 用户名仅3字符 | 检查个人主页 |
| Duolingo 显示名 Remo | 无关联证据 | 需其他验证 |
每条推断必须包含:
**推断**: [具体结论]
**证据链**:
1. [来源1]: [具体内容]
2. [来源2]: [具体内容]
**反证/风险**: [可能的反面证据]
**置信度**: ✅高 / ⚠️中 / ❓低
---
置信度标准:
- ✅ 高: ≥2个独立数据源交叉验证
- ⚠️ 中: 1个可靠来源 + 合理推断
- ❓ 低: 仅用户名匹配或单一弱证据
| 维度 | 数据来源 | 证据要求 |
|---|---|---|
| 地域 | 邮箱服务商、ICP、语言 | 中 |
| 组织 | 域名备案、官网 | 高 (直接来源) |
| 职业 | LinkedIn、公司介绍 | 中-高 |
| 技术能力 | GitHub (需验证归属) | 需验证 |
| 隐私意识 | 邮箱类型、账号暴露 | 低 |
| ❌ 错误示例 | 问题 | ✅ 正确做法 |
|---|---|---|
| "可能是创始人" | 无证据 | 标注为"待验证"或不写 |
| "技术能力高 (CTF)" | CTF 账号未验证归属 | 移至"待验证线索" |
| "活跃于安全社区" | 仅基于用户名匹配 | 需验证后才能结论 |
| 指标 | 低隐私 | 高隐私 |
|---|---|---|
| 邮箱 | QQ/163 | ProtonMail |
| 平台数 | 多 | 少 |
| 信息完整度 | 高 | 低 |
| 安全工具 | 无 | 有 |
| 指标 | 说明 | 证据要求 |
|---|---|---|
| 🔴 高风险 | Fork 红队工具、活跃 CTF | 必须验证账号归属 |
| 🟡 中风险 | 技术背景、安全相关 | 需有据推断 |
| 🟢 低风险 | 普通用户 | 可基于整体判断 |
# 一键调查脚本 (在 skill 目录下执行)
EMAIL="target@example.com"
USERNAME=$(echo $EMAIL | cut -d'@' -f1)
# Step 1: holehe 邮箱注册检测
python3 scripts/holehe_run.py $EMAIL
# Step 2: blackbird 用户名搜索
python3 scripts/blackbird_run.py -u $USERNAME --json --no-update
# Step 3: 如果是 QQ 邮箱
if [[ $EMAIL == *"@qq.com" ]]; then
QQ=$(echo $EMAIL | grep -oP '^\d+')
echo "QQ 头像: https://q1.qlogo.cn/g?b=qq&nk=${QQ}&s=640"
echo "QQ 空间: https://user.qzone.qq.com/${QQ}"
fi
按 references/report-format.md 生成报告,包含:
| 工具 | 检测方式 | 站点数 | 速度 | 静默性 |
|---|---|---|---|---|
| holehe | 忘记密码 API | 120+ | 快 (~10s) | 高 |
| blackbird | 个人主页探测 | 600+ | 慢 (~3min) | 高 |
最佳实践: 先用 holehe 快速扫描,再用 blackbird 深度搜索
| 来源技能 | 产出环节 | 邮箱类型 |
|---|---|---|
phishing-analysis | 邮件头解析 | 发件人/收件人邮箱 |
auth-log-analysis | 登录日志分析 | 用户账户邮箱 |
traffic-analysis | SMTP/HTTP 流量 | 通信邮箱 |
asset-discovery | WHOIS/子域名 | 注册人/管理员邮箱 |
domain-analysis | ICP/WHOIS 查询 | 备案联系邮箱 |
windows-ir | 用户账户分析 | 系统用户邮箱 |
| 发现内容 | 调用技能 |
|---|---|
| 企业邮箱域名 | domain-analysis |
| GitHub 安全工具 | binary-reverse-engineering |
| 可疑 IP | ip-analysis |
| 钓鱼相关 | phishing-analysis |