q***@yinwang.com
q***@yinwang.com
  • 发布:2026-05-11 21:32
  • 更新:2026-05-11 21:48
  • 阅读:18

使用uniPush2后安全问题

分类:uni-app

麻烦看看下面这些问题怎么解决,谢谢:

uniapp勾选了unipush2,使用HBuilderX 4.87+云打包得到的apk文件被安全扫描出安全漏洞,有些不止个推的问题,如下:

1.安装包AndroidManifest.xml 的私有组件 com.getui.gtc.GtcService 设置了intent-filter标签:
<service
android:name="com.getui.gtc.GtcService"
android:exported="false">
<intent-filter>
<action android:name="com.getui.gtc.sdk.service.action"/>
</intent-filter>

</service>
说明:只在应用程序内部使用的组件必须设置为非公开,以防受到其他应用程序的调用。
私有组件如果声明了<intent-filter>标签,即使显式设置exported属性为false,也是存在组件信息泄露的风险。如图1-1所示,假设组件A-1是私有组件,应用程序A的某一组件根据组件A-1声明的行为X给组件A-1发送消息;若恶意应用程序B定义了公开组件B-1,并声明了和组件A-1相同的行为X,当应用A通过行为X发送敏感信息给组件A-1时,会给用户弹出消息接收选择框,用户在不知情的情况下可能会选择组件B-1,导致恶意应用B接收到应用A发送的内部消息,造成信息泄露。

2. Manifest 中部分 Activity 组件存在 StrandHogg 2.0 漏洞:
Activity 组件 io.dcloud.PandoraEntry、com.igexin.sdk.PushActivity 和 com.igexin.sdk.GetuiActivity 的配置存在问题,存在 StrandHogg 2.0 任务劫持漏洞。

当存在此漏洞时,其他应用程序可以将恶意 Activity 放置在易受攻击应用程序的 Activity 堆栈顶部。这使得该应用程序很容易成为钓鱼攻击的目标。

建议修复方案:

将 launchMode 属性设置为 "singleInstance"
设置空的 taskAffinity(即 taskAffinity="")

3.安卓安装包反编译后发现 CustomTrustMgr 类证书校验函数存在问题,未校验对端证书:
如题:安卓安装包反编译后的 CustomTrustMgr 类证书校验函数存在问题,未校验对端证书

4.com/loc/gd.java 中的 gd.e(Context) : boolean 函数中使用了被禁用的 checkCallingOrSelfPermission 方法:
说明:checkCallingOrSelfPermission()、checkCallingOrSelfUriPermission()、enforceCallingOrSelfPermission()和enforceCallingOrSelfUriPermission()用来判定调用者是否具备访问某个服务或给定URI所需的权限。但是,若权限检测应用已申请待检测的权限,则利用此类函数可允许缺少相应权限的恶意应用越权访问,导致“混淆代理人攻击”,因此应禁止使用。

权限检测方法应使用checkCallingPermission()、checkCallingUriPermission()、enforceCallingPermission()和enforceCallingUriPermission()来替代。

2026-05-11 21:32 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

关于您反馈的 uniPush2 安全扫描问题,这主要是由于 uniPush2 底层依赖的个推 SDK 内部组件配置,以及 Android 系统本身的安全机制所引发的扫描误报或已知风险。以下是基于知识库内容的分析及建议:

1. 关于 com.getui.gtc.GtcServiceintent-filter 风险

此问题源于个推 SDK 内部功能所需,其组件配置由 SDK 决定,应用层无法直接修改。安全平台提示的风险,在 SDK 功能必要性面前属于可接受范围。

2. 关于 StrandHogg 2.0 任务劫持漏洞

该漏洞已在 Android 2020.4.1 安全补丁中被修复(覆盖 Android 8.0 及以上版本),对高版本系统手机威胁不大。如果您需要临时封堵以满足检测要求,可以尝试在 manifest.json 中配置 hasTaskAffinity,但请注意此配置在 Android 11+ 系统上可能导致任务堆栈窗口变为两个。

3. 关于 CustomTrustMgr 类证书校验及 checkCallingOrSelfPermission 方法

抱歉,我在知识库中没有找到关于 CustomTrustMgr 类证书校验函数以及 com/loc/gd.javacheckCallingOrSelfPermission 方法的具体修复方案。这类问题可能涉及更深层的原生代码实现。

综合解决方案

针对这类安全扫描问题,官方推荐的首要且有效的解决方案是使用 APK 加固

  • 主要方案:推荐使用 uni安全加固,该服务目前由蚂蚁小程序云提供支持,可以有效提升应用的整体安全性,应对大多数安全扫描问题。
  • 通用说明:根据官方文档 Android平台应用安全漏洞风险,安全平台检测出的漏洞风险并不完全等同于真实存在的安全漏洞。例如,个推 SDK 的 ActivityService 等组件因功能需要必须对外导出,这属于正常情况,并非安全缺陷。许多报告属于误报或夸大了风险。

如果加固后问题仍未解决,或安全平台要求加固前必须通过检测,建议您整理完整的检测报告和待检测的 apk 文件,前往 官方论坛(ask社区) 发帖反馈,并添加“安全漏洞”、“安全检测”标签,以便官方技术支持进一步跟进。

内容为 AI 生成,仅供参考
q***@yinwang.com

q***@yinwang.com (作者)

@DCloud_Android_zl @DCloud_Android_YJC @DCloud_Android_ST @DCloud_Android_THB @DCloud-HBuilderX团队

各位请帮忙抽空看看,谢谢!

要回复问题请先登录注册