Rodrigo-Tripa/metatrace-lite
GitHub: Rodrigo-Tripa/metatrace-lite
轻量级 Python 取证工具,用于从图像中提取、规范化 EXIF 元数据并输出为结构化 JSON,辅助安全分析与取证调查。
Stars: 0 | Forks: 0
# MetaTrace



用于提取和分析图像元数据 (EXIF) 的轻量级取证工具。
## 目标
提供一个简单且模块化的工具,用于:
* 从图像中提取 EXIF 元数据
* 将元数据结构化为 JSON 格式
* 为取证分析准备数据
## 功能特性
### 1. **EXIF 提取**
使用 `exifread` 读取元数据:
* 相机信息
* 时间戳 (`DateTimeOriginal`)
* 使用的软件
* GPS 结构(如果存在)
### 2. **数据规范化**
* 将所有元数据转换为字符串格式
* 确保与 JSON 输出的兼容性
* 移除不可序列化的对象
### 3. **噪声过滤**
忽略不相关的标签:
* `Thumbnail`
* `Padding`
### 4. **JSON 输出**
结构化输出:
```
{
"filename": "image.jpg",
"metadata": {
"EXIF DateTimeOriginal": "...",
"Image Software": "..."
}
}
```
## 安装
```
git clone https://github.com/rodrigo-tripa/metatrace-lite.git
cd metatrace-lite
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
## 用法
```
python3 main.py
```
### 示例
```
python3 main.py samples/exp.jpg
```
## 依赖项
| 组件 | 是否必需 | 备注 |
| -------- | -------- | -------------------- |
| Python 3 | ✅ | 在 3.x 版本上测试通过 |
| exifread | ✅ | 元数据提取 |
## 已知局限性
### 文件格式
* PNG 图像可能不包含完整的 EXIF 数据
* 某些元数据字段可能会缺失
### 数据完整性
* EXIF 元数据可以被修改或删除
* 未实现真实性验证
### 解析
* 输出取决于图像来源和编码
* 某些标签可能出现不一致
## 路线图
* [ ] 目录支持(多张图像)
* [ ] CLI 标志(`--json`, `--pretty`)
* [ ] 基础取证分析模块
* [ ] 元数据过滤与分类
* [ ] GPS 解析(坐标)
## 工具安全性
### 元数据可信度
* EXIF 数据**不可信**
* 可被修改或剥离 (MITRE ATT&CK T1565)
### 建议
* 不要仅依赖元数据进行溯源
* 与其他取证来源进行交叉比对
* 避免暴露敏感元数据(例如 GPS)
## 贡献
欢迎提交 Pull request。
* 保持代码模块化
* 遵循现有结构
* 避免不必要的依赖项
## 许可证
MIT License - 详见 [LICENSE](LICENSE)
## 免责声明
本工具旨在对您获授权检查的系统和文件进行取证分析。
## 联系方式
GitHub: https://github.com/rodrigo-tripa
标签:exifread, EXIF提取, GPS信息提取, JSON结构化, OSINT开源情报, Python安全工具, 元数据分析, 元数据安全, 元数据脱敏, 噪声过滤, 图像取证, 图片隐写分析, 库, 应急响应, 数字取证, 数字调查, 数据规范化, 文件分析, 文档结构分析, 自动化脚本, 路径枚举, 轻量级工具, 逆向工具