您的应用程序包含不安全的加密模式(在动态加载的代码中)。

16

这是最近发布的预发报告,当我对应用程序进行了小更新后,它突然出现了。

enter image description here

我最近也看到了几个类似的在其他项目中,使用完全相同的名称(bjqm.*,bpce.*)对类名进行了混淆。

我想知道是什么导致了这种情况(哪个依赖项)?请注意,这是动态加载的代码。这些类在“混淆映射.txt”中没有出现,在堆转储中也没有捕获到这些类。此外,我已经尝试将应用程序提交到内部构建时不进行混淆,但是这些类在预启动报告中仍然被混淆。

似乎Google最近更新了静态分析器,因为我在代码库中所做的小更改并没有导致这种情况。


1
我遇到了完全相同的问题,使用完全相同的名称 bjqm.c 和 bpce.b... 这非常奇怪。我也会重新上传并查看是否有效。 - Zee
1
我刚刚收到了这个警告,尽管一周前我提交另一个更新时并没有收到这个警告。代码非常相似,只有一些微小的更改。我确实更新了一些广告网络库。有人知道我如何跟踪可能导致此问题的库吗? - casolorz
1
也许是 com.google.android.gms:play-services-basement 依赖项(它是 play-services-location、firebase-message 和其他库的子依赖项)。在18.0.2中,似乎已经修复了以下问题:“play-services-basement 库的最新更新改进了签名验证安全性,并解决了可变 PendingIntent 漏洞。”如果您能尝试将 play-services-location 升级到最新版本(21.0.1),那就太好了。使用“./gradlew app:dependencies”测试项目中是否有 play-services-basement >= 18.0.2。我已将 play-services-location 从17.0.0升级到21.0.1,basement 现在从17.0.0升级到了18.1.0。 - Erkki Nokso-Koivisto
1
@ErkkiNokso-Koivisto 如果我撤销升级,似乎它会依赖于basement 18.1.0...所以现在我不确定。但错误仍然没有在Play中显示 :( - Zee
1
我使用的是18.2.0版本的base18.1.0版本的basement,昨晚遇到了预启动报告错误。我发现你可以上传捆绑包而不提交审核,仍然可以生成预启动报告,所以我正在尝试这种方式进行测试。 - casolorz
显示剩余23条评论
4个回答

2

我遇到了完全相同的问题,但它们似乎是随机出现的。昨天我成功提交了我的应用程序的最新版本,并发布到商店。当我今天早上在仪表板中查看该发布时,两个错误已被添加。以前的一个版本也有同样的情况发生。到底怎么回事?

顺便说一句,作为新手,我想添加一条评论到原始问题中,但我没有权限。如果添加答案不是正确的协议,请谅解。


这是否会导致apk被拒绝?到目前为止,我只有预发布报告,没有别的东西。编辑:回答我的问题,没有,它没有导致apk被拒绝。 - casolorz
昨天我上传了两个捆绑包,但只发布了一个。我刚刚意识到我从未发布的那个触发了警报,所以我实际上不知道是否会导致apk被拒绝。 - casolorz

1

我重新提交了一个没有任何更改的应用程序版本,现在“不安全的加密”和“隐式挂起意图”错误已经消失了 :)


1
不确定是运气还是我们的操作,但是使用Unity和Easy Save 3插件时,我们遇到了这个问题。在将Easy Save 3插件更新到最新版本后,Google Play不再抱怨。
以防万一这些信息对某人有帮助。

1

我和你一样遇到了同样的问题 bjqm.c,bjqm.d,bpce.b

然后我把SharedPreference改成EncrytedSharedPreference并且提交了一个更新。 所有的警告都消失了。

EncryptedSharedPreference Google 文档

如果你使用SharedPreference,可以尝试一下这个。 祝好运。


你是在使用SharedPreference进行加密操作,还是认为这个库在做某些事情? - casolorz
之前我使用了 SharedPreference,但没有加密。之后我使用了 EncryptedSharedPreferenceSharedPreference 进行了加密,所有的警告都消失了。我只是按照谷歌文档中的建议进行操作。 - minjun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接