mcpField
O
osint

osint

github.com/genericservice生产力061 次安装24 周前更新
代码仓库

关于 osint

osint 是用于公开来源情报调查的技能,适合开展人物、公司、域名及尽职调查研究。它通过范围授权、身份消歧、来源独立性和置信度分级约束调查,并按深度生成报告。

主要功能

  1. 01调查范围与授权检查
  2. 02通过可靠标识区分目标
  3. 03核查来源独立性
  4. 04为发现标注置信等级
  5. 05支持快速、标准和深入调查
  6. 06输出 Markdown 报告及 JSON 旁文件

适用场景

  1. 01会前快速了解潜在客户
  2. 02研究公司或商业账户
  3. 03核查域名相关信息
  4. 04开展供应商或投资尽职调查

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/genericservice/claude-skills --skill osint

安装后在 Claude Code 中输入/osint确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
confidence-grading.md
disambiguation.md
ethics-and-scope.md
original-readme.md
search-operators.md
scripts/
domain-footprint.sh
osint-capabilities.sh
verify-domain.sh
templates/
dossier.md
eval.json
findings.schema.json
workflows/
b2b-account.md
company.md
domain.md
due-diligence.md
person.md

详细介绍

OSINT

遵循辨别规范、置信度评级和分层深度进行开源情报收集。仅使用公开来源。不使用泄露数据。不进行社会工程。尊重范围限制。

此技能负责协调。由你来思考。工具和脚本负责执行——它们获取信息,由你做决定。


如何使用此技能

  1. 对目标分类。 个人、公司、域名/IP、B2B 客户、尽职调查对象或威胁实体。如果存在歧义,请询问用户。
  2. 选择深度。 快速(≤5 分钟,仅网页搜索)→ 标准(15–30 分钟,多工具)→ 深入(完整档案,可能需要一小时)。除非用户另有要求,否则默认选择标准。
  3. 执行以下各道关卡——每次调查都要执行。
  4. 选择工作流。 请参见路由表。
  5. 按照输出规范生成内容——一份 Markdown 档案,以及一个 findings.json 旁置文件。

四道关卡

按顺序执行。跳过任何一道,都会导致 OSINT 出错。

关卡 1 — 范围与授权

在发起任何查询之前,确认以下事项:

  • 合法依据。 关于面向公众的目标(高管、公司、公开域名)的公开信息可以查询。不得调查可能遭遇跟踪、骚扰或未经授权审查的私人个人。如果请求有此类迹象,请拒绝并说明原因。
  • 不使用禁止的方法。 不使用付费泄露数据库。不进行社会工程。不访问你不拥有的账号。不绕过付费墙或平台服务条款。未经明确授权,不主动探测基础设施(端口扫描、漏洞扫描)。
  • 范围声明。 写一句话:“我正在使用[公开来源],为[目的]调查[目标]。” 如果无法清楚地写出这句话,就停止。

完整规则和拒绝清单请参见 references/ethics-and-scope.md。

关卡 2 — 消歧

OSINT 中最常见的重大失误,是把同名的两个人(或两家公司)混为一谈。在报告关于目标的任何信息之前:

  1. 找出所有符合姓名/用户名的合理候选对象。
  2. 选择一个区分依据——雇主、所在地、年龄范围、域名、行业、照片。
  3. 通过主要来源(LinkedIn、公司简介、公司网站、官方登记册)确认区分依据。
  4. 说明你跟踪的是哪个候选对象,以及明确排除了哪些候选对象。

如果无法消歧,请如实说明。不要猜测。

完整流程请参见 references/disambiguation.md。

关卡 3 — 来源独立性

十个内容农场网站重复一条都抄自同一份 LinkedIn 简介的“事实”,只算一个来源,不算十个。为发现结果评级之前:

  • 将每项主张追溯到主要来源(实体本身、权威登记册、一手记录)。
  • 两个由同一母公司持有的来源,或两篇相互引用的文章,算作一个来源。
  • 自行发布的主张(目标自己的 LinkedIn、简介、网站)可用于说明其声称的内容,但不能独立证实相关事实。
关卡 4 — 置信度评级

档案中的每项发现都要标注字母等级:

  • A — 三个或更多独立来源,且至少有一个主要来源或权威来源。
  • B — 两个独立来源。
  • C — 一个来源,或多个非独立来源。
  • D — 推断、可能但未经确认,或仅有单一自发布来源。

如果一项发现只能评为 D,要么删除,要么标注为推断。

评级标准和特殊情况请参见 references/confidence-grading.md。


路由表

将用户意图匹配到工作流。如有不清楚之处,请提问。

用户意图 / 表述工作流
“调查这个人”“对……进行背景调查”“X 是谁”workflows/person.md
“调查这家公司”“X 是做什么的”“X 靠谱吗”workflows/company.md
“B2B 客户情报”“这个潜在客户值得跟进吗”“找出……的买家”“他们用的是什么技术栈”“他们的 MSP 是谁”workflows/b2b-account.md
“检查这个域名/IP”“技术概况”“……上运行着什么”“……的子域名”workflows/domain.md
“尽职调查”“投资级研究”“评估这个供应商/合作伙伴”workflows/due-diligence.md

对于涉及多个目标的调查(例如,调查某家公司的一名员工),请依次运行相关工作流,并合并输出。


阶段模型

开始时选择调查深度。告知用户深度和大致预算,以便他们调整。

快速(≤5 分钟,仅使用 web_search)
  • 进行 3–5 次有针对性的搜索。
  • 阅读 1–2 个一手来源。
  • 输出:2–3 段摘要 + 3–5 条带引用的发现 + 置信度等级。
  • 适用于:初步筛查、“这件事值得关注吗”、会前准备。
标准(15–30 分钟,多工具)
  • 在通用网络、LinkedIn、企业登记信息中进行 8–15 次有针对性的搜索。
  • 阅读 5–10 个一手来源,包括目标自身的资源。
  • 至少交叉核实三项说法,确保来源相互独立。
  • 输出:按照 templates/dossier.md 编写的完整档案 + findings.json 附属文件。
  • 适用于:大多数 B2B 客户工作、潜在客户研究、人物研究。
深入(60 分钟以上,使用所有可用工具)
  • 迭代搜索,逐步缩小范围。
  • 对域名目标进行 DNS/WHOIS/证书透明度调查。
  • 交叉核对多个平台的信息。
  • 在历史数据(Wayback)会影响判断时,将其纳入调查。
  • 输出:完整档案、findings.json,以及一页执行摘要。
  • 适用于:尽职调查、投资决策、大客户工作。

如果要超出已说明的预算,请暂停并在继续前告知用户。


输出约定

每次标准或深入调查都会生成两个文件:

  1. <target-slug>-dossier.md — 面向阅读者,遵循 templates/dossier.md。包含各节标题、每项说法的置信度等级,以及汇总在文末的来源 URL。
  2. <target-slug>-findings.json — 机器可读,遵循 templates/findings.schema.json。每项发现均包含 claim、confidence、sources[]、category、extracted_at。

对于快速调查,只需 Markdown 摘要。JSON 为可选项。

除非用户另有指定,否则将输出保存在工作目录下名为 osint/<target-slug>/ 的文件夹中。


工具使用

**最低要求:**网络搜索 + 获取 URL 的能力。仅凭这些工具即可完成工作。

强烈建议使用(缺少时可平稳降级):

  • LinkedIn 搜索(通过网络搜索运算符或爬虫)
  • 域名调查中的 WHOIS / DNS / 证书透明度
  • GitHub 搜索(免费 API 配额已足够)
  • Wayback Machine(web.archive.org),用于历史调查
  • Apify 或 Bright Data actors,用于社交平台信息提取(需提供 API 密钥)

搜索运算符参考:references/search-operators.md — Google dorks、LinkedIn X-ray、GitHub 搜索语法、Wayback 用法。

API 密钥检查(任何标准或深入调查开始时执行一次,静默进行):

[ -n "$GITHUB_TOKEN" ]   && echo "github: yes"   || echo "github: no"
[ -n "$BRAVE_API_KEY" ]  && echo "brave: yes"    || echo "brave: no"
[ -n "$APIFY_TOKEN" ]    && echo "apify: yes"    || echo "apify: no"
[ -n "$SHODAN_API_KEY" ] && echo "shodan: yes"   || echo "shodan: no"

如果缺少密钥,请改用网络搜索。未先尝试此替代方案前,绝不要告诉用户“我做不了”。


应避免的反模式

  • 不要一开始就给出档案。 先说明调查深度、范围和消歧结果;最后再整理档案。
  • 不要凭空捏造置信度。 将 C 级发现标为 C 很有用。将 C 级发现标为 A,会损害报告其余部分的可信度。
  • 不要用无关信息凑数。 五条来源可靠的发现,胜过五十条随手提及的信息。
  • 不要以为最显眼的匹配对象就是正确人选。 CEO 很有名;你真正想联系的 IT 总监却不出名。
  • 不要撰写推测性传记。 来源没说的内容,你也不要说。
  • 问题有了答案就别继续挖掘。 快速调查就该快。

Agentic OS 集成

如果当前项目根目录包含 .agent/ 目录,此技能必须参与 Agentic OS 共享内存模型。

执行结束时,检查 .agent/state/last-run.json。如果该文件存在,请使用其规定的架构追加或更新文件,以记录本次运行。确保记录运行时信息(agent_id)、assigned_skill、简洁的 description、decision_log 和 outcome。如果要完成队列中的任务,请使用 python3 ~/.agents/skills/heartbeat/scripts/heartbeat.py complete <task_id> ...。

可选:PAI / OpenCode 集成

如果在 PAI 或 PAI-OpenCode 中运行,以下规则会自动生效:

  • ~/.opencode/skills/PAI/USER/SKILLCUSTOMIZATIONS/OSINT/PREFERENCES.md 中的用户自定义设置优先于默认设置。
  • 如果存在 ~/.opencode/skills/Apify/,则使用其中的 Apify actors。
  • 如果 ~/.opencode/skills/PAI/SKILL.md 存在,则会先加载记忆/上下文。

如果这些路径不存在,请忽略。此技能可独立运行。


快速入门示例

用户:“帮我调查 Avenir Senior Living 的 Jason Gurash——B2B 潜在客户,基础设施咨询方向。”

你的第 1 轮回复(暂不整理档案):

正在启动 B2B 账户情报调查。将使用 workflows/b2b-account.md 工作流。深度:标准(约 20 分钟)。消歧目标:Avenir Senior Living 运营副总裁 Jason Gurash。在报告任何关于他个人的细节前,我会先确认匹配对象。范围:用于销售拓展的公开来源——公司网站、LinkedIn、新闻和技术概况。由于个人生活方面的信息与咨询场景无关,我会跳过。现在开始。

然后运行工作流。接着整理包含等级评定的档案。

评论

支持 Markdown