如何结合 Bright Data 使用 OpenOSINT 实现自动化网络情报

了解如何设置 OpenOSINT、将其连接到 Bright Data,并把 OSINT 高级搜索查询转化为实时搜索结果和抓取的公开网页。
3 分钟阅读
OpenOSINT 与 Bright Data 集成

在这篇关于 OpenOSINT 的文章中,你将了解:

  • 什么是 OSINT 框架。
  • 什么是 OpenOSINT、它的主要功能及工具。
  • Bright Data 如何赋能 OpenOSINT。
  • 如何逐步结合使用 OpenOSINT 与 Bright Data。

让我们开始吧!

什么是 OpenOSINT?

OSINT(开源情报)是通过收集和分析公开信息来回答调查问题的一种实践。在网页抓取场景中,数据采集是大家熟悉的流程环节。OSINT 在此基础上增加了一套调查工作流:界定范围、收集信息、追踪关联、核实发现并记录结果。

OpenOSINT 是一个采用 MIT 许可证的开源 AI 驱动型 OSINT 框架。该产品连接现有的 OSINT 实用工具、情报 API、搜索服务和网页抓取功能。用户可以通过交互式终端、命令行界面、基于浏览器的界面或 MCP 服务器进行操作,并连接兼容工具和第三方服务。

其架构采用分层设计,任何一层都不会从其上层导入内容。这确保了工具的模块化执行,并在结构上将 AI 推理与工具调用分离:

OpenOSINT 的架构

OpenOSINT 的主要功能

该软件主要面向开展授权调查的 OSINT 调查人员、安全研究人员和分析师,为他们提供以下功能:

  • 20 个集成工具:通过连接 OSINT 实用工具、情报 API 和网页数据采集服务的统一界面,调查电子邮件地址、用户名、域名、IP 地址和电话号码。
  • Markdown 和 PDF 报告:自动以 Markdown 格式保存调查报告,并生成 PDF 报告。
  • 并行执行:使用 --parallel 选项同时运行互补工具,以便并行收集不同类型的信息。
  • 持久化会话历史记录:自动保存交互式终端会话,并通过 history 命令浏览之前的调查。
  • 灵活的 AI 后端:通过 Ollama 在本地运行推理、使用 Anthropic Claude,或连接与 OpenAI 兼容的端点。
  • 原生 MCP 集成:通过 OpenOSINT 内置的 MCP 服务器公开全部 20 个调查工具,供兼容的 AI 客户端使用,无需编写新代码。

下表列出并介绍了目前支持的工具:

工具 技术支持 工具说明
search_email holehe 检查哪些在线服务存在与某个电子邮件地址关联的账户,帮助调查人员识别目标在这些服务中的活动痕迹。
search_username sherlock 在 300 多个平台上搜索某个用户名,并返回匹配的个人资料以供进一步调查。
search_breach HaveIBeenPwned v3 API 检查某个电子邮件地址是否出现在已知的数据泄露事件中,并识别相关泄露事件及暴露的数据类别。
search_whois python-whois 检索域名注册信息,包括可用的注册人详细信息、注册商、注册日期和到期日期,以及域名服务器。
search_ip ipinfo.io 检索 IP 地址的地理位置、自治系统编号(ASN)和主机名,帮助调查人员了解其网络环境。
search_domain sublist3r 枚举与某个域名关联的子域名,帮助调查人员发现邮件服务器、开发环境和 API 端点等相关主机。
generate_dorks 内置 为目标生成 12 个有针对性的 Google 搜索 URL。它会准备查询以供进一步研究,但不会执行搜索或发起网络调用。
search_paste psbdmp.ws 在已编入索引的 Pastebin 数据转储中搜索目标的相关内容,并返回匹配的引用以供进一步审查。
search_phone phoneinfoga 检索电话号码的相关信息,包括所属国家/地区、运营商和线路类型。它接受采用国际 E.164 格式的号码。
search_shodan Shodan API 查询 IPv4 地址以检索已暴露的端口、服务横幅和已报告的漏洞。它还支持关键词和横幅搜索,以发现匹配的基础设施。
search_virustotal VirusTotal API v3 根据 70 多个防病毒引擎的检测结果检查 IP 地址、域名、URL 或文件哈希。它会自动识别输入类型并报告安全判定结果。
search_ip2location IP2Location.io API 检索 IP 地理位置、ISP 和 ASN 信息。该提供商的 Security Plan 还提供 VPN、代理、Tor 和数据中心指标。此集成由其赞助。
search_censys Censys Search API 调查面向互联网的基础设施。对于 IPv4 地址,它会检索端口、服务和 ASN 信息;对于域名,它会搜索证书信息,包括备用名称和颁发者。
search_abuseipdb AbuseIPDB v2 API 检查 IP 地址的滥用信誉,并返回滥用置信度评分、报告数量、国家/地区、ISP 以及最新报告的时间戳。
search_github GitHub REST API 检索某个用户名的公开个人资料和代码仓库,并在提交数据中发现电子邮件地址。它还支持通过关键词搜索用户和代码仓库。
search_dns dnspython(内置) 查询 A、AAAA、MX、NS、TXT、CNAME 和 SOA 记录,以检查域名的 DNS 配置。它还会分析 SPF、DMARC 和 DKIM 电子邮件安全设置。
search_gdelt_geo GDELT GEO 2.0 API 检索全球带有地理位置标记的新闻报道并返回 GeoJSON 输出,使调查人员能够处理包含地理信息的新闻结果。
search_dorks_live Bright Data 搜索引擎 API 执行 Google dork 查询,并返回包含标题、URL 和摘要的结构化搜索结果。与 generate_dorks 不同,它会执行实时搜索,而不只是准备搜索 URL。
scrape_url Bright Data 网络解锁器 通过能够处理 Cloudflare 和 CAPTCHA 等访问障碍的服务获取公开网页,然后以简洁的 Markdown 格式返回页面内容。
search_footprint Bright Data 搜索引擎 API 检测目标是电子邮件地址、用户名、域名、电话号码还是全名,然后运行针对性的 Google 查询。它会返回结构化结果,以及针对已发现域名和个人资料生成的实体关联图节点与边。

OpenOSINT 有什么作用?

凭借这些功能,该产品支持多种类型的研究:

  • 账户和身份研究:查找与电子邮件地址关联的服务、跨平台搜索用户名,以及检查公开的 GitHub 个人资料和代码仓库。
  • 数据泄露暴露检查:查询 HaveIBeenPwned了解与某个电子邮件地址相关的数据泄露事件。
  • 基础设施研究:检索 WHOIS 和 DNS 记录、发现子域名,并调查面向互联网的服务、端口和证书。
  • IP 和威胁情报:收集地理位置和网络信息、检查 IP 滥用报告,以及查询 Shodan、VirusTotal 和 Censys 等安全服务。
  • 搜索和网页数据采集:生成有针对性的搜索查询、检索实时搜索结果、将公开 URL 抓取为 Markdown,并收集目标在公开搜索引擎中的数字足迹。

AI 智能体会将这些操作串联成一项调查。例如,它可以从电子邮件地址入手,发现用户名,然后在其他平台上搜索该用户名。应用程序会执行底层工具和 API,而不是要求模型自行生成查询结果。

Bright Data 如何赋能 OpenOSINT

OpenOSINT 通过上述三个内置工具与 Bright Data 原生集成。在底层,该集成会调用 Bright Data 的 REST API。这意味着用户可以使用 API 密钥和相关 Bright Data 区域设置启用该集成。

不使用 Bright Data 时,OpenOSINT 支持账户发现、数据泄露检查、基础设施研究及其他独立工具。它还可以生成有针对性的 Google 搜索 URL但生成查询并不会检索查询结果。Bright Data 通过其工具弥补了这一缺口。

二者结合,有助于将调查从准备好的搜索查询推进到已采集的搜索结果和易于阅读的源材料,从而减少手动搜索和页面提取工作。其实际优势在于:Bright Data 负责检索搜索结果、数据提取和访问受保护页面,而 OpenOSINT 则将这些数据采集能力融入 AI 辅助的调查工作流。

使用和不使用 Bright Data 集成时的 OpenOSINT

为了更贴近实际场景,假设一名分析师正在审查其组织在 example.com 上的公开暴露情况。

以下是不使用 Bright Data 时的流程:

  • 分析师要求 OpenOSINT 调查 example.com。
  • 智能体可以使用 search_whois 检索注册详细信息,使用 search_dns 检查 DNS 记录和电子邮件安全设置,并使用 search_domain 枚举子域名。
  • 为了将调查扩展到已编入索引的网页内容,分析师使用 generate_dorks 生成有针对性的 Google 搜索 URL。

流程很简单。但其局限在于,OpenOSINT 不会执行搜索或采集结果。这意味着分析师必须打开这些 URL 并手动检查结果页面。

因此,在没有 Bright Data 的情况下,OpenOSINT 可以支持基础设施研究,但其生成的搜索链接仍需分析师自行完成网页搜索和页面审查步骤。

另一方面,启用 Bright Data 集成后的工作流如下:

  • 分析师要求 OpenOSINT 调查 example.com。
  • 在执行基础设施检查的同时search_footprint 会识别出 example.com 是一个域名,并通过 Bright Data 搜索引擎 API 运行针对域名的 Google 查询。
  • 它会返回已发现域名和个人资料的结构化结果。
  • 分析师还可以使用 search_dorks_live 执行有针对性的搜索,并采集标题、URL 和摘要。如果搜索返回相关的公开页面(例如已编入索引的文档页面),分析师可以使用 scrape_url 通过网络解锁器检索其内容,并获得简洁的 Markdown。网络解锁器可以处理 Cloudflare 和 CAPTCHA 等访问障碍。

因此,在这种情况下,分析师可以直接在 OpenOSINT 中采集搜索结果并检索相关源页面,而无需手动打开每项搜索并复制页面内容。此外,该软件会以 Markdown 和 PDF 两种格式返回结果,可直接与利益相关者分享。

使用 OpenOSINT 和 Bright Data 构建 OSINT 工作流:分步教程

在本节中,你将学习如何使用 OpenOSINT。目标网站是 https://openosint.tech/:

目标网站

注意:该网站的所有者也是 OpenOSINT 本身的开发者,已授权将其作为目标网站,并在本文中报告相关结果。

按照以下步骤了解如何通过 REPL 安装和使用 OpenOSINT。

要求

要复现本教程,你的系统必须满足以下要求:

要求已满足。你可以开始安装该软件了。

步骤 1:安装 OpenOSINT

在计算机上创建一个文件夹:

mkdir openosint-project

进入该文件夹:

cd openosint-project

创建一个虚拟环境:

python -m venv venv

在 macOS 或 Linux 上,使用以下命令激活虚拟环境:

source venv/bin/activate

或者,在 Windows 上:

./venv/Scripts/activate

然后安装使用 OpenAI 的 OpenOSINT 版本:

pip install "openosint[openai]" sublist3r

注意:目前,标准配置使用 Anthropic LLM。如果你更倾向于使用该版本,安装命令为:pip install openosint。

很好!产品已安装完毕。接下来可以进行设置了。

步骤 2:设置 OpenAI 和 Bright Data 变量

使用 OpenOSINT 之前,你必须通过定义一些变量来进行设置。为此,请在 openosint-project/ 文件夹中创建一个 .env 文件。在其中写入以下内容:

OPENAI_API_KEY="<your-openai-api-key>"
OPENAI_BASE_URL="https://api.openai.com/v1"
OPENAI_MODEL="gpt-4o" 
BRIGHTDATA_API_KEY="<your-bright-data-api-key>"
BRIGHTDATA_SERP_ZONE="<your-bright-data-serp-zone>"
BRIGHTDATA_UNLOCKER_ZONE="<your-bright-data-unlocker-zone>"

你创建的 .env 文件定义了以下内容:

  • OPENAI_API_KEY 是用于存储 OpenAI API 密钥的变量。
  • OPENAI_BASE_URL 是 OpenOSINT 在底层调用 OpenAI API 时使用的基础 URL。请将其值保持为上面所示的内容。
  • OPENAI_MODEL 允许你使用任意 OpenAI 模型。
  • BRIGHTDATA_API_KEY 是用于存储 Bright Data API 密钥的变量。使用 OpenOSINT 并不强制要求设置此参数,但如果你想在 OpenOSINT 中使用 Bright Data 的工具,就必须进行设置。
  • BRIGHTDATA_SERP_ZONE 允许你使用 search_dorks_live 和 search_footprint 工具。
  • BRIGHTDATA_UNLOCKER_ZONE 可解锁 scrape_url 工具。

要创建 Bright Data API 密钥,请依次前往 Web Access > My APIs然后点击 Create API:

Bright Data 控制面板中的 APIs 部分

选择搜索引擎 API点击 Continue即可完成:

创建新的 API 密钥

回到上面的 .env 文件,以 ZONE 结尾的变量代表你所设置的 API 密钥名称。例如,考虑以下 API 密钥:

API 密钥名称

上图显示其名称为“serp_api1”。在这种情况下,你需要在 .env 文件中写入以下内容:

BRIGHTDATA_SERP_ZONE="serp_api1"

现在openosint-project/ 文件夹具有以下结构:

openosint-project/
   ├── .env
   └── venv/

很好。你已经定义了设置,一切都已准备就绪,可以进行初步测试了。

步骤 3:使用 OpenOSINT REPL 调查目标

要将 OpenOSINT 的 REPL 与 OpenAI 模型结合使用,请通过 CLI 按如下方式启动:

openosint --provider openai

你将看到以下内容:

首次运行 OpenOSINT 时的 CLI

调用 help 函数,了解如何使用该软件:

OpenOSINT 的帮助功能

基本用法是调查目标网站。为此,请输入你感兴趣的 URL:

通过 REPL 进行基本使用的结果

流程完成后,你会在 openosint-project/ 中看到一个名为 reports/ 的文件夹。OpenOSINT 创建的 Markdown 和 PDF 报告都保存在这里。下图展示了部分 PDF 报告:

OpenOSINT 的 PDF 报告

很好。你已经完成了第一个示例。现在可以将 Bright Data 加入其中了。

步骤 4:使用 Bright Data 运行实时搜索

假设你想使用 search_dorks_live。该工具通过 Bright Data 搜索引擎 API 执行实时 Google dork 查询,并返回结构化结果(标题、URL、摘要)。要使用它,请输入以下内容:

search_dorks_live openosint.tech

图中展示了该工具通过命令行返回的内容:

通过 REPL 将 OpenOSINT 与 Bright Data 结合使用的结果

在上一部分中,基础调查检索到了 DNS 数据,但无法完成 WHOIS 和子域名检查,因此限制了调查结果。通过使用 Bright Data 集成search_dorks_live 执行了实时 Google 查询,并返回了可直接采取行动的结果,包括 GitHub、LinkedIn 和开发者的个人资料。这才真正将手动搜索链接转化为可立即使用的情报。

大功告成!你已完成首个使用 OpenOSINT 和 Bright Data 的项目。

集成和运行 OpenOSINT 的其他方式

OpenOSINT 并不局限于本文上面介绍的 REPL 和 CLI 工作流。其原生 MCP 服务器会向兼容 MCP 的 AI 客户端公开所有工具,使 Claude Code 和 Claude Desktop 等应用程序能够在对话期间直接调用 OSINT 实用工具。

OpenOSINT 还支持不同的运行方式:

  • 借助 Docker Compose,团队可以将应用程序及其依赖项打包到可复现的环境中、执行一次性命令、请求 JSON 输出,并持久保存生成的报告。
  • 可选的 Web UI 提供基于浏览器的 AI 聊天功能,包括流式工具输出、内嵌结果卡片以及浅色和深色主题。它可以连接 Ollama 以实现完全本地化的推理,也可以连接与 OpenAI 兼容的端点。这些选项为工程师提供了便捷的界面,可在将工作流整合到生产自动化流程之前测试工具并审查结果。

总结

本文介绍了什么是 OpenOSINT、它支持哪些调查工具,以及如何通过交互式 REPL 使用它。你还了解了它的其他集成功能及运行方式。

正如你所了解的,Bright Data 通过实时 Google 搜索结果和可靠的公开页面提取能力赋能 OpenOSINT,即使 CAPTCHA 等访问障碍使数据采集变得复杂,也能正常工作。这使静态 dork 查询转化为独特 AI 辅助工作流中的可操作情报。

立即免费创建 Bright Data 账户,将你的 OSINT 调查转化为自动化网页情报工作流。

支持支付宝等多种支付方式

Federico Trotta

技术写作者

3 years experience

Federico Trotta 是一名技术写作者、编辑和数据科学家。擅长技术内容管理、数据分析、机器学习和 Python 开发。

Expertise
数据分析 AI 网页抓取