You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

越狱检测机制误报原因排查:合法应用触发检测问题求助

越狱检测误报原因分析

我们的开发团队实现了越狱检测机制,但有未越狱用户反馈无法运行应用。排查后发现,用户安装App Store中的「La Terminal - SSH Client」会触发误判,卸载后应用恢复正常。

越狱检测代码

func isDeviceJailBroken() -> Bool {
    if UIDevice.current.isSimulator { return false }
    let appNames = ["cydia",
                    "Sileo",
                    "Icy",
                    "MxTube",
                    "RockApp",
                    "blackra1n",
                    "SBSettings",
                    "FakeCarrier",
                    "WinterBoard",
                    "IntelliScreen",
                    "loader",
                    "FlyJB",
                    "Zebra",
                    "WinterBoard",
                    "Snoop-itConfig",
                    "Terminal"]
    for appName in appNames {
        if UIApplication.shared.canOpenURL(URL(string: "\(appName)://")!) {
            return true
        }
    }
    return false
}

两款应用对比信息

La Terminal - SSH Client  (触发误报)
bundleId: com.xibbon.LaTerminal

Beam Terminal   (正常运行)
bundleId: com.beamwallet.BeamTerminal

误报触发原因与规律

核心原因

检测逻辑通过canOpenURL尝试打开Terminal://这个URL Scheme,而「La Terminal - SSH Client」作为合规的App Store应用,恰好注册了该Scheme,导致未越狱设备被误判为越狱状态。

触发规律

  • 误报仅发生在设备安装了注册了检测列表中某一URL Scheme的合规应用时,与应用bundleId是否包含关键词无关(两款应用bundleId均含Terminal,但只有前者注册了对应Scheme)。
  • 越狱检测的URL Scheme列表存在覆盖范围过大的问题,将部分合规应用可能使用的Scheme纳入了检测范围。

内容的提问来源于stack exchange,提问作者rAJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:56:07