uni-app 打包的app 腾讯检测存在后门SDK msa_sdk 但代码里找不到相关代码

发布于 1周前 作者 sinazl 来自 Uni-App

uni-app 打包的app 腾讯检测存在后门SDK msa_sdk 但代码里找不到相关代码

开发环境 版本号 项目创建方式
Windows win10 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win10

HBuilderX类型:正式

HBuilderX版本号:3.98

手机系统:Android

手机系统版本号:Android 9.0

手机厂商:华为

手机机型:荣耀平板

页面类型:vue

vue版本:vue2

打包方式:云端

项目创建方式:HBuilderX

操作步骤:
- 提交腾讯检测

预期结果:
- 无后门漏洞

实际结果:
- 后面漏洞仍然存在

bug描述:
后门 SDK 检测 ( 1 )
中危
以下后门 SDK ,存在窃取用户隐私等风险,建议移除
1.msa_sdk 

PIE编译选项检测 ( 4 )
使用 NDK 编译 so 时,在 Android.mk 文件中添加: LOCAL_CFLAGS := -fPIE
1.assets/libjiagu.so
2.assets/libjiagu_a64.so
3.assets/libjiagu_x64.so
4.assets/libjiagu_x86.so

![](//ask.dcloud.net.cn/file/download/file_name-MjU1ZDI0MmVlMTA1YjUwZWM4YTFlNDYyMzY2ZDczZDYucGRm__url-Ly9pbWctY2RuLXRjLmRjbG91ZC5uZXQuY24vdXBsb2Fkcy9xdWVzdGlvbnMvMjAyMzEyMDYvYzI3NTkyZThiNjY5YmMwYWNlZWFkOWQ3Y2NjMjg2Y2I=)

2 回复

附件中提供的文件没有详细说明msa_sdk具体指的是什么?看起来应该是移动智能设备标识公共服务平台提供的统一SDK(OAID SDK),可以参考这里的配置去掉OAID SDK:https://uniapp.dcloud.net.cn/collocation/manifest-app.html#enableoaid
另外libjiagu.so文件看起来是加固工具产生的so库,此信息需要跟加固厂商确认。


uni-app 打包的 Android 应用中,如果腾讯检测到存在后门 SDK msa_sdk,但你确认代码中没有直接使用或引入该 SDK,可能是以下几个原因导致的:

1. 第三方依赖库引入了 msa_sdk

  • 在 Android 开发中,许多第三方库可能会依赖其他 SDK,而你可能没有直接引入这些 SDK,但它们被间接引入了。
  • 你可以通过检查项目的 build.gradle 文件和依赖树,查看是否有间接引入了 msa_sdk

解决方法:

  • 使用 ./gradlew dependencies 命令查看项目的依赖树,找到是否有 msa_sdk 相关的依赖。
  • 如果发现某个第三方库引入了 msa_sdk,可以尝试排除该依赖,或者寻找不包含 msa_sdk 的替代库。
implementation ('com.some.library:1.0.0') {
    exclude group: 'com.tencent.msdk', module: 'msa_sdk'
}

2. uni-app 框架或插件默认引入了 msa_sdk

  • uni-app 框架本身或某些官方插件可能默认引入了 msa_sdk,尤其是在使用某些特定的功能(如推送、统计等)时。
  • 你可以检查 uni-app 的官方文档或插件源码,查看是否有相关 SDK 的引入。

解决方法:

  • 如果确认是 uni-app 框架或插件引入的,可以尝试使用其他不包含 msa_sdk 的插件或功能。
  • 如果必须使用该功能,可以尝试在打包时排除 msa_sdk,或者与 uni-app 官方团队联系,确认是否可以移除该 SDK。

3. 打包工具或配置问题

  • 可能是由于打包工具或配置文件中包含了 msa_sdk,而你并没有直接引入。
  • 检查 AndroidManifest.xmlproguard-rules.pro 等文件,查看是否有与 msa_sdk 相关的配置。

解决方法:

  • 检查并清理这些配置文件,确保没有引入 msa_sdk

4. 腾讯检测误报

  • 有时候安全检测工具可能会误报某些 SDK 为后门 SDK,尤其是当 SDK 的某些行为与后门行为相似时。
  • 你可以尝试使用其他安全检测工具进行验证,或者与腾讯安全团队联系,确认是否为误报。

5. 自定义插件或模块引入

  • 如果你在项目中使用了自定义的插件或模块,可能会在其中引入了 msa_sdk
  • 检查这些插件或模块的源码,确认是否有引入 msa_sdk

6. 使用 exclude 排除依赖

  • 如果你确认 msa_sdk 是通过某个依赖引入的,可以在 build.gradle 中使用 exclude 排除该 SDK。
configurations {
    all {
        exclude group: 'com.tencent.msdk', module: 'msa_sdk'
    }
}
回到顶部
AI 助手
你好,我是IT营的 AI 助手
您可以尝试点击下方的快捷入口开启体验!