assafkip/kipi
GitHub: assafkip/kipi
kipi 是一个开源、自托管的 OSINT 调查平台,能将文档自动转化为实体图谱并结合自主 agent 与图分析能力辅助情报调查。
Stars: 14 | Forks: 4
# kipi
**投入一份详尽的情报报告。获取实时生成、经过调查的实体图谱。**

上图是自动生成的。只需输入一个种子域名,agent 就会抓取 WHOIS、DNS、证书和实时网站,然后根据发现的结果进行横向扩展。无需编写任何查询。[观看完整的 75 秒视频,建议开启声音。](docs/demo.mp4)
kipi 是一个开源、自托管的 OSINT 调查平台。它可以将文档转化为调查对象。输入 PDF、屏幕截图、电子表格或粘贴的笔记,系统就会输出一个类型化的实体图谱。随后,自主调查员会挖掘公开网络,并在你面前逐步构建出图谱:基础设施扩展、类型化边、受限发现以及书面简报。
分析师始终拥有最高决定权。每个 schema、发现和连接边都必须由人工确认、修正或驳回。机器负责提出建议,你来做决定。
这里有两项在商业 OSINT 平台中从未同时出现过的功能:文档提取实体,以及在同一个调查画布上进行真正的图分析(中心性、社区、寻路)。
## 你正在观看的内容
演示运行的是一个真实案例。输入两个种子域名:`trumpfundus.com` 和 `trumpstake.us`。
最终,kipi 绘制出了一个俄语联盟欺诈网络。白标虚假加密货币赌场。后端运营商注册在雷克雅未克的一家空壳公司名下,时间恰好在 Brian Krebs 揭毁其前身后的一个月。拥有超过 20,000 名联盟成员。60% 到 80% 的被盗存款以加密货币形式支付。一个被标记为钓鱼的马斯克高仿品牌,也存在于同一个集群中。
接着,它会撰写简报。每一项陈述都附有来源和证据评级。DNS 记录评级为 A。分析师的判断仅作为线索。没有任何结论会仅凭名称匹配就予以采纳。
这种评级机制才是关键所在。大多数 OSINT 输出看起来就像一堆链接,而这份输出读起来就像一个真实案件。
## 快速开始(10 分钟)
```
git clone https://github.com/assafkip/kipi.git && cd kipi
./install.sh # venv + deps + DB; checks tesseract/claude
export ANTHROPIC_API_KEY=sk-ant-... # the ONE required key
./invctl serve # open http://127.0.0.1:8765
```
然后:
1. **报告** → 放入一个 PDF(或粘贴笔记)。上传时会自动提取实体。
2. **Schema 门禁** → 批准系统为该案件提议的本体(只需点击一下;agent 会根据你案件的领域自动适配实体类型和角色)。
3. **处理** → 整合、分类、关联、评分、图分析和生成简报。注意观察进度条。
4. **图谱** → 告诉调查员聊天框去挖掘(输入 `investigate suspicious-domain.com`),并实时观看节点落入画布。
## API 密钥
必须提供一个密钥。其他所有缺失项都会优雅降级。
| 密钥 | 是否必需? | 缺失时的影响 |
|---|---|---|
| `ANTHROPIC_API_KEY` | **是** | 无法进行实体分类、无法生成 schema 提案和简报 |
| `claude` CLI (+ node 18+) | 可选 | 自主调查 agent 将被禁用;但数据提取、处理和图谱功能仍可正常使用 |
| `tesseract` binary | 可选 | 将跳过扫描版 PDF / 屏幕截图的 OCR |
| `VIRUSTOTAL_API_KEY` | 可选 | VT 信誉扩展将报告缺少密钥并跳过 |
| Apify / Perplexity / Tavily / Exa / WhoisXML / Censys / abuse.ch / HudsonRock / Etherscan | 可选 | 每个服务都会报告缺少密钥并正常跳过 |
| 无密钥基础功能 | - | whois、DNS、RDAP、反向 DNS、crt.sh、Shodan InternetDB、Gravatar、IP 地理位置、用户名扫描、邮件分诊(MX/SPF/DMARC + header→IP)、BTC 钱包。全部无需任何密钥即可运行。 |
## 分析师的图谱
- **布局** - 力导向布局(默认)、层次结构、围绕所选节点的自我中心环、圆形。
- **寻路** - 选择两个节点;最短路径会高亮显示,其他部分则变暗。只需点击两次就能回答“这个钱包是如何与那个频道连接的”。
- **图分析** - 介数中心性用于找出两个单元之间的中间人;Louvain 社区算法可将马甲网络拆分为不同的运作单元。按每个案件进行计算,并作为节点属性存储,从而驱动样式设置。
- **条件格式** - 每个案件持久化的样式规则及编辑器:介数→大小,分析师对比 AI 来源→边框,社区→颜色(可选择开启)。
- **集合节点** - 将 200 个 crt.sh 子域名折叠成一个可展开的“200 个域名”收纳桶,而不会让节点铺满整个画布。
- **时间受限的边** - 重新观察到某种关系时,会更新其首次/最后发现时间,而不是创建重复项。
- **全程溯源** - 每个节点和边都清楚自己是如何进入图谱的(通过数据提取、丰富数据提供商、agent 还是分析师)。
## 适用人群
kipi 专为以调查为生的人打造:
- 负责处理客户案件的精品威胁情报公司。
- 需要在有限预算内打击滥用网络的信任与安全团队。
- 需要的是图谱而不是电子表格的私家侦探和 OSINT 自由职业者。
- 追踪加密货币钱包和基础设施的欺诈和 AML 分析师。
- 正在处理泄露文档的调查记者。
如果你的工作是将杂乱无章的文档转化为“谁与谁有关联,以及我们是如何知道的”,那么 kipi 就是为你准备的。
## kipi 的对比优势
大多数 OSINT 工具只专注于一项工作。kipi 具备两项罕见的综合性功能:将文档读取为实体,以及在同一个画布上运行真正的图分析。
- 像 Maltego 这样的链接分析工具可以绘制图谱,但你需要手动向其输入实体。它们无法读取你的文档。
- 像 SpiderFoot 这样的 OSINT 框架可以扫描基础设施,但交给你的是一份列表,而不是带有溯源信息的经过调查的图谱。
- 商业情报平台确实具备所有这些功能,但前提是需要支付五位数的席位费,且模型无法自查。
kipi 能够阅读文档、提出本体建议、挖掘网络、评估证据并撰写简报。完全自托管。只需一个必需的 API 密钥。源代码可见。
## 本地运行
一切都在你的机器上本地运行:SQLite 数据库、本地文件库和本地资产。唯一需要的外部调用是用于分类和判断的 Anthropic API。OSINT 查找只会发送到你启用的提供商,不会流向其他任何地方。在分享任何内容之前,请运行 `bash scripts/oss_secrets_audit.sh`。
## 许可证
采用 [Elastic License 2.0](LICENSE),源代码可见。免费使用 kipi,包括用于你的付费调查工作。你可以修改它,也可以为了个人使用进行自托管。但你不能出售 kipi 本身,也不能将其作为托管或管理服务提供给他人。KTLYST Labs 保留该软件的商业许可权。
通俗地讲:运行它、复刻它、在客户业务中使用它。但不要重新打包并出售它。
## 常见问题解答
### kipi 是免费的吗?
是的。在 Elastic License 2.0 下源代码可见。使用它、复刻它,在有偿的客户业务中运行它都可以。你只是不能转售 kipi 本身,或将其作为托管服务提供。
### kipi 是 Maltego 或 SpiderFoot 的替代品吗?
对于许多工作流程来说,是的。kipi 能将你的文档读取为实体,并在同一个画布上运行图分析(中心性、社区、寻路)。大多数链接分析和 OSINT 扫描工具只能做到其中一面,而不是两者兼备。
### 我需要 API 密钥吗?
需要一个:`ANTHROPIC_API_KEY`,用于分类和生成简报。所有 OSINT 提供商都是可选的。无密钥基础功能(whois、DNS、RDAP、crt.sh、Shodan InternetDB、Gravatar、IP-geo、用户名扫描、邮件分诊、BTC 钱包)在没有任何密钥的情况下即可工作。
### 它是自托管的吗?我的数据会离开我的机器吗?
自托管。SQLite、文件库和资产全部保存在本地。唯一必需的外部调用是用于分类和判断的 Anthropic API。OSINT 查找仅针对你启用的提供商进行请求。
### kipi 可以提取哪些内容?
PDF、Word 文档、图像、屏幕截图、电子表格(CSV 和 XLSX)以及粘贴的笔记。扫描版 PDF 和屏幕截图支持六种语言的 OCR。
### 自主 agent 具体能做什么?
你给它一个起点:一个域名、一个钱包或一个用户名。它会抓取 WHOIS、DNS、证书和实时页面,根据发现的结果进行扩展,并将类型化的节点呈现在图谱上。每一项发现都附有来源和证据评级。
### 我可以将 kipi 用于有偿的客户业务吗?
可以。Elastic License 2.0 允许商业使用,包括有偿调查。它唯一阻止的是出售 kipi 本身,或将其作为服务提供给他人运行。
### kipi 是基于什么构建的?
Python、SQLite,以及用于语言模型工作的 Anthropic API。自主调查员运行在 Claude CLI 上。不需要重型数据库或云账户。
## 开发者简介
我曾在 LinkedIn、Google、Meta 和 ElevenLabs 拥有 12 年的威胁情报和调查经验。kipi 是我当初在那些工作岗位上一直渴望却未曾拥有的工具。
代码库是免费的。如果你有需要映射的网络,或者希望我们代为运行某个案件,请通过 KTLYST Labs 联系我。代码是完全开放的。而提供专业的调查技术才是我的核心服务。
标签:GitHub, MITM代理, 图分析, 安全调查, 实时处理, 自动化调查代理, 逆向工具