mcpField
O
OpenOSINT

OpenOSINT

本地服务
openosint.tech安全1.8k6 天前更新

关于 OpenOSINT

OpenOSINT 是面向安全研究人员和分析师的 OSINT 调查 Agent,提供自然语言调查和 21 种工具。它默认采用被动检查,并展示产生调查发现的工具调用。

主要功能

  1. 01自然语言串联工具
  2. 0221 种调查工具
  3. 03默认被动模式
  4. 04Markdown 和 PDF 报告
  5. 05REPL、CLI 和浏览器界面

适用场景

  1. 01调查域名和 IP 暴露情况
  2. 02检查泄露事件与公开账号线索
  3. 03核查基础设施和 DNS 记录

MCP 相关

MCP 服务向兼容的 AI 客户端提供调查工具。默认开放被动工具,主动工具需明确启用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sonotommy-openosint": {
"command": "uvx",
"args": [
"openosint"
],
"env": {
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"HIBP_API_KEY": "<HIBP_API_KEY>",
"IPINFO_TOKEN": "<IPINFO_TOKEN>",
"IP2LOCATION_API_KEY": "<IP2LOCATION_API_KEY>",
"ABUSEIPDB_API_KEY": "<ABUSEIPDB_API_KEY>"
}
}
}
}
启动命令uvx openosint
需要配置的环境变量
ANTHROPIC_API_KEY密钥Anthropic API key — required for the AI agent REPL
HIBP_API_KEY密钥HaveIBeenPwned API key for breach detection (search_breach tool)
IPINFO_TOKEN密钥ipinfo.io token for higher IP lookup rate limits (search_ip tool)
IP2LOCATION_API_KEY密钥IP2Location API key for enhanced IP intelligence (search_ip2location tool)
ABUSEIPDB_API_KEY密钥AbuseIPDB API key for IP abuse reputation checks (search_abuseipdb tool)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypiopenosint2.15.2

工具

20

收录的工具列表 · 更新于 2 周前

参数类型必填说明
emailstring是
json_outputboolean否以结构化 JSON 格式返回结果。

详细介绍

mcp-name: io.github.OpenOSINT/openosint

OpenOSINT

OpenOSINT

面向安全研究人员和分析师的 OSINT(开源情报)Agent:通过自然语言界面提供 21 种调查工具,并附带 MCP(Model Context Protocol)服务,让任何兼容 MCP 的 AI 客户端都能直接调用这些工具。

可将其用作 REPL、命令行、MCP 服务或浏览器 Web UI。

工具结果来自真实执行,每项发现都会显示生成该结果的工具调用。AI 摘要只是需要核实的线索,并非证据。

Release PyPI PyPI downloads License MIT MCP MCP Registry Sponsored by IP2Location Sponsored by TestMu AI

基于此引擎构建的托管版本:

  • Monitor:定期检查域名的电子邮件身份验证、TLS、安全标头和相似域名;当情况恶化时发送电子邮件通知。一个域名可免费使用。
  • Diligence:针对英国公司及任何拥有 LEI 的公司,从官方登记处和制裁名单中获取尽职调查信号,并注明每项信号的来源和检索时间。

文档: https://openosint.tech/docs/

OpenOSINT 是一款用于被动检查公开信息的开源引擎;托管产品基于此引擎构建,以下所有内容均免费且采用 MIT 许可证。

自托管(免费,MIT)

pip install openosint
# Grade a domain's external exposure A-F (no API key, no AI provider)
openosint exposure example.com

# Interactive AI REPL (default)
openosint

# Web interface
openosint web

试用在线演示 → — 自备 Anthropic / OpenRouter / Ollama 密钥,无需注册。

用法

启动 REPL 并调查任意目标——Agent 会决定运行哪些工具,并根据发现串联调用:

openosint > investigate example.com

  -> search_dns('example.com')
  -> search_whois('example.com')
  -> search_rdap('example.com')

  Report saved -> reports/2026-05-11_14-32-11_report.md

功能

能力详情
AI 工具链式调用Agent 会根据调查结果选择并串联工具;使用自然语言描述目标
21 个模块化工具电子邮件、用户名、数据泄露、WHOIS、RDAP、IP、子域名、搜索运算符、粘贴站点、电话、Shodan、VirusTotal、Censys、IP2Location、AbuseIPDB、GitHub、DNS、GDELT 新闻地理位置、实时搜索运算符、URL 抓取、SERP 足迹
三种 AI 后端Anthropic Claude(默认)、本地 Ollama,或任何兼容 OpenAI 的端点(LiteLLM、vLLM、LM Studio,……)
原生 MCP 服务21 个工具中有 16 个为被动工具,默认启用。服务默认列出 20 个工具(这 16 个工具,以及 4 个图谱和批处理辅助工具);使用 --allow-active 时列出 25 个(默认被动);可通过 uvx 运行,无需单独安装
并行执行--parallel 通过 asyncio.gather() 并发运行互补工具
报告每次调查后自动保存 PDF 和 Markdown 报告(reportlab 为可选项)
会话历史所有 REPL 会话均保存到 ~/.openosint/history/;使用 openosint history 浏览
Web UI基于浏览器的 AI 聊天界面,支持流式输出、工具卡片以及浅色/深色主题

OpenOSINT 地球仪视图:Agent 调查由聊天提示词触发后,会在交互式 3D 地球仪上显示为一个点;点击该点即可转入后续调查,新实体也会显示在实体图谱中 调查结果会实时显示在地球仪上——点击某个点即可转入后续调查。观看更清晰的 MP4。

图谱 Web UI 演示(合成数据):实体图谱浏览器显示两个 Organization 节点,它们分别由 openosint:github 和 openosint:whois 数据集独立观测,并通过一条虚线 same_as 候选边相连,评分为 0.83;点击节点会打开侧边栏,列出每条陈述及其数据集、提取器、运行 ID 和置信度;点击虚线边会打开人工审核卡片,逐字段比较两个实体——匹配值以绿色显示,不同值以琥珀色显示——并说明产生该评分的名称匹配特征;审核者点击 Accept 后,图谱会就地更新:这两个实体会聚类,边则变为实线 same_as 核验边

确定性合成数据演示——所有显示的实体均为虚构;可通过 demo/web_demo.py 重新生成。
实体是在陈述层预置的,并非由当前映射器生成——详见 demo/README.md。

---

法律免责声明:OpenOSINT 仅供合法且经授权的用途。 用户须独自负责确保其使用符合所有适用法律法规。 作者对任何滥用行为概不负责。请参阅 DISCLAIMER.md。

工具

工具基于调查内容
search_emailholehe与电子邮件地址关联的社交账号(请求量大,默认关闭)
search_usernamesherlock用户名在 400+ 个平台上的出现情况(请求量大,默认关闭)
search_breachHaveIBeenPwned v3 API数据泄露暴露情况
search_whoispython-whois域名注册人和 DNS 信息
search_ipipinfo.io地理位置、ASN、主机名
search_domainsublist3r子域名枚举(请求量大,默认关闭)
generate_dorks内置12 个定向 Google dork URL(不进行网络调用)
search_pastepsbdmp.wsPastebin 泄露内容提及
search_phonephoneinfoga运营商、国家、线路类型(网络行为未经验证,默认关闭)
search_shodanShodan API开放端口、横幅、CVE
search_virustotalVirusTotal API v370+ 个杀毒引擎的判定结果
search_ip2locationIP2Location.io API增强型 IP 情报:VPN/Proxy/Tor/数据中心标记(赞助支持)
search_censysCensys Search API面向互联网的基础设施、证书
search_abuseipdbAbuseIPDB v2 APIIP 滥用信誉:置信度分数、报告、国家、ISP
search_githubGitHub REST API个人资料、仓库、通过提交发现的电子邮件、用户名/关键词搜索
search_dnsdnspython(内置)A/AAAA/MX/NS/TXT/CNAME/SOA 记录;SPF、DMARC、DKIM 分析
search_rdapRDAP(IANA 引导,无需密钥)注册商、注册/到期日期、名称服务器、状态;根据政策隐去注册人联系信息
search_gdelt_geoGDELT 15-minute GKG feed(无需密钥)在地图上标注的近期全球新闻:标题、链接、地点;GeoJSON 输出
search_dorks_liveBright Data¹ SERP APIdork 查询的实时 Google 搜索结果(标题、URL、摘要)
scrape_urlBright Data Web Unlocker获取任意 URL,绕过 Cloudflare/CAPTCHA — 返回整洁的 Markdown(会访问目标,默认关闭)
search_footprintBright Data SERP API可识别实体类型的公开搜索引擎足迹:检测电子邮件/用户名/域名/电话/姓名,并返回结构化结果和实体关联图节点/边

完整的工具文档、CLI 标志和输出格式:openosint.tech。

默认被动

OpenOSINT 以被动模式启动:Agent 和 MCP 客户端只能使用查询第三方数据源或在本地计算的工具。会接触目标基础设施,或从你的 IP 地址向目标发送大量请求的工具,在你选择启用前都处于关闭状态。调用这些工具时,它们不只是被拒绝,而是根本不会提供给模型,MCP 客户端也不会在 tools/list 中看到它们。

级别含义
passive查询第三方数据源或在本地计算;不会从你的设备向目标自身的基础设施发送请求。标准 DNS 查询是唯一的间接例外:它们会通过你的解析器访问目标的名称服务器(参见 search_dns)。
touches target发送目标基础设施可见的请求(目标的 Web 服务器、DNS 探测,或代你获取其 URL 的服务)。
noisy请求量大,或向多个第三方服务发送关于目标的请求;可能遇到速率限制、WAF 拦截,也可能触发警报。
unverified网络行为尚未通过流量捕获验证;按非被动处理。
inherits扇出工具;仅运行当前模式允许的操作。
被动查询并不意味着隐私安全。 你查询的每项第三方服务都会看到你的搜索内容,通常还会看到你的 API 密钥或 IP 地址。请将对 Shodan、HIBP、VirusTotal、Bright Data 等类似服务的查询视为对这些服务提供商可见。

请明确启用主动工具(每项工具都标注了噪声级别):

位置方法
CLI / REPLopenosint --allow-active …
任意进程OPENOSINT_ALLOW_ACTIVE=1
Web UI设置 → "Enable active tools"(仅限环回地址)
MCP 服务uvx --from openosint openosint-mcp --allow-active(若已安装,也可使用 openosint-mcp --allow-active),或在客户端的 env 块中设置 OPENOSINT_ALLOW_ACTIVE=1

无论设置如何,公开可访问的实例或演示实例都无法启用主动工具。如果请求了已禁用的工具,它会返回结构化的 disabled_in_passive_mode 结果,并说明如何启用。

工具调用上限。 每个用户请求受 OPENOSINT_MAX_TOOL_CALLS 限制(默认:15 次调用;每条新消息都会重置)。investigate_multi 的所有目标共用一个上限(OPENOSINT_MAX_TOOL_CALLS_MULTI,默认 30 次)。达到上限后,调查会停止并显示明确提示。自行驱动工具的 MCP 客户端不受服务端上限限制;只有 investigate_multi 受限。

工具级别默认状态实际发送的内容和发送位置
generate_dorks被动开启在本地构建 Google 搜索 URL;不发送任何内容。
graph_export被动开启仅读取本地图数据库。
graph_neighbors被动开启仅读取本地图数据库。
graph_review_candidates被动开启仅读取本地图数据库。
investigate_graph继承开启从一个种子开始串联工具;在被动模式下,仅调用被动工具。
investigate_multi继承开启在共享工具调用上限下,为每个目标运行一个 Agent;除非启用主动模式,否则为被动模式。
scrape_url触及目标关闭Bright Data 会获取该 URL,因此目标服务器会记录一条请求(请求来自 Bright Data 的 IP,而非你的 IP)。
search_abuseipdb被动开启向 api.abuseipdb.com 发送一次请求。
search_breach被动开启向 haveibeenpwned.com 发送一次请求。
search_censys被动开启调用 Censys API;返回 Censys 已持有的数据。
search_dns被动开启记录查询通过你的 DNS 解析器进行;目标的名称服务器看到的是解析器,而不是你。**主动部分:**DKIM 选择器探测(枚举)仅在启用主动工具时运行。
search_domain嘈杂关闭sublist3r 从你的 IP 抓取多个搜索引擎和聚合网站;可能遇到验证码和封锁。
search_dorks_live被动开启通过 Bright Data 获取 Google 结果;目标会发送给这两项服务。
search_email嘈杂关闭holehe 使用你的 IP,通过电子邮件地址探测许多网站的注册/重置流程;可能通知账户所有者或触发安全警报。
search_footprint被动开启通过 Bright Data 发起最多 3 次 Google 查询;目标会发送给这两项服务。
search_gdelt_geo被动开启下载 GDELT 的公开新闻源并在本地筛选;搜索词不会离开你的设备。
search_github被动开启向 api.github.com 发送少量请求。
search_ip被动开启向 ipinfo.io 发送一次请求。
search_ip2location被动开启向 api.ip2location.io 发送一次请求。
search_paste被动开启向 psbdmp.ws 发送一次请求。
search_phone未验证关闭运行 phoneinfoga;尚未通过流量捕获验证它在网络上发送的内容。
search_rdap被动开启查询 IANA 和注册局的 RDAP 服务器,而非目标。
search_shodan被动开启调用 Shodan API;读取 Shodan 现有索引,不会请求新的扫描。
search_username嘈杂关闭sherlock 从你的 IP 向数百个网站发送请求;可能遇到速率限制和 WAF 封锁。
search_virustotal被动开启IP、域名和哈希查询读取 VirusTotal 的现有数据。提交 URL 是单独的主动模式,默认关闭:它会让 VirusTotal 获取该 URL,并使其对 VirusTotal 社区可见。
search_virustotal(URL 提交)触及目标关闭VirusTotal 会获取提交的 URL,且该 URL 会对 VirusTotal 社区可见,这可能会暴露你的调查。
search_whois被动开启查询注册局/注册商的 WHOIS 服务器,而非目标。

此表说明了各工具根据其代码实际执行的操作。但这并不保证远程服务或 holehe、sherlock、sublist3r、phoneinfoga 等第三方二进制程序会如何处理请求。

search_email

使用 holehe 枚举与电子邮件地址关联的在线服务。默认关闭,因为该工具会产生较多网络活动:需要安装 holehe 二进制程序,并启用 --allow-active(或设置 OPENOSINT_ALLOW_ACTIVE=1)。

openosint --allow-active email [email protected]
[+] Spotify        https://open.spotify.com/user/target
[+] WordPress      https://wordpress.com/target
[+] Gravatar       https://gravatar.com/target
[+] Office365      email used
search_username

使用 sherlock 跨 400 多个平台搜索用户名。

openosint username johndoe99
[+] GitHub         https://github.com/johndoe99
[+] Twitter        https://twitter.com/johndoe99
[+] Reddit         https://reddit.com/user/johndoe99
search_breach

通过 HaveIBeenPwned v3 API 检查数据泄露情况。需要 HIBP_API_KEY。

[+] LinkedIn (2016-05-05) — leaked: Email addresses, Passwords
[+] Adobe (2013-10-04) — leaked: Email addresses, Password hints
search_whois

使用 python-whois 获取 WHOIS 数据。

[+] Registrar: ICANN
[+] Created: 1995-08-14
[+] Expires: 2024-08-13
[+] Name Servers: A.IANA-SERVERS.NET
search_ip

通过 ipinfo.io 获取地理位置和 ASN 数据。免费额度:每月 50k 次。

[+] Hostname: dns.google
[+] Org: AS15169 Google LLC
[+] City: Mountain View, CA, US
search_domain

使用 sublist3r 枚举子域名。

[+] mail.example.com
[+] dev.example.com
[+] api.example.com
generate_dorks

为任意目标生成 12 个有针对性的 Google dork URL。不发起网络请求。

[+] "johndoe" site:linkedin.com
    https://www.google.com/search?q=%22johndoe%22+site%3Alinkedin.com
[+] "johndoe" leaked OR breach OR dump
    https://www.google.com/search?q=%22johndoe%22+leaked+OR+breach+OR+dump
search_paste

通过 psbdmp.ws 搜索 Pastebin 泄露内容。

[+] https://pastebin.com/aB1cD2eF (2023-04-12)
[+] https://pastebin.com/xY3zA4bC (2022-11-08)
search_phone

使用 phoneinfoga 收集电话号码情报。请使用 E.164 格式。

[+] Country: United States
[+] Carrier: AT&T
[+] Line type: Mobile
search_shodan

输入 IPv4 地址 → 查询主机(开放端口、组织、CVE)。其他查询 → 搜索横幅信息/关键词。需要 SHODAN_API_KEY。

openosint shodan 8.8.8.8
openosint shodan "apache port:80 country:DE"
[+] Org: Google LLC  |  Open ports: 53, 443
search_virustotal

通过 VirusTotal 的 70 多个引擎检查 IP、域名、URL 或文件哈希。自动检测输入类型。需要 VIRUSTOTAL_API_KEY。

openosint virustotal 8.8.8.8
openosint virustotal example.com
openosint virustotal 44d88612fea8a8f36de82e1278abb02f
[VirusTotal] Malicious: 0 / Harmless: 72
search_ip2location

查询 IP2Location.io,获取增强型 IP 情报:地理位置、ISP、ASN,以及在 Security Plan 中提供的 VPN/Proxy/Tor/数据中心检测。赞助集成。需要 IP2LOCATION_API_KEY。

openosint ip2location 8.8.8.8
[IP2Location] City: Mountain View, CA, US  |  ISP: Google LLC
[IP2Location] VPN: No  |  Proxy: No  |  TOR: No  |  Datacenter: Yes
search_censys

IPv4 → 主机视图(开放端口、服务、ASN)。域名 → 证书搜索(SAN、签发者)。需要 CENSYS_API_ID 和 CENSYS_SECRET。

openosint censys 8.8.8.8
openosint censys example.com
[Censys] Open Ports: 53, 443, 853  |  ASN: AS15169 Google LLC
search_abuseipdb

通过 AbuseIPDB v2 检查 IP。返回滥用置信度评分、报告总数、国家/地区、ISP 和最近报告时间戳。需要 ABUSEIPDB_API_KEY。

openosint abuseipdb 198.51.100.1
[AbuseIPDB] Abuse Confidence Score: 87%  |  Total Reports: 143
⚠️  HIGH ABUSE CONFIDENCE — flagged by AbuseIPDB

当 abuseConfidenceScore 超过 50% 时会显示警告。

search_github

查询 GitHub REST API。用户名 → 个人资料、仓库、通过提交记录发现的邮箱。关键词 → 搜索用户/仓库。可选的 GITHUB_TOKEN 可将速率限制从每小时 60 次提高到 5000 次。

openosint github johndoe99
[GitHub] Repos: 42  |  Followers: 128
[GitHub] Commit email: [email protected]
search_dns

使用 dnspython 查询 A/AAAA/MX/NS/TXT/CNAME/SOA 记录,并分析 SPF、DMARC 和 DKIM 配置(不调用外部 API)。

openosint dns example.com
[DNS] A: 93.184.216.34
[DNS] MX: mail.example.com (priority 10)
[DNS] SPF: v=spf1 include:_spf.google.com ~all
search_rdap

通过 RDAP 查询域名的注册商、注册和到期日期、名称服务器及状态码。RDAP 是 WHOIS 的机器可读后继协议。无需密钥:它会查询 IANA 引导注册表以确定负责该 TLD 的服务,然后向该服务发起查询。注册人联系信息会根据注册局政策予以隐藏,绝不会返回。

[+] Registrar: RESERVED-Internet Assigned Numbers Authority
[+] Registered: 1995-08-14T04:00:00Z
[+] Name servers: elliott.ns.cloudflare.com, hera.ns.cloudflare.com
search_gdelt_geo

近期、带地理位置信息的全球新闻。旧版 GDELT GEO 2.0 API 已停用(会返回 HTTP 404),因此此工具会读取 GDELT 的 15 分钟 GKG 文章 feed(data.gdeltproject.org,无需密钥或账户),并在内存中保留最近 6 小时的文章。每篇文章都包含标题、链接和提及的地点;查询会与标题和 URL 匹配(支持带引号的短语和 OR;* 表示全部),并按地点分组显示结果。系统会舍弃国家级提及,因此地图上的点标记的是城市和地区,而非国家中心。

首次使用此工具前不会下载任何内容,因此从未打开地球视图的本地安装不会获取 GDELT 文件。首次搜索只会加载最新的 15 分钟文件并据此作答;较早的文件会在后台加载,结果(以及地球视图)会说明覆盖范围,例如 News: last 15 min — older articles still loading。此后,无论运行多少次搜索,上游流量都是每 15 分钟下载一个小文件。

GDELT geolocated news for 'ukraine': 53 location(s), 471 article mention(s). Coverage: the last 6 h.

[+] Kyiv, Kyyiv, Ukraine (50.4333, 30.5167) — 38 article(s)

在地球视图上选择一个区域(按住 Shift 并拖动),即可只搜索该区域内的内容。发生故障时(feed 中断、文件过大或损坏),工具会返回一个 [service_unavailable] search_gdelt_geo 结果,地球视图则会显示通知,而非空白图层。

变量默认值用途
OPENOSINT_GDELT_WINDOW_HOURS6文章保留的时间范围(1–24)。完整的 6 小时窗口约保留 23,000 篇文章,并占用约 65 MB 内存。
OPENOSINT_GDELT_MAX_ARTICLES30000存储文章数量的硬上限;超出时优先删除最旧的文章。
OPENOSINT_GDELT_USE_PROXY关闭通过 OPENOSINT_PROXY_URL 转发 GDELT 下载(默认绕过代理:该 feed 是公开的)。

署名和条款。 新闻数据:The GDELT Project。GDELT 的使用条款指出:“GDELT Project 发布的所有数据集均可免费用于任何类型的学术、商业或政府用途,不受限制。”以及“任何使用或重新分发数据的行为都必须注明 GDELT Project,并附上指向本网站(https://www.gdeltproject.org/)的链接。”(引文日期:2026-10-06)。地球视图会在地图署名中保留 GDELT 署名。标题和链接来自第三方新闻网站,并以纯文本形式显示。

search_dorks_live

通过 Bright Data SERP API¹ 执行实时 Google dork 查询,并返回结构化结果(标题、URL、摘要)。默认每次运行 5 条 dork;每条都会产生单独的计费 API 调用。需要 BRIGHTDATA_API_KEY 和 BRIGHTDATA_SERP_ZONE。

openosint search-dorks-live "john doe" --max-dorks 3
[+] Dork: "john doe" site:linkedin.com
    Title:   John Doe | LinkedIn
    URL:     https://www.linkedin.com/in/john-doe-12345
scrape_url

通过 Bright Data Web Unlocker¹ 获取任意公开 URL 的内容,绕过 Cloudflare/CAPTCHA。返回格式整洁的 Markdown。需要 BRIGHTDATA_API_KEY 和 BRIGHTDATA_UNLOCKER_ZONE。

openosint scrape https://example.com
[Web Unlocker] Remote status: 200
# Example Domain
This domain is for use in illustrative examples in documents.
search_footprint

通过 Bright Data SERP API¹ 收集目标在公开搜索引擎上的足迹。此工具会检测实体类型(电子邮件、用户名、域名、电话号码或全名),并运行适配实体类型的 Google 查询,返回结构化结果,以及针对已发现域名和个人资料的实体关联图节点/边。需要 BRIGHTDATA_API_KEY 和 BRIGHTDATA_SERP_ZONE。

openosint footprint johndoe99

Graph 模块(可选)

一个附加的 FollowTheMoney 实体图谱——包含语句级来源信息、仅追加存储、非破坏性 same_as 去重和人工审核队列——与上述工具并存,不会对它们作任何更改。在普通的 uvx openosint web 安装中,无需编译器或额外组件,即可使用存储、/graph 页面、/api/graph/* 路由以及 graph_neighbors / graph_review_candidates MCP 工具。graph extra(pip install "openosint[graph]",会构建 PyICU)会添加真正的 FollowTheMoney 库:graph_export 和 .ftm 导出。graph-dedup extra(Python 3.11+)会添加 same_as 评分。未安装 extra 时,ID 由一份 vendored 副本生成;CI 测试会验证其与 FollowTheMoney 生成的 ID 逐字节一致,因此无论哪种情况都能读取 graph.db。Web UI 和 Agent 都不会向此存储写入内容:它通过 Python API 填充(完整指南和示例见 docs/graph.md);主 UI 中的 GRAPH 选项卡则是当前聊天内容的独立客户端视图。

docs/graph.md 中的终端演示端到端展示了相同的工作流,包括通过 ftm validate 验证的 .ftm 导出;Web UI 演示见本 README 顶部的演示。


外部暴露面报告(测试版)

openosint exposure 从外部检查一个域名,并为其评定 A-F 等级。这是一份特定时间点的报告:检查组织级别的电子邮件身份验证、TLS、域名注册和安全标头,还可选检查相似域名。电子邮件、注册信息和相似域名检查均为被动检查(仅使用 DNS 和 RDAP);TLS 和安全标头检查会在目标的 443 端口建立一次连接。无需 AI 提供商或 API 密钥。

openosint exposure example.com                       # terminal summary and grade
openosint exposure example.com --json                # structured JSON
openosint exposure example.com --report out.html --lang it   # self-contained HTML report (it or en)
openosint exposure example.com --lookalikes          # also look for registered typo/homoglyph/TLD-swap domains
openosint exposure example.com --resolver 1.1.1.1    # recursive resolver for lookups outside the domain's own nameservers
openosint exposure example.com --checks email,registration   # passive checks only: never contacts the target

--checks 可接受 email、registration、tls、http_headers 中的任意选项(默认:全部四项)。选择部分检查时不会评分:报告不会显示等级或分数,因为仅根据部分检查结果给出的等级会被误认为完整结果。在 Python 中:run_exposure("example.com", checks=PASSIVE_CHECKS)(两个名称均从 openosint.exposure.api 导入);报告的 not_run 会列出未执行的检查。

想每周检查一次、保留历史记录,并在等级下降时收到电子邮件通知? OpenOSINT Monitor 会为你运行检查,一个域名可免费使用。

检查项噪声级别连接对象
电子邮件身份验证(SPF、DMARC、DKIM、MX)被动仅 DNS
域名注册信息(注册时长、到期时间、DNSSEC)被动RDAP 注册局,而非目标
相似域名(--lookalikes)被动仅 DNS;绝不会连接相似域名的 Web 服务
TLS 证书和协议接触目标与目标在 443 端口进行 TLS 握手(域名和 www)
安全标头接触目标向 https://DOMAIN/ 发送一次 HTTPS GET 请求(会跟随重定向)

它不会扫描端口、登录任何系统或收集个人数据。此等级不是认证,也不能证明符合 NIS2 或其他任何合规要求。相似域名仅通过 DNS 查找,绝不计入等级。

此功能目前为测试版:检查项、评分方式和报告格式可能会在不同版本间更改。HTML 报告页脚会显示其 report_version。


接口

Web UI
uvx openosint web
# or: pip install openosint && openosint web
# Opens http://localhost:8080 automatically

基于浏览器的 AI 聊天,支持工具输出流式传输、内嵌结果卡片以及浅色/深色主题切换。支持通过 Ollama 或任何兼容 OpenAI 的端点进行本地推理,无需 Anthropic API 密钥。

哪些主机和网站可以与服务通信。 在绑定到环回地址时,服务只响应 Host 为 127.0.0.1、localhost 或 ::1 的请求。浏览器发出的每个 /api/* 请求都必须来自 UI 自身的源;跨站请求会被拒绝(不发送 Origin 的脚本和 curl 不受影响)。

变量使用场景
OPENOSINT_ALLOWED_HOSTS通过其他名称(局域网名称、Docker 主机名、反向代理)访问 UI 时使用,例如 OPENOSINT_ALLOWED_HOSTS=osint.lan,localhost。多个值以逗号分隔;格式为 host 或 host:port。在非回环绑定(--allow-remote、Docker)下,只有设置此变量才会进行 Host 检查,因此请在这种情况下设置。
OPENOSINT_ALLOWED_ORIGINS另一个源上的独立前端调用 API 时使用,例如 OPENOSINT_ALLOWED_ORIGINS=http://localhost:3000。多个值以逗号分隔。
OpenOSINT Web UI — 实时实体关联图演示:调查 openosint.tech

试用在线演示 → — 自备 Anthropic / OpenRouter / Ollama 密钥,无需注册。

# Fully local (no API key) — requires Ollama runtime: https://ollama.com
ollama pull llama3.2
openosint web
# Settings -> Ollama (local) -> model: llama3.2

# OpenAI-compatible endpoint (LiteLLM, vLLM, LM Studio, ...)
export OPENAI_BASE_URL="http://localhost:4000/v1"
openosint web
# Settings -> OpenAI API

重大变更(v2.28+):密钥的使用方式现在取决于绑定地址,而非环境变量。 绑定到 127.0.0.1/localhost(默认值)时,行为不变:.env 中的密钥仍像以前一样生效。绑定到其他任何接口(--host 0.0.0.0,这本来就 需要 --allow-remote)时,Web UI 不会使用环境中的密钥 来处理请求;每个调用方都必须提供自己的密钥,并且会彻底禁用 泄露数据查询(search_breach)。无论设置了什么环境 变量,此规则都适用,包括 OPENOSINT_DEMO_MODE;它只能增加限制,不能 解除限制。如果你之前在局域网上公开 Web UI,并使用自己的密钥,且前面没有 针对每个调用方的身份验证,那么这种访问方式将不再可用。

在反向代理后运行? 回环绑定(127.0.0.1)只表示 操作系统接受了来自本机的连接;如果前置组件(nginx、Caddy、Docker/K8s sidecar、 隧道)将请求从其他位置转发过来,它并不能说明 谁可以访问该服务。默认情况下,携带代理转发标头(X-Forwarded-For、X-Forwarded-Proto、 X-Forwarded-Host、Forwarded、CF-Connecting-IP)的请求会被视为 与非回环绑定完全相同:不会使用你的本地密钥,会 阻止泄露数据查询,并告知调用方原因。如果你有意通过反向代理提供此服务, 并希望经该代理转发的请求将其视为普通本地 实例,请设置 OPENOSINT_TRUSTED_PROXY=true。 这是一个独立于现有 TRUSTED_PROXY 的变量(后者只影响速率限制分桶 所归属的 IP——这是风险较低、限制范围本就较宽松的设置,一些可自托管的服务已经启用了它)。 在这里复用该标记会在不征求同意的情况下,悄然将现有的 仅限速率限制的配置升级为同时允许凭据访问。 因此,OPENOSINT_TRUSTED_PROXY 有自己的明确 opt-in。设置它并不意味着会盲目信任 转发标头的内容——内部不一致的值(例如,同一个请求中两个 相互矛盾的 X-Forwarded-Proto 值)仍会被视为 公网请求。设置 OPENOSINT_TRUSTED_PROXY=true 意味着你选择向反向代理 转发到此实例的任何人提供凭据验证查询——你要对他们的查询负责, 这与任何托管服务运营者对其用户所承担的责任相同。如果代理转发的对象超出你的预期, 请在前面配置真正的身份验证。

交互式 REPL

不带任何参数运行 openosint,即可启动 AI 驱动的 REPL:

OpenOSINT 终端 REPL 演示

REPL 命令:

命令描述
<target>调查任意目标——电子邮件、用户名、域名、IP、姓名
clear重置对话记忆
save将上一份报告保存到 reports/
tools列出可用工具及其状态
config显示当前配置
history浏览已保存的会话
help显示所有命令
exit / Ctrl-D退出

所有会话都会自动保存到 ~/.openosint/history/。使用 openosint history 浏览。

使用兼容 OpenAI 的后端运行 REPL/CLI:

pip install "openosint[openai]"
openosint --provider openai \
  --openai-base-url http://localhost:4000/v1 \
  --openai-model gpt-4o-mini
在线文档

完整的工具参考、CLI 标志和配置选项请访问 openosint.tech。

openosint.tech 文档导览
MCP 服务

无需单独安装,即可向任何兼容 MCP 的 AI 客户端开放 OpenOSINT。必须先安装 uv;随后 uvx 会按需获取并运行 openosint。默认情况下,服务会列出 20 个条目(16 个被动工具,以及 4 个图谱和批处理辅助工具);使用 --allow-active 时会列出 25 个(参见默认被动模式)。

所有客户端运行的命令都相同:

uvx --from openosint openosint-mcp   # passive tools only (20 listed)

GUI 客户端(Claude Desktop、Cursor)启动时通常使用精简的 PATH,其中不包含 uvx。如果服务无法启动,请将 "uvx" 替换为 which uvx(macOS/Linux)或 where uvx(Windows)输出的绝对路径。

Claude Code:

claude mcp add openosint -- uvx --from openosint openosint-mcp
claude mcp list

添加 API 密钥(-e 标志必须放在 -- 之前):

claude mcp add openosint -e SHODAN_API_KEY=your-key -e HIBP_API_KEY=your-key -- uvx --from openosint openosint-mcp

可选,可启用主动工具: 在 openosint-mcp 后追加 --allow-active,或添加 -e OPENOSINT_ALLOW_ACTIVE=1。这会开放有噪声且会触及目标的工具(列出的工具从 20 个增至 25 个);请先查看噪声表。

Claude Desktop — 编辑 claude_desktop_config.json,然后重启应用:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "openosint": {
      "command": "uvx",
      "args": ["--from", "openosint", "openosint-mcp"],
      "env": {
        "SHODAN_API_KEY": "your-key",
        "HIBP_API_KEY": "your-key"
      }
    }
  }
}

可选,可启用主动工具: 在 args 中添加 "--allow-active",或在 env 中添加 "OPENOSINT_ALLOW_ACTIVE": "1"。这会开放有噪声且会触及目标的工具(列出的工具从 20 个增至 25 个);请先查看噪声表。

Cursor — 将相同的代码块添加到 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(每个项目);上述可选的主动工具设置同样适用:

{
  "mcpServers": {
    "openosint": {
      "command": "uvx",
      "args": ["--from", "openosint", "openosint-mcp"],
      "env": { "SHODAN_API_KEY": "your-key" }
    }
  }
}

API 密钥应放在客户端的 env 块中。MCP 宿主启动服务时使用的工作目录与项目无关,因此无法可靠地读取 .env 文件;如需使用,请在同一 env 块中设置 "OPENOSINT_ENV_FILE": "/absolute/path/to/.env"。

默认情况下,服务仅列出被动工具,因此客户端的大模型无法看到有噪声的工具。每个工具描述都会标明其噪声等级。使用 --from openosint==2.36.1 固定版本。若要从源代码检出目录运行,请使用:"command": "python", "args": ["-m", "openosint.mcp_server"]。

通过 Claude Code 进行 Agent 式使用:

$ claude
> Investigate [email protected]. Trace any username found
  across other platforms and compile a full report.

安装

快速入门 — 一条命令启动 Web 界面

安装一次 uv。它会在独立的隔离环境中运行 OpenOSINT,因此无需配置 Python:

# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

然后启动 OpenOSINT(如果找不到 uvx,请先打开一个新终端):

uvx openosint web

你应该会看到:

[*] OpenOSINT x.y.z web server
[*] App  → http://127.0.0.1:8080/
[*] Data → /home/you/.openosint

浏览器会自动打开;如果没有,请访问 http://127.0.0.1:8080/。启动时无需 .env 文件或 API 密钥——无需密钥的工具可以立即使用,而 AI 聊天需要提供商密钥(ANTHROPIC_API_KEY)或本地 Ollama。

想要……操作
使用其他端口uvx openosint web --port 8081(如果 8080 端口正忙,OpenOSINT 会退出并提示你)
不打开浏览器uvx openosint web --no-browser
查找数据图数据库和会话历史位于 ~/.openosint/(Windows 上为 %USERPROFILE%\.openosint)。通过 OPENOSINT_HOME=/path 移动数据;OPENOSINT_GRAPH_DB 仍仅覆盖 graph.db。
查找报告CLI 和 REPL 报告会写入你运行 openosint 所在目录下的 ./reports/。Web 界面不会写入报告。
使用实体图存储直接运行 uvx openosint web 即可,无需编译器:可使用 /graph 页面、/api/graph/* 以及 graph_neighbors / graph_review_candidates MCP 工具。graph_export(.ftm)需要 graph extra,该选项会构建 PyICU,因此需先安装 libicu 和 C++ 编译器(Ubuntu:sudo apt install libicu-dev pkg-config g++;macOS:brew install icu4c pkg-config 并运行 export PKG_CONFIG_PATH="$(brew --prefix icu4c)/lib/pkgconfig"),然后运行 uvx --from "openosint[graph]" openosint web;也可以使用包含这些依赖的 Docker。存储初始为空:数据通过 Python API 写入,而非通过界面写入。
其他选项
# pip (Python 3.10+)
pip install openosint
openosint web

# Updating
pip install --upgrade openosint

# From source
git clone https://github.com/OpenOSINT/OpenOSINT.git
cd OpenOSINT
pip install -e .

外部二进制文件(必须位于 PATH 中):

二进制文件用途安装
holehe枚举电子邮件账户pip install holehe
sherlock枚举用户名(400 多个平台)pip install sherlock-project
sublist3r枚举子域名pip install sublist3r
phoneinfoga电话号码情报下载二进制文件

如果缺少某个二进制文件,相应工具会返回说明性错误。其他所有工具仍可正常运行。

可选 Python 包:

包用途安装
ollama本地 LLM 后端(无需 API 密钥)pip install "openosint[ollama]" (还需要 Ollama runtime)
openaiOpenAI 兼容后端pip install "openosint[openai]"
shodanShodan API 客户端pip install "openosint[shodan]"
reportlab导出 PDF 报告pip install "openosint[pdf]"
censysCensys API 客户端pip install "openosint[censys]"

配置

**最简单的方式:**打开 Web 界面。在本地安装时,默认情况下,Settings 会将密钥保存在这台 计算机上(“Save on this computer”),首次运行面板也会如此;“Use only for this browser session”是次要选项,只会将密钥保存在当前标签页中。在 公开演示版中,密钥会保存在浏览器中。密钥会写入数据目录中的 config.env (~/.openosint/config.env,或 $OPENOSINT_HOME/config.env),绝不会写入已安装的 软件包;在操作系统支持的情况下,文件权限仅允许当前用户访问(0600)。 密钥值绝不会被记录到日志或发送回浏览器;界面只会显示已配置的密钥及各值的来源。

优先级从高到低:

  1. 实际环境变量(已保存的值无法覆盖它;界面会对此进行提示)
  2. 数据目录中的 config.env
  3. 旧版 .env(以下位置) 现有的 .env 仍可继续使用。如果包根目录下的文件(源码检出目录或 Docker 镜像)是将要加载的文件,其中已知的设置会被复制到 config.env 中一次,并在 stderr 上显示一条通知,其中列出键名,但绝不显示值;旧文件会保留,且优先级会降低。

如果要自行管理文件,请将 .env.example 复制为 .env,并填入密钥。.env 会从运行 openosint 的目录读取(像 git 查找 .git 一样向上搜索)——它不需要位于任何特定的“项目根目录”,普通的 pip install 与从源码检出目录运行的方式相同。设置 OPENOSINT_ENV_FILE=/path/to/.env 可指定文件路径(这对 MCP 服务很有用,因为它由宿主在任意工作目录中启动)。真实的环境变量始终优先于 .env 中的值。

下表中的 Required 表示该设置是特定工具运行所必需的,而非 openosint 本身所必需——应用程序可以启动,所有无需密钥的工具也都能在零配置下使用。

变量工具是否必需用途
ANTHROPIC_API_KEYAI agent(REPL/Web UI)是,除非使用 Ollama 或兼容 OpenAI 的端点Anthropic API 密钥
ANTHROPIC_MODELAI agent可选要请求的模型名称(默认:claude-sonnet-5)。替代已弃用的 OPENOSINT_MODEL。
OPENAI_BASE_URLAI agent可选兼容 OpenAI 的端点基础 URL(例如 http://localhost:4000/v1)
OPENAI_API_KEYAI agent可选端点的 API 密钥(本地服务可能会忽略它)
OPENAI_MODELAI agent可选要请求的模型名称(默认:gpt-4o-mini)
OPENOSINT_GDELT_WINDOW_HOURSsearch_gdelt_geo可选保留在内存中的新闻小时数(默认 6,最大 24)。参见 search_gdelt_geo。
OPENOSINT_GDELT_MAX_ARTICLESsearch_gdelt_geo可选存储文章数量上限(默认 30000;优先删除最旧的文章)
OPENOSINT_ENV_FILE全部可选.env 文件的显式路径,覆盖上述目录搜索方式
OPENOSINT_SETUP_TOKENWeb UI可选浏览器不在回环地址上时(Docker)允许保存密钥。通过 X-Setup-Token 发送;UI 中有对应的输入框。未设置 = 禁止从非回环浏览器保存。失败尝试会受到限流。
HIBP_API_KEYsearch_breach此工具必需HaveIBeenPwned v3 — 获取密钥
IPINFO_TOKENsearch_ip可选无此令牌也可使用;可提高 ipinfo.io 的速率限制
SHODAN_API_KEYsearch_shodan此工具必需Shodan API — 获取密钥
VIRUSTOTAL_API_KEYsearch_virustotal此工具必需VirusTotal API v3 — 获取密钥
IP2LOCATION_API_KEYsearch_ip2location此工具必需IP2Location.io — 获取密钥 (赞助)
CENSYS_API_ID + CENSYS_SECRETsearch_censys此工具必需Censys — 获取密钥
ABUSEIPDB_API_KEYsearch_abuseipdb此工具必需AbuseIPDB v2 — 获取密钥
GITHUB_TOKENsearch_github可选无此令牌也可使用(60 req/h);可将限额提高到 5000 req/h — 获取密钥
BRIGHTDATA_API_KEYsearch_dorks_live、scrape_url、search_footprint这些工具必需Bright Data — 获取密钥¹(免费层级:每月 5,000 req)
BRIGHTDATA_SERP_ZONEsearch_dorks_live、search_footprint这些工具必需Bright Data SERP 区域名称(例如 serp_api1)
BRIGHTDATA_UNLOCKER_ZONEscrape_url此工具必需Bright Data Web Unlocker 区域名称(例如 web_unlocker1)
在全新安装且完全没有密钥的情况下,以下工具仍可使用:generate_dorks、
search_dns、search_whois、search_rdap、search_paste、search_ip
(受速率限制)、search_github(受速率限制)和 search_gdelt_geo。

search_email、search_username、search_domain 和 search_phone 也无需密钥, 但默认处于关闭状态,需要设置 --allow-active,并安装相应的外部二进制文件 (holehe、sherlock、sublist3r、phoneinfoga)。

CLI 参考

标志 / 子命令描述
openosint交互式 AI REPL(默认)
openosint web [--port N] [--no-browser]启动浏览器界面
openosint exposure DOMAIN对域名的外部暴露进行 A-F 评级(参见外部暴露报告)
openosint --allow-active email ADDRESS [-t N]直接扫描电子邮件(会产生较多流量,默认关闭)
openosint --allow-active username HANDLE [-t N]直接扫描用户名(会产生较多流量,默认关闭)
openosint shodan QUERY [-t N]查询 Shodan
openosint virustotal TARGET [-t N]查询 VirusTotal
openosint censys TARGET [-t N]查询 Censys
openosint ip2location IP [-t N]查询 IP2Location
openosint abuseipdb IP [-t N]检查 AbuseIPDB 信誉
openosint github QUERY [-t N]发现 GitHub 个人资料/仓库/电子邮件
openosint dns DOMAIN [-t N]DNS 记录与电子邮件安全分析
openosint search-dorks-live TARGET [--max-dorks N] [-t N]通过 Bright Data 获取实时 Google dork 结果¹
openosint scrape URL [-t N]通过 Bright Data Web Unlocker 获取 URL 内容
openosint footprint TARGET [--max-queries N] [-t N]通过 Bright Data 进行 SERP 足迹分析
openosint multi TARGETS并行调查多个目标(最多 10 个)
openosint exposure DOMAIN [--lookalikes] [--report FILE.html] [--lang it|en] [--resolver IP]外部暴露报告,评级为 A-F(测试版)
openosint playbook RECIPE TARGET运行确定性调查手册(不使用 AI)
openosint history [--all] [open N] [clear]查看/管理 REPL 会话历史
openosint proxy-test验证已配置的上游代理
openosint sponsors列出当前赞助商和精选集成
openosint shell默认 REPL 的显式别名
--allow-active启用主动工具(会产生较多流量或接触目标)。默认关闭;等同于 OPENOSINT_ALLOW_ACTIVE=1
-v, --verbose启用调试日志并输出到 stderr
-t, --timeout N覆盖子进程超时时间(秒)
--api-key KEYAnthropic API 密钥(覆盖环境变量)
--parallel并发运行互补工具
--json将结果输出为结构化 JSON
--provider {anthropic,ollama,openai}AI 提供商(默认:anthropic)
--ollama-model MODELOllama 模型名称(默认:llama3.2)
--ollama-host URLOllama 服务 URL(默认:http://localhost:11434)
--openai-base-url URLOpenAI 兼容端点的基础 URL(环境变量:OPENAI_BASE_URL)
--openai-model MODEL向端点请求的模型(默认:gpt-4o-mini;环境变量:OPENAI_MODEL)
--openai-api-key KEY端点的 API 密钥(环境变量:OPENAI_API_KEY)
--no-pdf禁用自动生成 PDF

Docker

# Build and run
docker compose up --build

# One-off command
docker compose run --rm openosint exposure example.com --json

.env 是可选的:即使没有密钥,Web UI 仍会在 http://localhost:8080 启动。若要提供密钥,可在 docker-compose.yml 的 environment: 下列出密钥(或放在同目录的 .env 中),也可以将 .env 放入数据卷(/data/.env)。报告会持久化到 ./reports/;图数据库和会话历史保存在 openosint-data 数据卷中(容器内的 /data,通过 OPENOSINT_HOME 指定)。镜像包含图视图。

在 Docker 中通过浏览器保存密钥。 浏览器通过 Docker 网络访问容器,而非通过 loopback,因此 UI 默认无法保存密钥,并会说明原因(而不是静默失败)。你可以在 compose 环境或 .env 中设置密钥,也可以设置令牌并在 UI 的 将密钥保存到服务端 面板中输入:OPENOSINT_SETUP_TOKEN=choose-a-long-random-string docker compose up。保存的密钥会写入 openosint-data 数据卷中的 /data/config.env,并在重启后保留。错误的令牌会受到限流。

端口仅发布到 127.0.0.1,并启用了 Host 检查(compose 文件中的 OPENOSINT_ALLOWED_HOSTS 默认为 localhost,127.0.0.1;如果通过其他名称访问 UI,请扩展此设置)。若要主动从其他机器访问,请运行 OPENOSINT_BIND=0.0.0.0 docker compose up:此时实例会以受限模式运行(不会使用保存在服务端的密钥)。安全提示: UI 的设置端点会接收并存储 API 密钥,因此仅应在你信任的网络上,并置于你信任的防火墙或反向代理之后使用。

警告:OPENOSINT_PUBLISHED_BIND。 docker-compose.yml 会将此项设为与 OPENOSINT_BIND 相同的值,以告知服务端端口发布到哪个地址;精确的 loopback 值(127.0.0.1、localhost、::1)会解除容器绑定到 0.0.0.0 时通常会触发的限制。如果端口发布到了其他任何网络接口,切勿自行将此项设为 loopback 值,也不要将 compose 端口映射修改为与之不一致。

集成

服务URL工具层级身份验证
IP2Location.iohttps://www.ip2location.iosearch_ip2location精选(赞助)API 密钥 — 免费层级
AbuseIPDBhttps://www.abuseipdb.comsearch_abuseipdb社区API 密钥 — 免费层级
Censyshttps://censys.iosearch_censys社区API 密钥 — 免费层级
GitHubhttps://github.comsearch_github社区令牌可选
HaveIBeenPwnedhttps://haveibeenpwned.comsearch_breach社区API 密钥 — 付费
holehehttps://github.com/megadose/holehesearch_email社区无 — 本地二进制文件
ipinfo.iohttps://ipinfo.iosearch_ip社区令牌可选
phoneinfogahttps://github.com/sundowndev/phoneinfogasearch_phone社区无 — 本地二进制文件
psbdmp.wshttps://psbdmp.wssearch_paste社区无
sherlockhttps://github.com/sherlock-project/sherlocksearch_username社区无 — 本地二进制文件
Shodanhttps://shodan.iosearch_shodan社区API 密钥 — 免费层级
sublist3rhttps://github.com/aboul3la/Sublist3rsearch_domain社区无 — 本地二进制文件
VirusTotalhttps://www.virustotal.comsearch_virustotal社区API 密钥 — 免费层级
WHOIS (IANA)https://www.iana.org/whoissearch_whois社区无
DNS(系统解析器)—search_dns社区无
Google Searchhttps://www.google.comgenerate_dorks社区无

限制

  • 仅限授权用途。 OpenOSINT 查询公开和半公开来源。 它不会绕过身份验证、利用系统漏洞,也不会访问你无权查看的内容。你有责任遵守法律以及所查询的每个来源的服务条款。请参阅 DISCLAIMER.md。
  • 不保证信息聚合结果。 每个工具都会报告其上游来源当前返回的内容。未找到结果(未发现泄露、未发现账号) 仅表示该来源没有报告匹配项,并不代表不存在暴露风险。
  • 大多数工具依赖你无法控制的第三方服务。 21 个工具中有 9 个必须提供 API 密钥,且受相应服务商的运行状态、速率限制和定价影响(Shodan、VirusTotal、Censys、AbuseIPDB、IP2Location、HaveIBeenPwned,以及由 Bright Data¹ 提供支持的 3 个工具)。免费套餐的额度有限;大量使用需要向服务商而非 OpenOSINT 购买付费套餐。
  • 本地二进制文件是未受沙盒限制的子进程。 holehe、sherlock、 sublist3r 和 phoneinfoga 会作为外部进程在你的机器上运行。 请自行保持这些程序为最新版本;OpenOSINT 不会为它们打补丁或进行审查。
  • 实体图谱模块(openosint[graph])是补充信息,而非权威依据。 same_as 链接是供人工审核的候选项评分结果, 并非经过验证的身份匹配——请参阅 docs/graph.md。
  • AI 输出是线索,而非证据。 Agent 只能调用上述工具 (默认情况下只能调用被动工具)。工具结果来自实际执行,并会与生成结果的工具调用一同展示,但模型仍可能误读、错误归因或过度看重某项结果;针对特定目标,其工具选择也可能有误或不完整。采取行动前,请检查工具的原始输出。

支持与商业服务

OpenOSINT 免费提供,并采用 MIT 许可证。以下是支持项目或购买托管版、合同版的可选方式。

精选集成

IP2Location.io 标志

IP2Location.io — 为 search_ip2location 提供支持 · 集成指南

增强的 IP 地理定位、ISP、VPN/代理/Tor 和数据中心检测

TestMu AI 标志

TestMu AI

TestMu AI(前身为 LambdaTest)是一个面向现代工程团队的原生 AI 测试云平台。它涵盖从自主测试创建和快速执行,到测试 AI Agent、聊天机器人和语音助手的方方面面。

开放:泄露 / 被盗用的凭证数据 · 电子邮件 / 身份查询 · 住宅代理 — 详见 SPONSORSHIP.md。

贡献

欢迎提交问题和拉取请求。有关开发工作流、集成注册清单和编码规范,请参阅 CONTRIBUTING.md。贡献前请阅读 DISCLAIMER.md。

重新生成演示 GIF/MP4
export OPENOSINT_DEMO_KEY=sk-ant-...   # your Anthropic key — never committed
openosint web &                        # start the web server on :8080
make demo                              # record -> encode -> write docs/assets/demo-web-graph.*
git add docs/assets/demo-web-graph.*

完整的先决条件和流水线详情,请参阅 scripts/record-demo/README.md。

维护者

Tommaso Bertocchi

贡献者

贡献者贡献
@consocio修复 venv/uv-tool 二进制解析问题 — 现在无需单独激活步骤即可找到共同安装的工具(#6)

许可证

OpenOSINT 根据 MIT License 开源 — 可免费用于任何用途,包括个人、商业、学术和闭源用途。


¹ 本 README 中的 Bright Data 链接为联盟 / 推荐链接 — 如果你通过这些链接注册,OpenOSINT 将获得佣金,你无需支付额外费用。

仅限经授权的安全研究。请参阅 DISCLAIMER.md。

OpenOSINT v2.36.1 — 2026 年 10 月

Star 历史

Star 历史图表

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。