Safe Haven VTTI 分析和安全扫描结果在详情页怎么看
VTTI 是什么
v2.0.9 版本的更新日志里写到:"Added VTTI integration for apps. This will show an analysis for every app on the store for added security & Transparency."
VTTI(Visual Threat & Trust Intelligence,可视威胁与信任情报)是 Safe Haven 自有的一个应用分析报告模块。每个进了公开目录的应用,详情页上都会有一块 VTTI 分析区,展示这个 APK 在 Safe Haven 扫描管线下的分析结果。
在 v2.0.9 之前,扫描结果对用户只展示"过了 / 没过"这个二元信息;v2.0.9 开始把扫描管线里更多的中间结果放出来了,让用户能看到这个 APK 具体是被哪些规则判定为"干净"的。
扫描管线跑了什么
每个 APK 在进入公开目录之前,会走 safehaven-scanner 服务的完整管线:
原始 APK → 提取 SHA-256 哈希 → 查本地威胁数据库 →
→ 提取签名密钥哈希 → 签名锁定比对 →
→ 可选:VX-TITANIUM 引擎字节结构解析 + ML 分类器 →
→ 可选:manifest 元数据提取 →
→ 扫描结果入库
扫描管线的核心组件:
- safehaven-scanner(端口 8080):主引擎,轮询任务队列、拉取 APK、跑分析、提交结果
- safehaven-hash(端口 8081):本地 SQLite 威胁数据库服务,每 2 小时从公开威胁源拉取新的恶意哈希和签名模式
- safehaven-defs:定义更新工具,每 24 小时跑一次,拉取 VX-TITANIUM 引擎的新版本
VX-TITANIUM 引擎
这是 Safe Haven 扫描管线里可选的增强组件。当扫描器检测到目录下有 libcolourswift_av.so(机器码引擎库)和 ML 定义包时,就会加载完整的 VX-TITANIUM 引擎来做深度分析。
v9 版本(2026 年 6 月)引擎的扫描能力:
| 能力 | 说明 |
|---|---|
| 签名数据库匹配 | 对比已知恶意样本的签名模式 |
| 哈希查找 | 对比已知恶意文件的 SHA-256 |
| ML 分类器 | 字节结构解析 + 机器学习模型,检测混淆的恶意载荷 |
不使用 YARA 规则——Safe Haven 官方文档明确提到这一点。
没有 .so 库时怎么办
Safe Haven 的扫描架构设计了完全开源和模块化的兜底机制:如果社区分支去掉了 .so 引擎库或 ML 定义包,扫描器不会报错,会自动降级为纯哈希 + 证书提取检查引擎。核心的签名锁定、哈希比对、manifest 提取这些功能不受影响。
详情页上的扫描结果
进入公开目录的应用,详情页上你能看到:
| 信息项 | 说明 |
|---|---|
| 扫描状态 | 扫描通过 / 未通过 |
| 扫描时间 | 最近一次扫描的 Unix 时间戳(转换成人类可读时间) |
| APK SHA-256 | 当前版本的文件哈希 |
| 签名哈希 | 当前 APK 的签名密钥哈希(和首次扫描记录的哈希比对) |
| VTTI 摘要 | v2.0.9+ 新增,展示引擎分析结论 |

扫描结果过期了怎么办
Safe Haven 有上架后复扫(Rescan)管线——扫描器服务会定期拉取所有已上架应用的 APK,重新跑一遍扫描管线:
- 重新提取 manifest 的 versionCode、包名,和存储值比对(不一致就覆盖或 retired)
- 重新算 SHA-256 和签名哈希,和记录值比对
- 刷新扫描时间戳和文件大小
- 提取还没有存储的图标
所以你在详情页上看到的扫描时间应该是比较新的。如果某个应用的扫描时间已经是几个月前了,说明复扫管线可能对这个应用有跳过(比如包名匹配异常、临时下载失败等)。
商业安全软件的边界
Safe Haven 自己也承认它用了商业安全软件的能力——README 里写道:"leverages commercial security software in the live build"。商业软件有商业软件的问题:
- 误报(把良性应用标记为恶意)
- 漏报(漏掉新型恶意代码)
- 引擎库更新不及时
Safe Haven 的应对方式是透明化——把扫描结果直接展示给用户,让用户看到引擎扫了什么、结果是什么。如果两个应用用了相似技术栈,一个被扫出"可能恶意",另一个没有,这个对比本身就是有价值的信息。
为什么不用 YARA
Safe Haven 选择不用 YARA 规则做恶意代码检测。原因可能包括:YARA 规则需要持续维护和更新(工作量大)、规则容易出现误报、ML 分类器对混淆代码的检出能力更强。
这个选择本身也体现了 Safe Haven 的定位——它不是一个追求极致覆盖率的传统杀毒引擎,而是一个侧重"签名锁定 + 元数据透明化"的应用商店安全层。