gnudrus-del/argo-cloud-osint-platform
GitHub: gnudrus-del/argo-cloud-osint-platform
一个自托管的防御性开源情报调查平台,提供案件化管理、多源数据聚合与防篡改审计链,保障敏感调查数据的隐私与合规。
Stars: 1 | Forks: 0
# Argo Cloud OSINT 平台
[](https://github.com/gnudrus-del/argo-cloud-osint-platform/actions/workflows/ci.yml)
[](LICENSE)
[](pyproject.toml)
[](https://www.python.org/)
Argo 完全运行在您的基础设施上。它聚合公开来源(58 个原生 connector,支持免 key 和 BYOK),对每一条发现维护 SHA-256 审计链,并生成 Markdown、JSON、PDF、STIX 2.1 和 MISP 格式的报告。无遥测,无云依赖,无供应商锁定。
## 为什么选择 Argo?
现有的 OSINT SaaS 工具在您无法将案件数据发送到第三方云时就会遇到瓶颈——例如受监管的调查、企业尽职调查、记者的来源保护、具有保密义务的法律案件。Argo 运行在**您的**机器或 VM 上。您的线索和发现永远不会离开您的安全边界。
## 功能
- **CLI + Web UI** — Python CLI 用于脚本化;轻量级的 Web UI(无框架运行时臃肿)用于案件管理。
- **基于案件的调查** — 每一个查询都存在于一个案件中,包含范围、交战规则和 DSAR (GDPR) endpoint。
- **隐私优先的目标处理** — 个人目标需要明确的法律依据;联系人默认被脱敏。
- **BYOK provider 模型** — 15 个可选 provider(Shodan、VirusTotal、HIBP、SecurityTrails 等)使用*您的* API key,绝不经过第三方中介。
- **58 个原生 connector** — 43 个免 key(crt.sh、RDAP、DNS、TLS 证书、Wayback、Gravatar、GDELT、Nominatim、PhishTank、holehe、maigret、子域名枚举等)+ 15 个 BYOK。
- **带有来源的发现** — 每一条发现都附带有证据 URL、时间戳和置信度评分。
- **审计链 (SHA-256)** — 每一个事件(登录、搜索、发现、删除)都会被追加到哈希链日志中。篡改过去的事件会使后续的每一个哈希失效。与 Certificate Transparency 和 Git 模式相同。
- **Markdown / JSON / PDF 导出** — 用于分析师报告。
- **STIX 2.1 bundle + MISP 事件导出** — 用于 TIP 集成。
- **Connector/插件架构** — 通过实现一个小巧的 `BaseConnector` 子类来添加新源。
- **Docker + 自托管部署** — 包含 `Dockerfile`、`docker-compose.yml`、systemd unit 和 Caddy 反向代理方案。
## 使用场景
- **防御性域名侦察** — 在攻击者之前了解您自己的攻击面。
- **企业尽职调查** — 利用带有来源的证据验证合作伙伴/供应商。
- **威胁情报富化** — 将可观测对象(IP、哈希、域名、钱包)与公开订阅源及您自己的 MISP 进行关联。
- **授权的用户名/电子邮件/域名调查** — 带有法律依据门控和同意跟踪。
- **分析师报告** — 带有审计链的可重现报告,适用于法庭证据。
## Argo *不*做什么
Argo 是一个**防御性**工具。它拒绝成为武器。
- **拒绝人肉搜索。** 个人目标调查需要明确的法律依据,且默认生成脱敏输出。
- **拒绝跟踪。** 不提供针对个人的持续监控。
- **不提供登录绕过、撞库或账户接管协助。**
- **不进行激进抓取。** 所有 connector 都遵守速率限制和 `robots.txt`。
- **不进行未经授权的扫描。** 主动侦察(端口扫描、内容发现)需要处于范围内的案件,并生成审计证据。
- **不购买私人数据或转售“泄露”数据富化。** 与 HIBP/类似工具的 BYOK 集成仅用于验证*用户拥有*的账户,而非批量查询。
## 快速开始(5 分钟)
### 本地安装
```
git clone https://github.com/gnudrus-del/argo-cloud-osint-platform.git
cd argo-cloud-osint-platform
python -m venv .venv
# Linux/macOS: source .venv/bin/activate
# Windows PowerShell: .\.venv\Scripts\Activate.ps1
pip install -e .
```
### 运行 CLI
```
argo-osint example.com --type domain --provider none --max-pages 1 \
--output-dir reports/smoke --format both
```
### 运行 Web UI
```
export OSINT_WEB_TOKEN="pick-a-long-random-token"
python -m osint_bot.web --host 127.0.0.1 --port 8000
# 打开 http://127.0.0.1:8000
```
### 使用 Docker 运行
```
export OSINT_WEB_TOKEN="pick-a-long-random-token"
docker compose up --build
```
完整指南:[`docs/QUICKSTART.md`](docs/QUICKSTART.md)。
## 示例
域名调查,无需 API key:
```
argo-osint example.com --type domain --provider none \
--output-dir reports/example --format both
```
使用 provider (BYOK) 的域名调查:
```
export SHODAN_API_KEY=...
export VIRUSTOTAL_API_KEY=...
argo-osint example.com --type domain --provider all \
--output-dir reports/example-full --format both
```
公司调查:
```
argo-osint "Acme Corp" --type company --provider all \
--output-dir reports/acme --format both
```
授权的用户名调查(需要带有法律依据的案件):
```
argo-osint alice.example --type username --case-id CASE-2026-001 \
--output-dir reports/case-001 --format both
```
更多:[`docs/EXAMPLES.md`](docs/EXAMPLES.md)。
## 架构一览
```
flowchart LR
CLI[CLI: argo-osint] --> ORCH
WEB[Web UI :8000] --> ORCH[Orchestrator]
ORCH --> REG[Connector Registry]
REG --> C1[crt.sh]
REG --> C2[RDAP / DNS / TLS]
REG --> C3[Shodan · VT · HIBP · ...]
REG --> C4[holehe / maigret / theHarvester]
REG --> Cn[+ 50 more]
ORCH --> STORE[(SQLite / Postgres)]
ORCH --> AUDIT[(SHA-256 audit chain)]
STORE --> EXPORT[Exports: MD / JSON / PDF / STIX 2.1 / MISP]
EXPORT --> REPORT[Analyst report]
```
详情:[`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)。
## 插件 / connector 架构
一个 connector 会实现一个小巧的接口(`BaseConnector`),该接口接收一个目标并返回带有证据 URL 和置信度的 `Finding` 对象。一个 connector 会声明:
- 它接受的**输入类型**(domain、ip、email、handle、phone、wallet 等)。
- **动作类别** — `passive`(仅公开数据)、`active`(触及目标)或 `intrusive`(受门控)。
- **速率限制** — 每分钟、每天和突发。
- **法律提示** — 关于其暴露什么数据以及何时不应使用它的人类可读摘要。
- **可选 key** — `required_key` 指定一个环境变量;如果未设置,connector 会干净地报告 `missing_key`。
只需约 50 行代码即可添加新源。请参阅 [`docs/CONNECTORS.md`](docs/CONNECTORS.md)。
## 安全与负责任的使用
Argo 专为授权调查而构建。如果您在没有法律依据的情况下阅读某人的数据,这是**您**的法律问题,而不是 Argo 的——但 Argo 致力于让正确的事情变得简单。
- **安全模型:** [`docs/THREAT_MODEL.md`](docs/THREAT_MODEL.md)
- **负责任使用指南:** [`docs/RESPONSIBLE_USE.md`](docs/RESPONSIBLE_USE.md)
- **漏洞披露:** [`SECURITY.md`](SECURITY.md)
### 安全模型(简版)
- 完全在本地/自托管运行。假定的威胁模型:受信任机器或 VM 上的单租户分析师。
- **BYOK。** Argo 不作为第三方 API 的中介。您的 key,您的速率配额,您的账单。
- **无硬编码的 secret。** 所有配置均通过环境变量进行;`.env.example` 已包含文档说明;`.gitignore` 屏蔽了 `.env`、`*.env`、`secrets.env`、`deploy_artifacts/`。
- **静态目标数据** 存储在 SQLite(默认)或 Postgres 的案件范围内。目前**未**应用静态加密——请将数据存储视为敏感信息并使用操作系统级别的磁盘加密。此项已列入路线图中跟踪。
- **审计链 (SHA-256)** 用于防篡改。全链验证只需一个 CLI 命令。
- **DSAR (GDPR):** 已实现删除和导出 endpoint。
## 路线图
请参阅 [`docs/ROADMAP.md`](docs/ROADMAP.md)。近期计划的亮点:
- **计划中:** connector key 静态加密。
- **计划中:** 将 Docker 镜像发布到 GHCR。
- **计划中:** 以 `argo-cloud-osint` 为名的首个 PyPI 发布。
- **实验性:** AI 富化(`ai` extra)—— OCR + NER + 语言检测。
- **进行中:** Next.js Web 前端(`web-next/`),用于更丰富的图形可视化。
## 许可证
Apache License 2.0 — 请参阅 [`LICENSE`](LICENSE)。
## 意大利语文档
有关意大利语版本,请参阅 [`docs/README.it.md`](docs/README.it.md)。
标签:ESC4, GitHub, OSINT, Python, 威胁情报, 实时处理, 开发者工具, 情报收集, 无后门, 测试用例, 漏洞研究, 自托管, 请求拦截, 调查平台, 逆向工具