关于 osint
osint 是用于公开来源情报调查的技能,适合开展人物、公司、域名及尽职调查研究。它通过范围授权、身份消歧、来源独立性和置信度分级约束调查,并按深度生成报告。
主要功能
- 01调查范围与授权检查
- 02通过可靠标识区分目标
- 03核查来源独立性
- 04为发现标注置信等级
- 05支持快速、标准和深入调查
- 06输出 Markdown 报告及 JSON 旁文件
适用场景
- 01会前快速了解潜在客户
- 02研究公司或商业账户
- 03核查域名相关信息
- 04开展供应商或投资尽职调查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ genericservice/ claude-skills --skill osint安装后在 Claude Code 中输入/osint确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/confidence-grading.mddisambiguation.mdethics-and-scope.mdoriginal-readme.mdsearch-operators.mdscripts/domain-footprint.shosint-capabilities.shverify-domain.shtemplates/dossier.mdeval.jsonfindings.schema.jsonworkflows/b2b-account.mdcompany.mddomain.mddue-diligence.mdperson.md详细介绍
OSINT
遵循辨别规范、置信度评级和分层深度进行开源情报收集。仅使用公开来源。不使用泄露数据。不进行社会工程。尊重范围限制。
此技能负责协调。由你来思考。工具和脚本负责执行——它们获取信息,由你做决定。
如何使用此技能
- 对目标分类。 个人、公司、域名/IP、B2B 客户、尽职调查对象或威胁实体。如果存在歧义,请询问用户。
- 选择深度。 快速(≤5 分钟,仅网页搜索)→ 标准(15–30 分钟,多工具)→ 深入(完整档案,可能需要一小时)。除非用户另有要求,否则默认选择标准。
- 执行以下各道关卡——每次调查都要执行。
- 选择工作流。 请参见路由表。
- 按照输出规范生成内容——一份 Markdown 档案,以及一个
findings.json旁置文件。
四道关卡
按顺序执行。跳过任何一道,都会导致 OSINT 出错。
关卡 1 — 范围与授权
在发起任何查询之前,确认以下事项:
- 合法依据。 关于面向公众的目标(高管、公司、公开域名)的公开信息可以查询。不得调查可能遭遇跟踪、骚扰或未经授权审查的私人个人。如果请求有此类迹象,请拒绝并说明原因。
- 不使用禁止的方法。 不使用付费泄露数据库。不进行社会工程。不访问你不拥有的账号。不绕过付费墙或平台服务条款。未经明确授权,不主动探测基础设施(端口扫描、漏洞扫描)。
- 范围声明。 写一句话:“我正在使用[公开来源],为[目的]调查[目标]。” 如果无法清楚地写出这句话,就停止。
完整规则和拒绝清单请参见 references/ethics-and-scope.md。
关卡 2 — 消歧
OSINT 中最常见的重大失误,是把同名的两个人(或两家公司)混为一谈。在报告关于目标的任何信息之前:
- 找出所有符合姓名/用户名的合理候选对象。
- 选择一个区分依据——雇主、所在地、年龄范围、域名、行业、照片。
- 通过主要来源(LinkedIn、公司简介、公司网站、官方登记册)确认区分依据。
- 说明你跟踪的是哪个候选对象,以及明确排除了哪些候选对象。
如果无法消歧,请如实说明。不要猜测。
完整流程请参见 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,以及一页执行摘要。 - 适用于:尽职调查、投资决策、大客户工作。
如果要超出已说明的预算,请暂停并在继续前告知用户。
输出约定
每次标准或深入调查都会生成两个文件:
<target-slug>-dossier.md— 面向阅读者,遵循templates/dossier.md。包含各节标题、每项说法的置信度等级,以及汇总在文末的来源 URL。<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、新闻和技术概况。由于个人生活方面的信息与咨询场景无关,我会跳过。现在开始。
然后运行工作流。接着整理包含等级评定的档案。