TOK4NF/AtlasTrace

GitHub: TOK4NF/AtlasTrace

面向被动公开来源情报调查的一站式 Python 工具,将案件管理、证据保全、实体图谱、泄露核查与跨源关联报告整合于单一 CLI 平台。

Stars: 1 | Forks: 0

# AtlasTrace AtlasTrace 是一个大型 Python 多功能工具,专为被动 OSINT 工作、调查案件管理、证据捕获、实体图谱绘制、文档与媒体分拣、存档工作流、泄露检查以及跨来源关联报告而设计。 其目标是整合以下各方面的最佳特性: - 案件面板 - 公开来源收集管道 - 轻量级证据存储柜 - 涵盖人员、组织、域名、账号、文件和 URL 的关系图谱 - 将不同数据集进行交叉引用的关联引擎 - Have I Been Pwned 风格的泄露情报层 - 报告和导出层 AtlasTrace 在定位上专用于合法的、被动的、由用户主导的研究。它 **不** 包含侵入式扫描、暴力破解、凭证攻击、漏洞利用自动化、隐蔽性操作或恶意软件行为。 ## 现已包含的功能 - 基于 SQLite 的案件管理 - 实体与关系图谱存储 - 笔记和证据附件 - 包含原始 HTML 保留的公开网页捕获 - 带有可观测信息提取的文档导入 - 带有可选 EXIF 和 OCR 的媒体分拣 - 跨常见公开平台的用户名映射 - 数据集对数据集的关联报告 - 兼容 HIBP 的账户和密码检查 - 用于 Wayback 风格保存的存档工作流助手 - Markdown 和 Mermaid 报告导出 - 用于未来模块的插件注册表 - 可选的 FastAPI 服务层 ## 为什么采用这种架构 AtlasTrace 从以下几个公开项目和生态系统中汲取了灵感: - Aleph 的调查与数据集模型 - OpenCTI 的连接器和知识图谱理念 - MetaOSINT 风格的来源聚合 - Cyberbro 风格的分析工作流分离 - 用于纯净网页文本提取的 Trafilatura - 用于丰富元数据提取的 ExifTool - 用于 OCR 的 Tesseract - Typer/FastAPI/SQLModel 风格的模块化设计,以便未来扩展 更多细节和来源链接请参见 [docs/SOURCES.md](./docs/SOURCES.md)。 ## 仓库布局 ``` . |-- README.md |-- docs/ | `-- SOURCES.md |-- src/ | `-- atlastrace/ | |-- __init__.py | |-- __main__.py | |-- analysis.py | |-- api.py | |-- cli.py | |-- settings.py | |-- storage.py | |-- utils.py | |-- plugins/ | | |-- __init__.py | | |-- base.py | | `-- registry.py | `-- services/ | |-- __init__.py | |-- cases.py | |-- common.py | |-- entities.py | |-- ingest.py | |-- media.py | `-- reporting.py ``` ## 快速开始 ``` python -m venv .venv .venv\Scripts\activate pip install -e . atlastrace init atlastrace case-create "Example Investigation" --description "Workspace bootstrap" atlastrace entity-add example-investigation person "Jane Doe" --source manual atlastrace note-add example-investigation "Lead" "Possible link between the handle and the domain." atlastrace report-md example-investigation ``` 如果您还不想安装该包: ``` $env:PYTHONPATH = "src" python -m atlastrace.cli init python -m atlastrace.cli case-create "Example Investigation" ``` ## CLI 概览 ``` atlastrace init atlastrace modules atlastrace case-create TITLE [--slug ...] [--description ...] atlastrace case-list atlastrace note-add CASE TITLE BODY atlastrace entity-add CASE KIND VALUE [--name ...] [--source ...] [--confidence ...] atlastrace entity-list CASE atlastrace link CASE FROM_ID TO_ID LABEL [--source ...] atlastrace web-capture CASE URL [--label ...] atlastrace doc-import CASE PATH atlastrace dataset-import CASE PATH [--label ...] atlastrace correlate CASE [--min-sources 2] [--output ...] atlastrace media-inspect CASE PATH atlastrace identity-map CASE HANDLE [--platforms ...] [--fetch] atlastrace breach-check CASE ACCOUNT [--full] atlastrace password-check CASE [--password ...] atlastrace archive CASE URL [--submit] atlastrace report-md CASE [--output ...] atlastrace report-graph CASE [--output ...] atlastrace serve [--host 127.0.0.1] [--port 8000] ``` ## 示例工作流 ### 1. 创建案件 ``` atlastrace case-create "Acme Research" atlastrace entity-add acme-research organization "Acme Corp" atlastrace entity-add acme-research domain "acme.example" atlastrace link acme-research 1 2 owns ``` ### 2. 捕获公开页面 ``` atlastrace web-capture acme-research https://example.org/article ``` 此操作会存储: - 位于 `.atlastrace/cases//captures/` 下的原始捕获内容 - 提取的可观测信息,如 URL、域名、电子邮件和 IPv4 值 - SQLite 中的附件记录 ### 3. 导入文件 ``` atlastrace doc-import acme-research .\notes.html atlastrace media-inspect acme-research .\image.jpg ``` ### 4. 将一个来源与另一个来源进行关联 ``` atlastrace dataset-import acme-research .\dump_a.txt --label "dump-a" atlastrace dataset-import acme-research .\dump_b.csv --label "dump-b" atlastrace correlate acme-research --min-sources 2 ``` ### 5. 映射公开用户名 ``` atlastrace identity-map acme-research nottoka --fetch ``` 这会构建一个公开个人资料 URL 的候选列表,并在启用 `--fetch` 时,尝试通过被动 HTTP 请求收集状态和页面标题信息。 ## 可选集成 AtlasTrace 在运行时无需任何必需的第三方依赖,但在安装额外组件后可以进行扩展: - `pip install -e .[extract]` 启用基于 Trafilatura 的 HTML 文本提取 - `pip install -e .[media]` 启用 Pillow 和 pytesseract 钩子 - 在系统 `PATH` 中安装 `exiftool` 以获取深度媒体元数据 - 安装 `pip install -e .[api]` 以使用 FastAPI 服务层 ### 6. 检查泄露情报 ``` atlastrace breach-check acme-research [email protected] atlastrace password-check acme-research ``` 账户查询需要在您的环境变量中设置 `HIBP_API_KEY`。密码检查使用 HIBP k-匿名范围模型,并且不会存储明文密码。 ## 安全模型 AtlasTrace 专为以下用途设计: - 公开来源调查 - 日志记录和证据保存 - 从用户提供的文件和 URL 中提取内容 - 被动富化 AtlasTrace 并非为以下用途设计: - 端口扫描 - 漏洞探测 - 漏洞利用投递 - 账户入侵 - 凭证攻击 - 隐蔽或规避行为 ## 路线图 - 标签系统和保存的搜索 - 受 FollowTheMoney 和 CTI 平台启发的更丰富的 schema 类型 - 时间线视图和事件提取 - 用于动态页面的浏览器渲染捕获提供者 - 实体解析和重复聚类 - 本地嵌入和语义搜索 - 面向特定来源收集器的插件市场 - PDF 解析和更丰富的报告模板
标签:Atomic Red Team, AV绕过, BeEF, ESC4, ESC漏洞, ExifTool, EXIF解析, FastAPI, GitHub, HIBP, Markdown, Mermaid, OCR, OSINT, Python, REST API, SQLite, SQLModel, Tesseract, Trafilatura, Typer, 合规调查, 图谱分析, 多合一工具集, 多源关联, 媒体分类, 安全合规, 安全工具库, 实体关系, 实时处理, 情报收集, 数据泄露, 数据泄露检测, 文档审查, 无后门, 案件管理, 漏洞研究, 爬虫, 电子取证, 网络代理, 网络安全, 网络归档, 自动化报告, 被动侦察, 证据收集, 调查管理, 逆向工具, 隐私保护