恶意网站防护与 WebView 崩溃保护
基于 WebView 的安全边界
Hermit 用的是 Android System WebView,不是自嵌的 Chromium。这有好有坏:
- 好处:WebView 会跟系统一起自动更新安全补丁,不需要 Hermit 自己维护一个独立的渲染引擎版本
- 坏处:Hermit 的安全能力取决于 WebView 引擎本身能提供什么,有些底层保护 Chrome 有但 WebView 没有
Hermit 团队在这个基础上做了两层额外保护。
恶意网站防护
Hermit 功能页列出了"Malware Protection"作为一项隐私能力。这个保护来自内容拦截器里的恶意域名列表——当你访问一个被标记为恶意的网站时,Hermit 会提前拦截并提示风险。
它跟 Chrome 的"安全浏览"不同:
- Chrome 是把 URL 发给 Google 的服务器做实时查询
- Hermit 是用本地的恶意域名列表做本地匹配
这意味着 Hermit 的检测可能不如 Chrome 实时,但好处是不把你的浏览 URL 发给任何服务器——从隐私角度反而更干净。
WebView 崩溃保护
WebView 在某些极端情况下会崩溃:
- 遇到格式不规范的 HTML/JS
- 触发 WebView 的某些已知 bug
- 页面主动试图访问 WebView 不支持的能力
Hermit 做了一层崩溃保护——当 WebView 进程崩溃时,Hermit 不闪退主应用,而是优雅地提示你刷新页面或重启轻应用。官方 Help 文档说 Hermit 实现了 99.8% 的无崩溃率。
为什么 Hermit 的崩溃率比其他浏览器低
Chimbori(Hermit 开发团队)专门写过一篇 blog 解释"how does Hermit reduce crashes",列出几条关键设计:
- 不嵌入自己的渲染引擎(渲染崩溃概率最低的选择)
- 每个轻应用是独立进程,一个崩了不影响其他
- 做了 WebView Crash Protection 捕获并优雅降级
- 只实现必需的浏览器功能,不做花哨但易出错的扩展
更新 WebView 才是真正的安全补丁
Hermit 的帮助文档专门有一节叫"如何以及为什么更新 Android WebView"。它给出的建议很明确:
为了安全的在线浏览体验,始终让 Android WebView 保持在最新版本。
如果你的手机提示有 WebView 更新,一定要更。Hermit 的安全性最终还是建立在 WebView 的基础上——WebView 版本落后,Hermit 的那层额外保护再强也挡不住底层漏洞。