Barath711/SafeSandbox
GitHub: Barath711/SafeSandbox
SafeSandbox 是一个纯离线的本地分析工作区,将可疑文件静态分拣、EVTX 日志解析、IOC 提取和 YARA 规则扫描整合到统一的桌面界面中,解决安全分析师在初步调查阶段频繁切换工具的问题。
Stars: 0 | Forks: 0
# 🛡️ SafeSandbox
**一个用于离线文件分拣和 Windows 事件日志分析的工作区。**
检查可疑文件,解析 EVTX 日志,提取 IOC,
运行 YARA 规则,并在不上传证据或不执行文件的情况下审查未知内容。




## ⚡ 为什么开发此工具
初步的文件分拣通常意味着需要在各种查看器、事件日志工具、哈希实用程序、字符串提取器、IOC 解析器和规则扫描器之间频繁切换。
**SafeSandbox** 将这种初步分析整合到了一个本地工作区中:
- 拖入文件、文件夹、压缩包或 Windows 事件日志
- 即使文件名没有扩展名也能检测内容
- 审查哈希值、元数据、字符串、IOC 和嵌入的内容
- 将大型 EVTX 文件解析为可搜索的调查时间线
- 运行内置的 YARA 规则,无需将样本发送到任何地方
- 导出有用的发现,用于报告或深入调查
## 🖥️ 功能概览
### 🪟 Windows 事件日志分析器
- 将 Windows `.evtx` 文件解析为结构化的事件表
- 审查时间戳、事件 ID、级别、提供者、通道和计算机
- 跨事件时间线构建可视化直方图
- 按事件 ID 堆叠活动,以便更快地识别模式
- 搜索和过滤大型事件集合
- 在调查过程中添加可疑的 IOC
- 将时间线和事件数据导出为 CSV
- 将多个符合条件的源加载到同一时间线中
### 🔍 静态文件分拣
- 计算 MD5、SHA-1 和 SHA-256 哈希值
- 使用扩展名、Magic bytes 和内容检查来检测文件类型
- 审查文件大小、时间戳、熵值和可用的元数据
- 提取可读文本并检查原始十六进制数据
- 预览支持的文档、图像、电子邮件、脚本和结构化数据
- 无需在其原生应用程序中打开文件即可检查源内容
- 识别嵌入的文件、压缩包成员和嵌套内容
### 📡 IOC 提取
- 提取 URL、域名、IP 地址、电子邮件地址和其他 IOC
- 按类型和严重程度对发现结果进行分组
- 直接从发现面板中复制单个 IOC
- 在调查期间过滤发现结果
- 在支持的视图中高亮显示 IOC
- 在复制的分析摘要中包含相关的发现结果
### 📐 YARA 规则库
- 包含数百条本地 YARA 规则的内置库
- 按文件类型、类别、严重程度或自由文本搜索规则
- 在扫描之前验证规则语法
- 针对活动文件运行选定的规则
- 审查匹配的规则名称、描述、标签和严重程度
- 无需外部规则服务或网络查找
### 📦 压缩包与嵌入内容审查
- 检查常见的压缩包和打包格式
- 无需先手动解压所有内容即可浏览包含的文件
- 在同一工作区内直接打开支持的成员文件
- 使用调查面包屑导航嵌套内容
- 返回父文件而无需开启新的案例
### 🕵️ 无扩展名文件检测
- 文件选择器接受带或不带扩展名的文件名
- Magic bytes 检查可识别 PDF、压缩包和二进制文件等格式
- 文本嗅探可在没有签名时识别可读内容
- 对于重命名为 `sample`、`attachment` 或 `report` 的证据非常有用
### 📊 搜索、摘要与导出
- 在活动文档或渲染的内容中进行搜索
- 在搜索匹配项之间导航
- 将简明的调查摘要复制到剪贴板
- 导出支持的分析和时间线视图
- 缩放文档内容而不更改原始文件
## 🎨 UI 亮点
- **调查仪表板** — 用于文件、日志、规则和压缩包的简洁起始屏幕
- **基于案例的工作流** — 打开证据、进行调查,然后使用 **Close case** 重置
- **自动发现面板** — 当有分析结果可用时自动出现
- **帮助 + 主题** — 键盘快捷键参考和多种浅色/深色外观
- **原生桌面窗口** — PyQt6 WebEngine 外壳,没有浏览器地址栏
- **动画启动卡片** — 匹配 SafeSandbox 启动体验
- **默认全屏** — 启动时最大化工作区
## 🚀 快速开始
### 1. 将应用程序文件保留在一起
```
SafeSandbox/
├── SafeSandbox_v2.pyw
└── SafeSandbox_v2.html
```
### 2. 安装依赖项
```
pip install PyQt6 PyQt6-WebEngine
```
### 3. 运行桌面应用程序
```
pythonw SafeSandbox_v2.pyw
```
### 纯浏览器选项
双击 `SafeSandbox_v2.html` 直接在现代
浏览器中打开相同的工作区。纯浏览器选项
不需要 Python。
## 🧭 基本工作流
1. 启动 SafeSandbox。
2. 点击 **New investigation**,将证据拖到仪表板上,或
打开一个文件夹。
3. 等待本地解析器和安全检查完成。
4. 审查内容视图、事件时间线、发现结果和 YARA 匹配项。
5. 搜索、过滤、复制 IOC 或导出相关结果。
6. 点击 **Close case** 清除调查并返回仪表板。
## 📁 支持的内容
| 类别 | 示例 |
|----------|----------|
| 事件日志 | EVTX, CSV, TSV, 结构化日志 |
| 文档 | PDF, DOCX, XLSX, PPTX, RTF, ODT |
| 脚本 | PowerShell, JavaScript, VBScript, Batch, HTA |
| 可执行文件 | PE, DLL, SYS, ELF, Mach-O |
| 压缩包 | ZIP, TAR, GZIP, 7Z, RAR, CAB, JAR |
| 电子邮件与快捷方式 | EML, MSG, LNK, URL, Webloc |
| 数据 | JSON, XML, YAML, SQLite, 注册表文件 |
| 图像与证书 | PNG, JPEG, SVG, PEM, DER, PFX |
| 无扩展名证据 | 通过 Magic bytes 或文本嗅探识别的文件 |
## ⌨️ 键盘快捷键
| 快捷键 | 操作 |
|----------|--------|
| `Y` | 打开 YARA 规则库 |
| `T` | 打开主题 |
| `?` 或 `H` | 打开帮助 |
| `F` | 聚焦内容搜索 |
| `Ctrl+Enter` | 复制调查摘要 |
| `Ctrl+C` | 未选中文本时复制原始内容 |
| `Ctrl+V` | 检查复制到剪贴板的文件 |
| `Esc` | 关闭对话框或清除搜索 |
## 🔐 安全模型
- 文件在本地进行分析
- 读取证据但绝不执行
- 显示宏和脚本,而不是运行它们
- 文档不会在其原生应用程序中启动
- 不执行任何引爆、模拟或行为执行
- 严格的 Content Security Policy 阻止来自本地页面的网络请求
- SafeSandbox 不会故意上传任何文件内容
## 🗂️ 文件结构
```
SafeSandbox/
├── SafeSandbox_v2.pyw # Native desktop launcher
├── SafeSandbox_v2.html # Analysis engine and interface
└── README.md # Setup and usage guide
```
`.pyw` 和 `.html` 文件必须保留在同一文件夹中。
## 👤 作者
**Barath A C**
SOC Analyst II
[LinkedIn](https://linkedin.com/in/barath07) · [GitHub](https://github.com/Barath711)
*SafeSandbox 的灵感来源于 [Loupe](https://github.com/Loupe-tools/Loupe)。*
标签:EVTX分析, PyQt6, YARA, 云安全监控, 云资产可视化, 多模态安全, 数字取证, 自动化脚本, 逆向工具, 静态分析