uniapp_jack
uniapp_jack
  • 发布:2021-12-02 16:19
  • 更新:2023-09-25 09:36
  • 阅读:1234

APP一启动就获取已安装应用列表

分类:uni-app

APP一启动就获取已安装应用列表,导致网络安全评估有问题。
麻烦看下这个怎么解决呢

2021-12-02 16:19 负责人:无 分享
已邀请:
w***@163.com

w***@163.com

1.HBuilder版本是最新3.8.12,离线打包工具也是8月份的最新包。

2、隐私协议弹窗也是安装文档配置的template模板。

在apk进行检测时,当隐私政策的弹窗不确认,不进行授权前,后台堆栈信息里获取SDK根目录和获取应用安装列表和获取SSID等信息。

堆栈信息分别如下:
1、获取SDK根目录

应用启动时间:2023-09-22 10:32:33
行为触发时间:2023-09-22 10:32:36
触发敏感函数:class android.os.Environment.getExternalStorageDirectory
触发进程:com.boco.mobile 进程PID:23138

函数调用栈:
at androidx.core.content.FileProvider.parsePathStrategy(FileProvider.java:633)
at androidx.core.content.FileProvider.getPathStrategy(FileProvider.java:579)
at androidx.core.content.FileProvider.attachInfo(FileProvider.java:392)
at android.app.ActivityThread.installProvider(ActivityThread.java:6391)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5938)
at com.wrapper.proxyapplication.WrapperProxyApplication.Ooo0ooO0oO(Native Method)
at com.wrapper.proxyapplication.WrapperProxyApplication.onCreate(WrapperProxyApplication.java:511)
at com.boco.mobile.MyWrapperProxyApplication.onCreate(MyWrapperProxyApplication.java:13)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1154)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5871)
at java.lang.reflect.Method.invoke(Native Method)
at android.app.ActivityThread.access$1100(ActivityThread.java:199)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1650)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

dir: /storage/emulated/0

2、获取应用安装列表:
应用启动时间:2023-09-22 10:32:33
行为触发时间:2023-09-22 10:33:00
触发敏感函数:android.app.ApplicationPackageManager.getPackageInfoAsUser
触发进程:com.boco.mobile 进程PID:23138

函数调用栈:
at android.app.ApplicationPackageManager.getPackageInfo(ApplicationPackageManager.java:152)
at com.google.android.gms.common.X.q(Unknown Source:3)
at com.google.android.gms.common.T.m(Unknown Source:0)
at com.google.android.gms.common.api.internal.bt.r(Unknown Source:38)
at com.google.android.gms.common.api.internal.h.z(Unknown Source:6)
at com.google.android.gms.common.api.internal.h.handleMessage(Unknown Source:43)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:193)
at android.os.HandlerThread.run(HandlerThread.java:65)

PackageName: com.google.android.gms
PackageInfo: 包名:com.google.android.gms
版本号:12862063
版本名:12.8.62 (100408-199405334)
首次安装时间:1230796800000
最后更新时间:1230796800000

3、获取SSID(chromium)

应用启动时间:2023-09-22 10:32:33
行为触发时间:2023-09-22 10:33:00
触发敏感函数:android.net.NetworkInfo.getExtraInfo
触发进程:com.boco.mobile 进程PID:23138

函数调用栈:
at org.chromium.net.NetworkChangeNotifierAutoDetect.getCurrentNetworkState(NetworkChangeNotifierAutoDetect.java:57)
at org.chromium.net.NetworkChangeNotifier.getCurrentConnectionSubtype(NetworkChangeNotifier.java:16)
at org.chromium.content.app.ContentMain.nativeStart(Native Method)
at org.chromium.content.app.ContentMain.start(ContentMain.java:2)
at org.chromium.content.browser.BrowserStartupController.contentStart(BrowserStartupController.java:27)
at org.chromium.content.browser.BrowserStartupController.startBrowserProcessesSync(BrowserStartupController.java:18)
at org.chromium.android_webview.AwBrowserProcess$$Lambda$0.run(Unknown Source:23)
at org.chromium.base.ThreadUtils.runOnUiThreadBlocking(ThreadUtils.java:10)
at com.android.webview.chromium.GW.h(WebViewChromiumAwInit.java:68)
at com.android.webview.chromium.hW.h(WebViewChromiumAwInitForP.java:3)
at com.android.webview.chromium.GW.C(WebViewChromiumAwInit.java:140)
at com.android.webview.chromium.GW.l(WebViewChromiumAwInit.java:121)
at com.android.webview.chromium.WebViewChromiumFactoryProvider.l(WebViewChromiumFactoryProvider.java:157)
at com.android.webview.chromium.WebViewChromium.init(WebViewChromium.java:34)
at android.webkit.WebView.<init>(WebView.java:678)
at android.webkit.WebView.<init>(WebView.java:604)
at android.webkit.WebView.<init>(WebView.java:587)
at android.webkit.WebView.<init>(WebView.java:574)
at java.lang.reflect.Constructor.newInstance0(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
at android.view.LayoutInflater.createView(LayoutInflater.java:647)
at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:866)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:420)
at android.app.Activity.setContentView(Activity.java:2771)
at io.dcloud.WebviewActivity.onCreate(Unknown Source:3)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

如何处理这三个问题,是安全检测通过。

uniapp_jack

uniapp_jack (作者)

@DCloud_Android_ST 帮忙看下这个问题呢

DCloud_Android_ST

DCloud_Android_ST

请按文档配置相关隐私协议 https://uniapp.dcloud.io/android-store
1、需要使用HX3.2.15+ 打包
2、不需要的权限请删除,其他模块需要的权限请查看https://ask.dcloud.net.cn/article/39484有相关说明
3、不支持自定义隐私弹窗提示。隐私提示框一定要配置使用template模式。
4、重新提交审核

  • uniapp_jack (作者)

    感谢,我们先按这个试试吧,我用android8.0的手机测试,随便下一个APP安装后,获取已安装应用列表这个权限默认都是开着的,不知道这个跟系统和手机厂家有没有关系

    2021-12-03 14:49

  • DCloud_Android_ST

    回复 uniapp_jack: 看截图你这是自定义隐私弹窗不支持的要改

    2021-12-03 14:53

  • uniapp_jack (作者)

    回复 DCloud_Android_ST: 实体的就是原生隐私弹框的。

    2021-12-03 15:29

  • uniapp_jack (作者)

    回复 DCloud_Android_ST: 使用的就是原生隐私弹框的

    2021-12-03 15:29

  • DCloud_Android_ST

    回复 uniapp_jack: 认真看我的回复。不管你是不是原生的弹窗都不行 要用我们提供的配置

    2021-12-06 12:25

  • 1***@163.com

    你好 3.3.13 版本 使用 新的 隐私协议 没有弹窗 然后用 旧版 3.2以下版本的隐私协议 意识一直说 获取安装列表 请问 这个和 使用新旧隐私协议实现方式有关系嘛

    2022-03-25 13:20

  • DCloud_Android_ST

    回复 1***@163.com: 提供下java调用堆栈

    2022-03-25 14:55

  • 莫楠尘

    启动获取应用列表的权限怎么屏蔽掉?现在华为应用市场因为这个问题,审核一直驳回

    2023-08-18 15:07

  • w***@163.com

    当前启动未确认隐私弹窗前,后台获取SDK根目录、获取应用列表权限和获取SSID等。这个问题还存在,用的HBuilder版本为3.8.12

    2023-09-25 17:17

失去后才明白

失去后才明白

问题解决了吗?

我也出现这样的问题,使用的是HbuildX 3.4打包的。配置使用template模式。

要回复问题请先登录注册