infobyte/emploleaks

GitHub: infobyte/emploleaks

EmploLeaks 是一个OSINT命令行工具,用于检测企业员工的泄露凭证和关联信息。

Stars: 780 | Forks: 64

# EmploLeaks EmploLeaks 是一个 OSINT(开源情报)工具,具有命令行界面,用于发现和关联目标企业的员工信息。它可以收集 LinkedIn 个人资料、生成潜在的企业邮箱地址、在泄露数据库(内部使用 ClickHouse)中搜索已泄露的凭证、通过 HaveIBeenPwned 验证已知漏洞、发现企业基础设施并在社交媒体上分析员工。所有信息都本地存储在 SQLite 中,以便后续分析。 ## 功能特性 - 基于 LinkedIn 的员工搜索与枚举(使用会话 Cookie 进行抓取) - 自动生成可自定义格式的潜在企业邮箱地址 - 在自有的 ClickHouse 数据库中搜索已泄露凭证 - 通过 HaveIBeenPwned API 验证已知漏洞 - 使用 gitleaks 扫描 GitHub/GitLab 仓库中的密钥 - **基础设施发现:** 使用 assetfinder + SecurityTrails 枚举子域名 - **社交媒体分析:** 按邮箱搜索(Holehe,~120个平台),按用户名搜索(Maigret,500+个平台) - **Telegram 抓取器(用户机器人):** 独立的守护进程,加入指定的 Telegram 频道并自动下载凭证文件 - **100% 基于 AI 代理的泄露数据解析器:** 无硬编码正则表达式。AI 代理提出 schema,在样本上通过评分进行验证,根据错误示例接收反馈并重试直至收敛。自动检测 UTF-16/UTF-8、ASCII 艺术横幅、国家代码前缀、窃取者日志(Redline/Lumma/Raccoon)、任意的邮箱/用户/URL 格式 - 所有信息本地存储在 SQLite 中 - 生成包含个人资料照片的交互式 HTML 报告 - 使用 AI(OpenAI、Ollama 等)按部门自动分类员工 - 结果导出为 CSV - 模块化插件系统(LinkedIn、GitHub、HIBP) - 插件配置自动保存与加载 - 使用 FastAPI + Next.js 的管理 Web 应用,用于结果分类处理 ## 项目结构 ``` emploleaks/ ├── emploleaks.py # Script principal (CLI interactiva con cmd2) ├── telegram_sync.py # Daemon userbot de Telegram (Telethon, standalone) ├── requirements.txt # Dependencias de Python ├── README.md ├── .gitignore ├── plugins/ │ ├── linkedin.py # Plugin de LinkedIn (scraping de empleados) │ ├── github.py # Plugin de GitHub (repos, stalk, secrets) │ └── hibp.py # Plugin de HaveIBeenPwned (brechas) ├── utils/ │ ├── logging_format.py # Configuración de logging con colores │ ├── ai_classifier.py # Clasificación de roles con IA (OpenAI/Ollama) │ ├── leak_parser.py # Parser de leaks 100% agéntico (loop de IA, sin regex) │ ├── email_lookup.py # Búsqueda de emails en redes sociales (Holehe) │ ├── profile_lookup.py # Búsqueda de usernames en redes sociales (Maigret) │ └── discovery.py # Enumeración de subdominios (assetfinder + SecurityTrails opcional) ├── clickhouse-docker/ # Docker Compose para levantar ClickHouse │ ├── docker-compose.yml │ └── config/ │ └── users.xml ├── leaks_data/ # Carpeta para archivos de leaks a importar (no en git) ├── config/ # Configuración (autogenerado) │ └── tokens.ini # Tokens y credenciales de plugins (no en git) ├── data/ # Base de datos local (autogenerado) │ └── emploleaks.db # SQLite con toda la información recopilada ├── webapp/ # Webapp administrativa │ ├── backend/ # FastAPI (Python) │ └── frontend/ # Next.js (React/TypeScript) └── logs/ # Archivos de log (autogenerado) └── log.txt ``` ## 要求 - Python 3.10+ - pip - 互联网连接 - **可选:** Docker 和 Docker Compose(用于本地启动 ClickHouse) - **可选:** [gitleaks](https://github.com/gitleaks/gitleaks)(用于扫描仓库中的密钥) - **可选:** [HaveIBeenPwned](https://haveibeenpwned.com/API/Key) API 密钥 - LinkedIn 会话 Cookie(`JSESSIONID` 和 `li_at`),用于 LinkedIn 插件 ## 安装 1. 克隆仓库: ``` git clone https://github.com/yourusername/emploleaks.git cd emploleaks ``` 2. 安装依赖项: ``` pip install -r requirements.txt ``` 3. (可选)使用 Docker 启动 ClickHouse 作为泄露数据库: ``` cd clickhouse-docker docker compose up -d cd .. ``` ## 使用 运行工具: ``` python emploleaks.py ``` 使用调试模式: ``` python emploleaks.py -d ``` ### 通用命令 | 命令 | 描述 | |---------|-------------| | `help` | 显示通用帮助信息 | | `help <命令>` | 显示特定命令的帮助信息 | | `quit` | 退出应用程序 | ### 公司管理 | 命令 | 描述 | |---------|-------------| | `add_company --name <名称>` | 添加新公司 | | `select_company --name <名称>` | 选择要操作的公司 | | `list_companies` | 显示所有公司 | | `delete_company --name <名称>` | 删除公司及其所有数据 | ### 插件管理 | 命令 | 描述 | |---------|-------------| | `use --plugin <名称>` | 激活插件(`linkedin`、`github`、`hibp`) | | `deactivate` | 停用当前插件 | | `show options` | 显示当前激活插件的选项 | | `setopt <选项> [值]` | 配置插件选项(若不提供值,将通过隐藏提示要求输入) | | `autosave --enable / --disable` | 启用/禁用将配置自动保存到 `config/tokens.ini` | | `autoload --enable / --disable` | 启用/禁用从 `config/tokens.ini` 自动加载配置 | ### 连接泄露数据库(ClickHouse) | 命令 | 描述 | |---------|-------------| | `connect_leaks` | 使用 `tokens.ini` 中保存的配置连接 ClickHouse | | `connect_leaks --host <主机> --port <端口> --save` | 使用指定参数连接并保存,以便将来使用 | | `disconnect_leaks` | 断开与 ClickHouse 数据库的连接 | | `import_leaks [目录]` | 将凭证文件导入 ClickHouse(默认:`leaks_data/`) | | `import_leaks --no-ai` | 仅导入已知格式的文件,不使用 AI | | `create_db --user <用户> --passwd <密码> --dbname <数据库名> [--import-data <目录>]` | 手动创建 ClickHouse 数据库(旧版命令) | ClickHouse 的连接配置在 `config/tokens.ini` 中: ``` [clickhouse] host = localhost port = 9000 user = default passwd = dbname = credentials_db ``` 如果在 `tokens.ini` 中配置了 ClickHouse,启动时将自动建立连接。 ### 搜索凭证和漏洞 | 命令 | 描述 | |---------|-------------| | `find_passwords <模式>` | 在 ClickHouse + [ProxyNova COMB](https://www.proxynova.com/tools/comb/)(32亿条凭证)中搜索凭证。模式:`find_all`、`only_usernames`、`only_emails` | | `find_passwords <模式> --no-proxynova` | 仅在本地 ClickHouse 中搜索 | | `find_passwords <模式> --no-clickhouse` | 仅在 ProxyNova COMB 中搜索(无需 ClickHouse) | | `find_passwords <模式> --email <邮箱>` | 搜索特定邮箱的凭证 | | `find_breaches` | 在 HIBP 中搜索公司所有邮箱的漏洞信息(需要激活 `hibp` 插件) | **ProxyNova COMB** 是一个包含 32 亿条已泄露凭证(多个泄露事件合并)的公共数据库。无需 API 密钥,每次搜索时自动查询。使用 `--no-proxynova` 可禁用它。 ### 基础设施发现 | 命令 | 描述 | |---------|-------------| | `add_domain <域名>` | 将域名关联到所选公司(例如:`add_domain faradaysec.com`) | | `discover` | 使用 `assetfinder`(+ 可选 SecurityTrails)对公司所有域名执行子域名枚举,并进行 DNS 解析 | | `print --data domains` | 显示已注册的域名及发现的子域名数量 | | `print --data subdomains` | 显示所有子域名及其 IP、来源和发现日期 | 发现模块将被动枚举委托给 [`assetfinder`](https://github.com/tomnomnom/assetfinder),它内部聚合了来自 crt.sh、HackerTarget、BufferOver 等来源的结果,无需 API 密钥。需要在 `$PATH` 中找到该二进制文件(安装方法:`go install github.com/tomnomnom/assetfinder@latest`)。 可选地,如果配置了 SecurityTrails API 密钥,其子域名将与 assetfinder 的结果合并: ``` [discovery] # securitytrails_key = your_key_here ``` ### 社交媒体分析 | 命令 | 描述 | |---------|-------------| | `lookup_emails` | 使用 Holehe 在约 120 个平台上搜索已确认的邮箱 | | `lookup_emails --include-potential` | 也包含生成的潜在邮箱 | | `lookup_emails --email user@mail.com` | 搜索特定邮箱 | | `lookup_emails --all` | 在所有 120+ 个平台上搜索(不仅是已配置的) | | `lookup_emails --list-platforms` | 列出所有可用平台 | | `lookup_profiles` | 使用 Maigret 按用户名搜索个人资料(需要已加载用户名) | | `lookup_profiles --employee "Juan"` | 仅为特定员工搜索 | **Holehe**(邮箱查找):使用“忘记密码”技术确定邮箱是否在每个平台上注册,而不会提醒所有者。平台在 `tokens.ini` 中配置: ``` [holehe] platforms = google, discord, github, instagram, twitter, spotify, ... ``` **Maigret**(用户名查找):在 500+ 个社交媒体平台上搜索用户名是否存在。用户名需通过 Web 应用手动为每位员工添加。可选地,在 `tokens.ini` 中筛选平台: ``` [maigret] # 平台 = instagram, twitter, facebook, tiktok, reddit, github ``` ### 可视化与导出 | 命令 | 描述 | |---------|-------------| | `print --data emails` | 显示已确认和潜在的邮箱 | | `print --data passwords` | 显示找到的凭证 | | `print --data breaches` | 显示 HIBP 漏洞信息 | | `print --data gits` | 显示 GitHub 账户 | | `print --data twitters` | 显示 Twitter/X 账户 | | `print --data phones` | 显示电话号码 | | `print --data websites` | 显示网站 | | `print --data secrets` | 显示在仓库中找到的密钥 | | `print --data domains` | 显示已注册的域名 | | `print --data subdomains` | 显示发现的子域名 | | `print --data all` | 按员工汇总显示所有信息 | | `print --data all --html` | 生成包含照片的交互式 HTML 报告 | | `print --data all --html --ai` | 使用 AI 按部门对员工分组,生成 HTML 报告 | | `print --data <类型> --export` | 将数据导出到带时间戳的 CSV 文件 | ### AI 配置与分类 | 命令 | 描述 | |---------|-------------| | `set_ai --endpoint --key <密钥> --model <模型>` | 配置 AI 提供商 | | `classify` | 使用 AI 将员工分类到部门(保存到数据库) | | `classify --force` | 即使已分配部门,也重新分类 | AI 分类分析员工的职位/角色,并将其按部门(工程、安全、销售等)分组。部门信息持久化在 SQLite 中,并在 HTML 报告和 Web 应用中可见。 **支持的提供商**(任何兼容 OpenAI 的 API): - **Ollama(本地,默认):** `set_ai --endpoint http://localhost:11434/v1 --model llama3` - **OpenAI:** `set_ai --endpoint https://api.openai.com/v1 --key sk-... --model gpt-4o-mini` - **其他兼容:** LM Studio、Together AI 等。 ### Telegram 抓取器(用户机器人) 独立的守护进程,使用个人 Telegram 账户(通过 Telethon)加入指定的频道/群组,下载 `.txt/.csv/.dat/.zip/.gz` 文件,并将其放入 `leaks_data/telegram/<聊天>/`。后续的 `import_leaks` 命令使用 AI 代理解析器将其导入 ClickHouse。**与 CLI 解耦** — 作为独立进程运行,因此可以 7x24 小时运行,无需打开 CLI。 **初始设置(一次性):** 1. 在 https://my.telegram.org/apps 创建应用,获取 `api_id` 和 `api_hash`。 2. 添加到 `config/tokens.ini`: [telegram] api_id = 12345678 api_hash = abcd1234... session = config/telegram.session download_root = leaks_data/telegram allowed_extensions = txt, csv, dat, zip, gz default_backfill_limit = 10 3. 交互式登录(要求输入手机号、应用内验证码,可选 2FA): python3.13 telegram_sync.py login **子命令:** | 命令 | 描述 | |---------|-------------| | `login` | 初始认证。将会话持久化到 `config/telegram.session` | | `list_groups` | 列出您账户所在的所有聊天/频道,并在 SQLite 中创建快照 | | `approve <聊天ID> [--limit N]` | 将聊天标记为已批准,并回填最后 N 条消息 | | `unapprove <聊天ID>` | 取消批准 | | `list_approved` | 显示已批准的聊天及其已下载文件计数的表格 | | `backfill <聊天ID> [--limit N]` | 重新下载已批准聊天的最后 N 条消息 | | `run [--watch]` | 回填所有已批准的聊天;使用 `--watch` 将监听新消息事件 | | `status` | 摘要:已批准数 / 已下载文件数 / 磁盘使用量 | **`data/emploleaks.db` 中的新表:** | 表 | 描述 | |-------|-------------| | `telegram_groups` | 聊天快照(chat_id, title, username, approved, backfill_limit, last_sync_at) | | `telegram_files` | 已下载的文件,按 `(chat_id, message_id)` 和文件内容的 `SHA-256` 去重 | **后台守护进程:** ``` nohup python3.13 telegram_sync.py run --watch >> logs/telegram.log 2>&1 & echo $! > /tmp/telegram_daemon.pid # 要停止: # kill $(cat /tmp/telegram_daemon.pid) ``` ### 100% 基于 AI 代理的泄露数据解析器 模块 `utils/leak_parser.py` **仅使用 AI 代理**来解析每个文件。没有硬编码的正则表达式(已移除,因为每种新格式都会引入微妙的提取错误)。 **代理管道:** ``` 1. Auto-detectar encoding (BOM sniffing): utf-8 / utf-8-sig / utf-16 / utf-32. 2. Sampling inteligente: tomar las primeras 80 líneas que parezcan credenciales (con separadores típicos, alfanumérico >50%) — skipea banners ASCII art. 3. La IA recibe 50 líneas + system prompt con familias comunes de formato y propone {separator, fields, skip_lines}. 4. Aplicamos el schema a la muestra SIN filtros → list of tuples. 5. Validamos con _is_clean_credential → score = % rows válidas. 6. Si score ≥ 0.8 y ≥ 5 rows → aplicar al archivo completo. 7. Si no → mandar al agente la (source_line ↔ extracción mala) en pares, más checklist de errores típicos. Goto 3. 8. Hasta 7 iteraciones. Si no converge a 0.8: fallback al mejor schema si alcanzó ≥ 0.7. Bajo eso → skip con warning (nunca ingerimos basura). ``` **`_is_clean_credential` — 通用验证:** - 用户名:长度 1-64,不含 `/ : \ 空格`,不以 `http/android/ftp//` 开头。 - 密码:长度 1-256,不含 `/`,最多一个 `:`,不含空白符,不以 URL 前缀开头。 **确定性:** 所有调用均使用 `temperature=0` + 同一运行内的内存缓存。同一文件在多次运行中产生相同的 schema → `import_leaks` 是幂等的。 **典型成本:** 每个文件 1-3 次 API 调用,使用 gpt-4o-mini 约 $0.0001-$0.0005。对于 12 个文件:约 $0.005 = 半美分。 ### 管理 Web 应用 | 命令 | 描述 | |---------|-------------| | `python emploleaks.py --webapp` | 启动 Web 应用(后端 :8421,前端 :3421) | Web 应用功能: - 包含统计信息、关键发现和快捷操作的仪表板 - 员工管理,支持按部门可折叠分区和拖放操作 - **关联账户:** 查看社交媒体个人资料,按邮箱(Holehe)和按用户名(Maigret)搜索 - **发现:** 管理域名,执行子域名枚举,查看带 IP 和来源的结果 - 凭证和密钥分类处理(标记为已验证、无效、误报) - 按员工编辑邮箱和用户名(添加、修改、删除) - 通过界面进行 AI 分类 ## 插件 ### LinkedIn 使用浏览器的会话 Cookie 在 LinkedIn 上搜索公司员工,并生成潜在的企业邮箱地址。自动获取公司标志。 **选项:** | 选项 | 描述 | |--------|-------------| | `JSESSIONID` | LinkedIn 的 JSESSIONID 会话 Cookie | | `li-at` | LinkedIn 的 li_at 会话 Cookie | | `hide` | 显示时隐藏 JSESSIONID 的值(默认:`yes`) | **插件内可用命令:** | 命令 | 描述 | |---------|-------------| | `run impersonate` | 使用配置的 Cookie 进行身份验证 | | `run find <公司领英ID> <邮箱域名> [--email-format 格式]` | 搜索员工并生成邮箱 | **可用邮箱格式:** - 默认:`f_last`(例如:`jsmith@domain.com`)和 `f.last`(例如:`j.smith@domain.com`) - 使用 `--email-format` 自定义:使用占位符 `{n}`(名字首字母),`{s}`(姓氏),`{name}`(全名),`{l}`(姓氏首字母) - 示例:`--email-format {n}.{s}` 生成 `j.smith@domain.com` **完整示例:** ``` emploleaks> add_company --name miempresa emploleaks> select_company --name miempresa emploleaks(miempresa)> use --plugin linkedin emploleaks(miempresa)(linkedin)> setopt JSESSIONID JSESSIONID: emploleaks(miempresa)(linkedin)> setopt li-at li-at: emploleaks(miempresa)(linkedin)> run impersonate emploleaks(miempresa)(linkedin)> run find miempresa miempresa.com --email-format {n}.{s} ``` ### GitHub 获取 GitHub 个人资料信息,列出仓库,并使用 gitleaks 扫描仓库中的密钥。 **选项:** | 选项 | 描述 | |--------|-------------| | `token` | GitHub 个人访问令牌 | | `blur` | 显示时混淆令牌 | | `gitleaks_path` | gitleaks 二进制文件路径(默认:`PATH` 中的 `gitleaks`) | | `max_repo_size` | 要分析的最大仓库大小(MB)(默认:`15`) | **插件内可用命令:** | 命令 | 描述 | |---------|-------------| | `run stalk <用户名>` | 获取 GitHub 账户的邮箱 | | `run get_repos <用户名>` | 列出用户的公共仓库 | | `run find_secrets` | 扫描公司员工仓库中的密钥 | | `run find_secrets --download-all` | 同上,但无大小限制 | **完整示例:** ``` emploleaks(miempresa)> use --plugin github emploleaks(miempresa)(github)> setopt token ghp_xxxxxxxxxxxx emploleaks(miempresa)(github)> run find_secrets emploleaks(miempresa)(github)> print --data secrets ``` ### HaveIBeenPwned (HIBP) 使用 HIBP API 验证公司邮箱是否出现在已知漏洞中。 **选项:** | 选项 | 描述 | |--------|-------------| | `apikey` | HaveIBeenPwned API 密钥 | | `rate_limit` | API 调用之间的延迟(秒)(默认:`2.0`) | **插件内可用命令:** | 命令 | 描述 | |---------|-------------| | `run find_breaches` | 搜索公司所有邮箱的漏洞信息 | | `find_breaches` | 直接命令(等效,需要激活 hibp 插件) | **完整示例:** ``` emploleaks(miempresa)> use --plugin hibp emploleaks(miempresa)(hibp)> setopt apikey emploleaks(miempresa)(hibp)> find_breaches emploleaks(miempresa)(hibp)> print --data breaches ``` ## 泄露数据库 (ClickHouse) EmploLeaks 可以连接到包含已泄露凭证的自建 ClickHouse 数据库,搜索与发现的员工邮箱/用户名相关联的密码。 ### 使用 Docker 启动 ClickHouse ``` cd clickhouse-docker docker compose up -d ``` 这将暴露 ClickHouse 的以下端口: - 端口 `9000`(原生 TCP 协议) - 端口 `8123`(HTTP 接口) 文件夹 `leaks_data/` 作为只读卷挂载到容器内。 ### 导入凭证 1. 将您的泄露文件(`.txt`、`.csv`、`.dat`、`.zip`、`.gz`)放入 `leaks_data/` 文件夹。 2. 运行导入命令: ``` emploleaks> import_leaks ``` 解析器自动检测最常见的格式: - `email:password` - `email:password:url` - `email;password` - `email|password` - `url,email,password` 对于未知格式,使用已配置的 AI(OpenAI/Ollama)分析文件样本以确定解析方式。使用 `--no-ai` 可跳过 AI 检测。 `.zip` 和 `.gz` 文件在解析前会自动解压。 ### 搜索凭证 ``` emploleaks(miempresa)> find_passwords only_emails emploleaks(miempresa)> find_passwords find_all emploleaks(miempresa)> print --data passwords ``` 如果在 `tokens.ini` 中配置了 ClickHouse,启动工具时将自动连接。 ### ClickHouse 中 `credentials` 表结构 | 字段 | 类型 | 描述 | |-------|------|-------------| | `mail_username` | String | 邮箱的用户名部分 | | `mail_domain` | String | 邮箱域名(不含顶级域名) | | `mail_tld` | String | 邮箱顶级域名 | | `password` | String | 已泄露的密码 | | `uri_subdomain` | String | 泄露发生站点的子域名 | | `uri_domain` | String | 站点域名 | | `uri_tld` | String | 站点顶级域名 | ## 本地数据库结构(SQLite) | 表 | 描述 | |-------|-------------| | `companies` | 已注册的公司(名称、标志) | | `employees` | 已发现的员工(姓名、职位、照片、公司、部门) | | `emails` | 已确认的邮箱(来自 LinkedIn 的联系信息) | | `potential_emails` | 按格式生成的潜在邮箱 | | `passwords` | 与邮箱关联的已发现密码 | | `username_passwords` | 按用户名找到的密码 | | `breaches` | 与邮箱关联的 HIBP 漏洞信息 | | `githubs` | GitHub 个人资料/仓库 URL | | `twitters` | Twitter/X 个人资料 URL | | `phones` | 电话号码 | | `websites` | 个人网站 | | `secrets_repos` | 使用 gitleaks 在仓库中发现的密钥 | | `social_profiles` | 社交媒体个人资料(Holehe + Maigret) | | `domains` | 用于发现的公司域名 | | `subdomains` | 已发现的子域名(IP、来源、日期) | | `usernames` | 为 Maigret 关联的员工用户名 | ## 典型工作流程 ``` 1. python emploleaks.py # 企业管理 2. add_company --name target_corp 3. select_company --name target_corp # LinkedIn 爬取(抓取员工信息 + 公司标志) 4. use --plugin linkedin 5. setopt JSESSIONID 6. setopt li-at 7. run impersonate 8. run find target_corp targetcorp.com --email-format {n}.{s} 9. print --data emails # 基础设施发现 10. add_domain targetcorp.com 11. discover 12. print --data subdomains # 泄露的凭证(ClickHouse 从配置自动连接) 13. find_passwords only_emails # 已知的泄露事件 14. use --plugin hibp 15. setopt apikey 16. find_breaches # 代码库中的秘密 17. use --plugin github 18. setopt token 19. run find_secrets # 社交媒体分析(通过电子邮件) 20. deactivate 21. lookup_emails # 社交媒体分析(通过用户名,需要在 Webapp 中上传用户名) 22. lookup_profiles # 按部门分类 23. classify # 报告和导出 24. print --data all --export 25. print --data all --html --ai # 用于交互式分类的 Webapp 26. python emploleaks.py --webapp # Telegram 爬取器(独立进程,在另一个终端中运行) 27. python3.13 telegram_sync.py login # one-time 28. python3.13 telegram_sync.py list_groups 29. python3.13 telegram_sync.py approve --limit 5 30. python3.13 telegram_sync.py run --watch # daemon en watch # 文件将存入 leaks_data/telegram/... → 重新运行 import_leaks 会吸收它们。 ``` ## 免责声明 此工具仅用于教育、安全研究和授权渗透测试目的。严禁将此工具用于任何恶意或未经授权的活动。用户有责任遵守所有法律和项目服务条款。
标签:Atomic Red Team, ClickHouse数据库, ESC4, GitHub秘密扫描, HaveIBeenPwned集成, LinkedIn爬虫, OSINT, SQLite数据库, Telegram scraper, 人工智能分类, 内核监控, 动态插桩, 员工信息收集, 员工画像, 基础设施发现, 开源情报工具, 数据库集成, 数据泄露检测, 本地存储, 机器学习分类, 泄露数据库解析, 泄露监控, 社交媒体分析, 网络安全, 脚本工具, 自动化安全检查, 请求拦截, 逆向工具, 邮箱地址生成, 隐私保护