splinterlabs/osint-agent-public
GitHub: splinterlabs/osint-agent-public
一个与 Claude Code 深度集成的威胁情报助手,帮助安全团队快速完成 CVE 查询、IOC 提取与多源情报关联分析。
Stars: 2 | Forks: 0
# OSINT Agent
[](https://github.com/splinterlabs/osint-agent-public/actions/workflows/ci.yml)
[](https://codecov.io/gh/splinterlabs/osint-agent-public)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/astral-sh/ruff)
一个为 [Claude Code](https://claude.ai/code) 打造的威胁情报助手,提供 CVE 查询、IOC 提取、结构化调查以及自动化安全监控功能。
## 功能特性
- **结构化调查** - `/investigate` 运行多源情报富化,提供紧凑的控制台输出和完整的 JSONL 日志记录;`/review` 提供独立的评审层
- **CVE 查询** - 查询 NVD 和 CISA KEV 以获取漏洞详情、CVSS 评分和漏洞利用状态
- **IOC 提取** - 从文本和文件中提取 IP、域名、哈希值、URL、邮箱和 CVE ID
- **威胁情报源** - 集成 AlienVault OTX、Abuse.ch (URLhaus、MalwareBazaar、ThreatFox) 和 FreshRSS
- **Shodan 侦察** - 主机查询、DNS 解析、漏洞暴露面和漏洞利用搜索
- **MITRE ATT&CK** - 技术查询、战术映射、威胁组织画像以及行为到技术的映射
- **攻击活动追踪** - 创建和管理包含 IOC、TTP、CVE 的威胁活动及关联分析
- **监控告警** - 监控供应商/产品的新漏洞,并在会话启动时提供简报
- **规则生成** - 根据 IOC 创建 YARA 和 Sigma(网络、DNS、防火墙)检测规则
- **STIX 导出** - 以 STIX 2.1 格式导出 IOC 和 CVE
- **WHOIS / RIR 查询** - 查询 RIPE、ARIN、APNIC、AfriNIC 和 LACNIC 获取 IP/ASN/联系人数据
- **用户名 OSINT** - 通过 Maigret 在各大社交网络上搜索用户名
- **Claude Code 集成** - 斜杠命令、Hooks、MCP 服务器以及每次调查的使用量追踪
## 快速开始
在 5 分钟内开始运行:
```
# Clone repository
git clone https://github.com/splinterlabs/osint-agent-public.git
cd osint-agent
# 一键设置 (2-3 分钟)
make init
# Verify installation
make validate
```
**`make init` 执行的操作:**
- ✅ 验证 Python 3.11+ 及其依赖项
- ✅ 创建虚拟环境
- ✅ 安装 OSINT Agent 及所有依赖项
- ✅ 初始化数据库(IOC 和速率限制)
- ✅ 创建所需目录
**立即开始使用:**
```
# Via Claude Code (推荐)
claude
# Then use slash commands: /intel, /investigate, /cve 等
# Via CLI
source .venv/bin/activate
python -m osint_agent.cli intel
```
详细安装、配置和故障排除请参见 [INSTALL.md](INSTALL.md)。
## 用法
### CLI
```
# 查询 CVE
python -m osint_agent.cli lookup CVE-2024-3400
# 从文件提取 IOC
python -m osint_agent.cli extract -f report.txt
# 获取威胁情报摘要
python -m osint_agent.cli intel
```
### Claude Code
在项目目录中启动 Claude Code 以启用斜杠命令:
```
cd osint-agent
claude
```
| 命令 | 描述 | 示例 |
|---------|-------------|---------|
| `/investigate` | 结构化多源调查 | `/investigate CVE-2026-24061` |
| `/review` | 针对调查结果的独立评审层 | `/review` |
| `/cve` | 查询 CVE 详情 | `/cve CVE-2024-3400` |
| `/intel` | 每日威胁摘要 | `/intel` |
| `/extract-iocs` | 从文本/文件中提取 IOC | `/extract-iocs report.pdf` |
| `/iocs` | 查询 IOC 数据库 | `/iocs sha256` |
| `/watchlist` | 管理监控的供应商 | `/watchlist add vendor Fortinet` |
### 会话启动 Hook
当你启动 Claude Code 时,你将自动收到:
- 近期的高危 CVE(CVSS 8.0+)
- CISA KEV 的新增内容
- 监控供应商的告警
- IOC 数据库统计信息
## 项目说明
针对 AI 智能体(Claude Code、Cursor、Aider 等)的具体说明请参见 [AGENTS.md](AGENTS.md),内容包括:
- 报告和导出文件的保存位置
- 文件组织规范
- 项目特定约定
## 配置
### API 密钥(可选)
API 密钥可增强功能,但并非必需:
```
# 安全存储在系统 keyring 中
python -m osint_agent.cli keys set NVD_API_KEY
python -m osint_agent.cli keys set OTX_API_KEY
python -m osint_agent.cli keys set SHODAN_API_KEY
```
或者将 `.env.example` 复制为 `.env` 并填入对应的值。
| 键名 | 来源 | 益处 |
|-----|--------|----------|
| `NVD_API_KEY` | [NVD](https://nvd.nist.gov/developers/request-an-api-key) | 更高的速率限制 |
| `OTX_API_KEY` | [AlienVault](https://otx.alienvault.com/) | 访问威胁情报 Pulse |
| `SHODAN_API_KEY` | [Shodan](https://account.shodan.io/) | 主机/DNS/漏洞查询 |
| `FRESHRSS_URL` | 自托管 | 威胁情报源监控 |
| `FRESHRSS_USER` | 自托管 | FreshRSS 凭据 |
| `FRESHRSS_PASSWORD` | 自托管 | FreshRSS 凭据 |
### 监控列表
编辑 `config/watchlist.json` 以监控特定的供应商、产品或关键词:
```
{
"vendors": ["Microsoft", "Cisco", "Fortinet"],
"products": ["Exchange", "FortiGate", "PAN-OS"],
"keywords": ["RCE", "zero-day", "actively exploited"]
}
```
## 架构
```
osint-agent/
├── src/osint_agent/ # Main Python package
│ ├── clients/ # API clients (NVD, CISA, OTX, Abuse.ch, Shodan, FreshRSS, ATT&CK)
│ ├── extractors.py # IOC extraction
│ ├── rules.py # YARA/Sigma generation
│ ├── stix_export.py # STIX 2.1 export
│ ├── campaigns.py # Campaign tracking
│ ├── correlation.py # Campaign IOC correlation
│ ├── context.py # Investigation context management
│ ├── investigation_log.py # Per-investigation JSONL step logging
│ ├── usage.py # Per-investigation usage tracking
│ ├── cache.py # Transparent API response caching
│ └── parallel.py # Concurrent execution utilities
├── mcp-server/ # Claude Code MCP server
│ ├── server.py # Server entry point (15 tool modules)
│ └── tools/ # MCP tool modules (60+ tools)
├── .claude/
│ ├── commands/ # Slash commands (7 commands)
│ └── hooks/ # Automation hooks
├── config/ # Configuration files
├── data/ # Databases, cache, and logs
│ ├── cache/ # API response cache
│ ├── context/ # Investigation context state
│ ├── campaigns/ # Campaign data
│ └── logs/ # JSONL logs (alerts, investigations)
└── tests/ # Unit and integration tests
```
## MCP 服务器(可选)
用于通过 MCP 进行额外的 Claude Code 集成:
```
./setup.sh --with-mcp
```
添加到 `~/.claude/settings.json`:
```
{
"mcpServers": {
"osint-agent": {
"command": "uv",
"args": ["--directory", "/path/to/osint-agent/mcp-server", "run", "server.py"]
}
}
}
```
完整的工具参考请参见 [mcp-server/README.md](mcp-server/README.md)。
## 开发
```
# 安装开发 dependencies
make install-dev
# 运行测试
make test
# 运行所有检查
make check
# 格式化代码
make format
```
详细的开发环境设置、测试模式和贡献指南请参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
## 使用场景
详细的工作流程请参见 [USE_CASES.md](USE_CASES.md):
1. **结构化调查** - 对任何指标运行 `/investigate` 以进行多源情报富化
2. **独立审查** - 运行 `/review` 对调查结果获取第二意见的评审层
3. **每日威胁简报** - 使用 `/intel` 开始新的一天
4. **事件调查** - 跨攻击活动提取和关联 IOC
5. **漏洞分诊** - 使用 `/cve` 确定补丁优先级
6. **威胁行为者研究** - 结合 ATT&CK 映射追踪攻击活动和 TTP
## 数据源
| 来源 | 类型 | 需要认证 |
|--------|------|---------------|
| [NVD](https://nvd.nist.gov/) | CVE 详情 | 可选 |
| [CISA KEV](https://www.cisa.gov/known-exploited-vulnerabilities-catalog) | 已被利用的漏洞 | 否 |
| [AlienVault OTX](https://otx.alienvault.com/) | 威胁情报 Pulse | 是(免费) |
| [Abuse.ch](https://abuse.ch/) (URLhaus, MalwareBazaar, ThreatFox) | 恶意软件/URL/IOC | 否 |
| [Shodan](https://www.shodan.io/) | 互联网暴露资产 | 是(免费额度) |
| [MITRE ATT&CK](https://attack.mitre.org/) | TTP 和威胁组织 | 否(内置) |
| [FreshRSS](https://freshrss.org/) | 威胁情报源聚合 | 自托管 |
| WHOIS/RIR (RIPE, ARIN, APNIC, AfriNIC, LACNIC) | IP/ASN 所有权 | 否 |
| [Maigret](https://github.com/soxoj/maigret) | 用户名 OSINT | 否 |
## 许可证
MIT 许可证 - 详情请参见 [LICENSE](LICENSE)。
## 致谢
- [NVD](https://nvd.nist.gov/) 提供的漏洞数据
- [CISA](https://www.cisa.gov/) 提供的 KEV 目录
- [AlienVault](https://otx.alienvault.com/) 提供的 OTX 平台
- [Abuse.ch](https://abuse.ch/) 提供的 URLhaus、MalwareBazaar 和 ThreatFox
- [Shodan](https://www.shodan.io/) 提供的互联网情报
- [MITRE](https://attack.mitre.org/) 提供的 ATT&CK 框架
- [Maigret](https://github.com/soxoj/maigret) 提供的用户名 OSINT
标签:APT追踪, ATT&CK映射, Claude Code, CVE查询, DLL 劫持, DNS信息、DNS暴力破解, ESC4, GitHub, GPT, IOC提取, IP 地址批量处理, OSINT, Python, Sigma规则, STIX 2.1, TTP分析, WHOIS, YARA规则, 大语言模型, 威胁情报, 安全监测, 实时处理, 密码管理, 开发者工具, 情报收集, 无后门, 漏洞研究, 漏洞管理, 目标导入, 网络安全, 逆向工具, 速率限制处理, 隐私保护