强大的OSINT情报工具:Blackbird用户名与邮箱搜索分析平台

项目标题与描述

Blackbird是一款强大的OSINT(开源情报)工具,专为用户名和邮箱搜索而设计。该工具集成了WhatsMyName项目的600多个社交平台数据库,能够快速准确地查找目标账户在不同平台的存在情况。项目采用Python开发,提供命令行界面,支持AI智能分析和多种数据导出格式。

功能特性

  • 多平台搜索: 支持600+社交媒体的用户名和邮箱反向查找
  • 智能AI分析: 集成免费AI引擎,自动生成用户行为和技术画像
  • 多种导出格式: 支持PDF、CSV、JSON等多种结果导出方式
  • 批量处理: 支持用户名列表文件和邮箱列表文件的批量处理
  • 元数据提取: 能够从响应中提取丰富的用户元数据信息
  • 实时更新: 自动检查并更新平台数据库,确保数据最新
  • 智能过滤: 内置结果过滤机制,减少误报率

安装指南

系统要求: Python 3.6+,支持Windows、Linux、macOS系统

bash 复制代码
# 克隆仓库
git clone https://github.com/p1ngul1n0/blackbird
cd blackbird

# 安装依赖
pip install -r requirements.txt

依赖项: rich、aiohttp、reportlab、python-dotenv、requests等

使用说明

基本用户名搜索:

bash 复制代码
python blackbird.py --username johndoe

邮箱搜索:

bash 复制代码
python blackbird.py --email johndoe@example.com

使用AI分析:

bash 复制代码
python blackbird.py --username johndoe --ai

导出PDF报告:

bash 复制代码
python blackbird.py --email johndoe@example.com --pdf

设置AI API密钥:

bash 复制代码
python blackbird.py --setup-ai

核心代码

主程序初始化:

python 复制代码
def initiate():
    if not os.path.exists("logs/"):
        os.makedirs("logs/")
    logging.basicConfig(
        filename=config.LOG_PATH,
        level=logging.DEBUG,
        format="%(asctime)s - %(name)s - %(levelname)s - %(message)s",
    )

    parser = argparse.ArgumentParser(
        prog="blackbird",
        description="An OSINT tool to search for accounts by username in social networks.",
    )
    parser.add_argument(
        "-u",
        "--username",
        nargs="*",
        type=str,
        help="One or more usernames to search.",
    )

站点检查核心逻辑:

python 复制代码
async def checkSite(site, method, url, session, semaphore, config):
    returnData = {
        "name": site["name"],
        "url": url,
        "category": site["cat"],
        "status": "NONE",
        "metadata": None,
    }
    async with semaphore:
        response = await do_async_request(method, url, session, config)
        if response == None:
            returnData["status"] = "ERROR"
            return returnData
        try:
            if response:
                if (site["e_string"] in response["content"]) and (
                    site["e_code"] == response["status_code"]
                ):
                    if (site["m_string"] not in response["content"]) and (
                        (site["m_code"] != response["status_code"])
                        if site["m_code"] != site["e_code"]
                        else True
                    ):
                        returnData["status"] = "FOUND"

AI分析功能:

python 复制代码
def send_prompt(prompt, config):
    config.console.print(f":sparkles: Analyzing with AI...")
    apikey = load_api_key_from_file(config)
    if not apikey:
        config.console.print(":x: No API key found. Please obtain an API key first with --setup-ai")
        return None
    headers = {
        "Content-Type": "application/json",
        "User-Agent": "blackbird-cli",
        "x-api-key": apikey
    }
    payload = {
        "prompt": prompt
    }

PDF导出功能:

python 复制代码
def saveToPdf(foundAccounts, resultType, config):
    regularFontFile = os.path.join(
        os.getcwd(),
        config.ASSETS_DIRECTORY,
        config.FONTS_DIRECTORY,
        config.FONT_REGULAR_FILE,
    )
    boldFontFile = os.path.join(
        os.getcwd(),
        config.ASSETS_DIRECTORY,
        config.FONTS_DIRECTORY,
        config.FONT_BOLD_FILE,
    )
    try:
        pdfmetrics.registerFont(TTFont(config.FONT_NAME_REGULAR, regularFontFile))
        pdfmetrics.registerFont(TTFont(config.FONT_NAME_BOLD, boldFontFile))
相关推荐
厚德云39 分钟前
全球首款填空式AI绘画提示词工具PromptFill正式发布
人工智能·ai作画·云计算·aigc·ai绘画
泰迪智能科技44 分钟前
案例分享|高校实验室建设方向+合作平台+建设成效
人工智能
摸鱼仙人~1 小时前
一文详解PyTorch DDP
人工智能·pytorch·python
胡伯来了1 小时前
16 Transformers - 使用大语言模型
人工智能·语言模型·自然语言处理
liliangcsdn1 小时前
LLM MoE 形式化探索
大数据·人工智能
新智元1 小时前
硅谷青睐的中国模型更新了!一觉醒来,直接套壳
人工智能·openai
机器之心1 小时前
无需再训练微调,一个辅助系统让GPT-5.2准确率飙到创纪录的75%
人工智能·openai
科技云报道1 小时前
科技云报到:2026网络安全六大新趋势:AI重构攻防,信任成为新防线
人工智能·科技·web安全
机器之心1 小时前
微软定目标:2030年,彻底删除C、C++代码,换成Rust
人工智能·openai
新智元1 小时前
超越谷歌,全球第一!上交 AI 科学家王者归来,登顶 OpenAI MLE-bench
人工智能·openai