gnudrus-del/argo-cloud-osint-platform

GitHub: gnudrus-del/argo-cloud-osint-platform

一个自托管的防御性开源情报调查平台,提供案件化管理、多源数据聚合与防篡改审计链,保障敏感调查数据的隐私与合规。

Stars: 1 | Forks: 0

# Argo Cloud OSINT 平台 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/gnudrus-del/argo-cloud-osint-platform/actions/workflows/ci.yml) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](pyproject.toml) [![Made with Python](https://img.shields.io/badge/made%20with-python-3776ab.svg)](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, 威胁情报, 实时处理, 开发者工具, 情报收集, 无后门, 测试用例, 漏洞研究, 自托管, 请求拦截, 调查平台, 逆向工具