kev365/xways-trufflehog
GitHub: kev365/xways-trufflehog
将 TruffleHog v3 密钥扫描能力封装为 X-Ways Forensics 的 X-Tension 插件,支持在卷影快照中以只读、去重、离线验证的方式批量扫描敏感凭证并生成分类报告。
Stars: 0 | Forks: 0
# xways-trufflehog
## 功能简介
- 遍历活动视图(或右键选中的内容),并将每个项目传递给 `trufflehog filesystem --json`。
- 按批次分块处理(默认每次启动 `trufflehog.exe` 处理 100 个项目),以分摊 Go 启动开销 —— 比逐项调用快几个数量级。
- 通过存储的哈希值(`XWF_GetHashValue`)进行去重,因此跨用户配置文件 / VSCs / 系统还原点的相同副本只需扫描一次。
- 将命中的结果标记到按检测器划分的报告表中(`trufflehog: AWS`、`trufflehog: Slack`、`trufflehog: custom:` …),并为每个证据写入一个 `*-trufflehog.xlsx` 文件,每个发现对应一行。
- 预提取过滤器(最小/最大大小、跳过扩展名列表)会在字节数据触及磁盘之前,丢弃明显的非文本文件。
## 取证工作站安全(默认设置)
- **默认关闭验证功能。** X-Tension 始终向 TruffleHog 传递 `--no-verification` 参数,因此默认运行时**不会发起任何外部网络调用** —— 那些*可以*进行验证的内置检测器也不会对外发送请求。
- 若要选择开启实时验证,请在对话框的**额外参数**字段中添加 `--only-verified`。此功能在此 X-Tension 中为显式选择开启。
- 始终传递 `--no-update` 参数。
- X-Tension 通过 `XWF_Read`(快照内)读取数据,绝不修改证据。输出文件(jsonl, xlsx)是写入案件目录的派生产物。
## 系统要求
- Windows 10 / 11 / Server 2016+, x64。
- X-Ways Forensics **21.7+**
- 适用于 Windows 的 `trufflehog.exe` v3.x —— 请从 获取发布版本。本仓库不包含此文件。
## 安装说明
三个组件,三个来源:
- **`xways-trufflehog.dll`** —— 来自本仓库。从 [Releases](https://github.com/kev365/xways-trufflehog/releases) 页面下载。
- **`trufflehog.exe`** —— 来自上游。从 下载 Windows 版本。本仓库不提供此文件。
- **`xways-trufflehog.cfg`** —— 可选的分析师可调默认配置。以 `.cfg.example` 形式提供;如果不存在该文件,X-Tension 会在首次运行时将其复制为 `xways-trufflehog.cfg`。
将这组文件放入你的 X-Ways 安装目录:
```
\
├── xwforensics64.exe (or xwb64.exe for BYOD)
└── xtensions\
└── xways-trufflehog\
├── xways-trufflehog.dll
├── xways-trufflehog.cfg (saves settings)
├── hog.ico
└── tools\
└── trufflehog\
└── trufflehog.exe (auto-resolved when in this path)
```
`tools\trufflehog\` 路径是**相对于 DLL 文件夹的**,而不是 X-Ways 安装根目录。你也可以通过对话框的**浏览...**按钮,指定磁盘上任意位置的 `trufflehog.exe`。
## 运行
工具 → 运行 X-Tensions... → **+** → 选择 `xways-trufflehog.dll` → 调整对话框设置 → 点击**运行**。右键点击 Directory-Browser 中的选中内容并选择相同的菜单,即可仅扫描选中的项目。
**首次运行健全性检查**:在点击运行之前,请确认对话框中的 `Version:` 行显示为 `trufflehog 3.x.x`(不是粗体红字)——这表示 helper-exe 身份探测已接受该二进制文件。
**Ctrl+Run** 将当前对话框状态保存到附属配置文件中,而不启动扫描。**Ctrl+Close** 会打开“另存为”选择器,将当前设置导出到指定路径。
## 自定义检测器(推荐)
TruffleHog 通过 `--config=` 接受 YAML 模式包,并应用在其约 800 个内置检测器之上。X-Tension 通过可选的配置键 `custom_config_path` 暴露了此功能:
```
custom_config_path=C:\xways\xtensions\xways-trufflehog\custom-detectors\mypatterns.yml
```
Schema 和示例:。X-Tension 还会从 `ExtraData.name` 字段中提取每个模式的名称,以便将自定义命中结果放入精细的 `trufflehog: custom:` 报告表中,而不是全部混入一个庞大的 `CustomRegex` 存储桶中。
**有适用于取证案件的实用模式吗?欢迎提交。** 欢迎在 [`custom-detectors/contributed/`](custom-detectors/) 目录下提交 PR —— 每次贡献对应一个 YAML 文件,通过 `# author:` 注释保留署名,详情请见 [`custom-detectors/README.md`](custom-detectors/README.md)。
## 许可与署名
- **xways-trufflehog**(本仓库的包装器代码)采用 MIT 许可证 —— 见 [LICENSE](LICENSE)。
- **TruffleHog** 许可证请见此处:[trufflesecurity/trufflehog](https://github.com/trufflesecurity/trufflehog/blob/main/LICENSE) (AGPL-3.0)。
## 免责声明
由社区开发的 X-Tension。不隶属于、不代表或受支持于 X-Ways AG 或 Truffle Security Co。凭感觉编码 —— 风险自负。如果发现问题或有建议,请提交!
## 功能简介
- 遍历活动视图(或右键选中的内容),并将每个项目传递给 `trufflehog filesystem --json`。
- 按批次分块处理(默认每次启动 `trufflehog.exe` 处理 100 个项目),以分摊 Go 启动开销 —— 比逐项调用快几个数量级。
- 通过存储的哈希值(`XWF_GetHashValue`)进行去重,因此跨用户配置文件 / VSCs / 系统还原点的相同副本只需扫描一次。
- 将命中的结果标记到按检测器划分的报告表中(`trufflehog: AWS`、`trufflehog: Slack`、`trufflehog: custom:标签:Go, Ruby工具, StruQ, TruffleHog, X-Tension, X-Ways, 学术论文, 数字取证, 自动化脚本