强大的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))
相关推荐
非晓为骁7 小时前
【AI】AI 评测入门(二):Prompt 迭代实战从“能跑通”到“能落地”
人工智能·prompt·提示词工程·ai评测
张较瘦_7 小时前
[论文阅读] 人工智能 + 软件工程 | TDD痛点破解:LLM自动生成测试骨架靠谱吗?静态分析+专家评审给出答案
论文阅读·人工智能·软件工程
字节数据平台7 小时前
一客一策:Data Agent 如何重构大模型时代的智能营销
大数据·人工智能·重构
机器之心7 小时前
字节Seedream 4.0将全量开放!抢先评测来了,我们摸索出AI生图一大波「邪修」玩法
人工智能·openai
空白到白7 小时前
机器学习-集成学习
人工智能·机器学习·集成学习
水凌风里7 小时前
4.4 机器学习 - 集成学习
人工智能·机器学习·集成学习
雲_kumo7 小时前
集成学习:从理论到实践的全面解析
人工智能·机器学习·集成学习
用户5191495848457 小时前
30条顶级APT与蓝队攻防单行命令:网络战场终极对决
人工智能·aigc
双向337 小时前
AI 辅助文档生成:从接口注释到自动化 API 文档上线
人工智能