android.provider.Telephony.SMS_RECEIVED 的广播公司许可

broadcaster permission for android.provider.Telephony.SMS_RECEIVED

我最近使用 HPFortify 服务对我的 Android 源代码进行了代码扫描。他们报告了关于其中一个广播接收器的安全漏洞。他们建议使用广播公司权限来减少攻击向量。这样你就限制了广播者,否则任何恶意应用程序都可以发送意图,广播接收器将处理它。

这是我的实际代码:

String ACTION = "android.provider.Telephony.SMS_RECEIVED"
IntentFilter smsFilter = new IntentFilter(SMSReceiver.ACTION);
                    smsFilter.setPriority(Integer.MAX_VALUE);
                    smsReceiver = createSMSReceiver(ctx, l);
                    ctx.registerReceiver(smsReceiver, smsFilter);

我正在使用以下权限来监听权限

<uses-permission android:name="android.permission.RECEIVE_SMS"/>

理想情况下,代码的最后一行应该是这样的:

 ctx.registerReceiver(smsReceiver, smsFilter, "XXX.boradcaster.permission.XXX", null);

我无法弄清楚广播接收器权限。谁能建议如何解决这个问题?

您正在寻找的权限是 "android.permission.BROADCAST_SMS",或者您可以使用 android.Manifest.permission.BROADCAST_SMS 常量。