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

MobSF扫描提示Firebase等谷歌库使用弱SHA-1算法如何修复?

安卓应用MobSF扫描SHA-1弱哈希告警修复方案

你当前使用的旧版本谷歌Firebase、Play Services依赖内部默认在安全场景使用了SHA-1算法,是触发告警的核心原因,按以下步骤修复:

  • 升级依赖到安全版本

    首先将项目中的谷歌相关依赖替换为以下已移除SHA-1安全场景使用的稳定版本:
    // Firebase 相关
    com.google.firebase:firebase-messaging:23.4.1
    com.google.firebase:firebase-config:21.6.3
    // Play Services 基础库
    com.google.android.gms:play-services-base:18.4.0
    // SafetyNet 库(已废弃,优先迁移到Play Integrity API,暂不迁移可升级到最后稳定版)
    com.google.android.gms:play-services-safetynet:18.0.1
    
    注意:SafetyNet 已被谷歌正式淘汰,长期方案建议迁移到Play Integrity API,可彻底解决该库带来的所有安全告警
  • 排查自身代码的SHA-1使用

    搜索项目代码中是否有主动调用SHA-1的逻辑,通常是MessageDigest.getInstance("SHA-1")相关代码,所有安全相关场景(签名校验、数据完整性校验、密码哈希)必须替换为SHA-256及以上强度的哈希算法,示例:
    // 替换前
    MessageDigest digest = MessageDigest.getInstance("SHA-1");
    // 替换后
    MessageDigest digest = MessageDigest.getInstance("SHA-256");
    
  • 清理依赖树中的旧版不安全组件

    如果升级主依赖后仍有告警,执行./gradlew app:dependencies命令打印完整依赖树,排查是否存在其他间接引入的低版本Play Services、Firebase组件,可通过exclude语法强制使用安全版本,示例:
    implementation('com.google.firebase:firebase-messaging:23.4.1') {
        exclude group: 'com.google.android.gms', module: 'play-services-basement'
    }
    // 强制引入安全版本的basement组件
    implementation 'com.google.android.gms:play-services-basement:18.3.0'
    
  • 验证修复与误报处理

    重新打包应用后再次使用MobSF扫描,若告警仍存在,先核对告警指向的具体文件:如果对应文件是谷歌官方依赖内部文件,且上下文是不涉及安全的普通哈希场景(如缓存Key生成、资源标识计算),可判定为误报,走内部安全评估流程申请豁免即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 03:27:03