sahifasyed/OSINT-Investigation-Toolkit

GitHub: sahifasyed/OSINT-Investigation-Toolkit

一套基于图像的 OSINT 取证验证工具,通过监管链哈希、元数据提取、时间戳标准化和证据报告,系统化开源情报调查的可追溯性与可信度。

Stars: 0 | Forks: 0

# OSINT 调查与验证工具包 用于基于图像的 OSINT 验证的 Python 工具集,附带取证监管链日志。 基于我本科毕业论文中的方法论构建(涵盖三个冲突地区六个案例研究的 OSINT 取证),该研究曾在 2026 年巴斯洛芙莱斯学术研讨会(Bath Lovelace Colloquium 2026)上展示,并被 2026 年里加 RATSIF 会议接收。 该项目旨在解决的问题是:大多数 OSINT 分析报告无法展示它们是*如何*得知这些结论的。调查结果在共享时缺乏来源信息,工件在分析与发布之间遭到修改,而且来自不同平台的时间戳在比较时未统一时区。本工具包将验证流程中枯燥但至关重要的环节系统化了。 ## 功能说明 - **监管链** (`ovt/custody.py`) — 每个工件在注册时都会计算 SHA-256 哈希;随后的每一项操作都会以仅追加(append-only)的形式记录在案。随时可以重新验证完整性,且篡改行为会作为日志不匹配显现出来。 - **元数据提取** (`ovt/metadata.py`) — 提取对验证至关重要的 EXIF 字段(拍摄时间、设备、编辑软件、GPS),并明确记录其*缺失*情况,因为被剥离的元数据本身就是一个信号,表明图像曾流经过某个社交平台。 - **时间戳标准化** (`ovt/timestamps.py`) — 将 EXIF、ISO 8601、旧版平台 API 以及人工笔记使用的时间格式解析为带时区信息的 UTC 时间。在需要假定时区的情况下,该假设会被记录下来,并展示在最终报告中,而不会在后台被悄悄应用。 - **证据报告** (`ovt/report.py`) — 生成 Markdown 报告,整合工件、标准化时间线、带有明确置信度级别(已确认 / 极可能 / 有可能 / 无证据支持)的调查结果,以及完整的监管链日志。 ## 快速开始 ``` pip install -r requirements.txt python examples/worked_example.py python examples/fr02_krynky_case_study.py ``` `worked_example.py` 展示了应用于您提供的任何图像的完整实际工作流。 `fr02_krynky_case_study.py` 根据我的毕业论文重构了一个真实案例: FR-02,其中 2025 年 2 月在 X(原 Twitter)上作为“最新”乌克兰军事行动重新流传的战斗画面,经过五层溯源链被追踪到 2024 年 1 月 8 日在 Krynky 附近记录在案的一次 FPV 打击事件 — 画面真实,时间背景虚假。该脚本使用工具包的时间戳标准化器重建了时间线,并生成了完整的证据报告(`examples/fr02_report.md`),其中包括在最初收集时记录的 SHA-256。 ## 置信度标准 调查结果采用四个保守应用的置信度级别: | 级别 | 含义 | |---|---| | 已确认 | 被两个或多个不相关的独立来源证实 | | 极可能 | 强有力的单一来源证据,且无矛盾之处 | | 有可能 | 与证据相符,但其他可能性依然成立 | | 无证据支持 | 无法从现有材料中证实 | ## 伦理与适用范围 本工具包仅用于验证公开可用的材料。它不收集数据、不抓取平台内容,也不对个人进行侧写。示例案例为虚构合成。任何类似于针对真实个人的调查,都只能在合法且获得授权的语境下进行。 ## 测试 `tests/test_core.py` 涵盖了监管链注册、篡改检测、重复项处理、时间戳解析和时间线排序。使用 `python -m pytest tests/` 运行。
标签:ESC4, OSINT, Python, 元数据提取, 哈希校验, 安全规则引擎, 数字取证, 无后门, 自动化脚本, 证据链管理, 进程保护, 逆向工具, 防御加固