本文面向的是其应用会使用隐式 intent 访问某个内部组件的开发者。
问题说明
您的一个或多个应用存在隐式内部 intent 问题。攻击者通过用于访问内部组件的隐式 intent,能够拦截消息,然后丢弃消息、读取消息内容,甚至替换消息内容。您可以通过 Play 管理中心针对相应应用提供的通知了解该应用中有哪些位置使用了隐式 intent。
如何解决“隐式内部 intent”提醒的问题
检查您的应用,找到使用隐式 intent 的位置。例如,以下代码便使用隐式 intent 访问内部组件:
//此应用中有一个组件注册 MY_CUSTOM_ACTION,该 intent 仅
//由此应用注册,这表明开发者希望该 intent
//能安全地传送到相应的内部组件。
Intent intent = new Intent("MY_CUSTOM_ACTION");
//向“intent”中添加可能敏感的内容
intent.putExtra("message", sensitive_content);
startActivity(intent);
Google 建议开发者使用显式 intent 访问内部组件,可通过以下任一方法实现:
- 使用 Intent.setComponent 明确地设置用于处理相应 intent 的组件。
- 使用 Intent.setClass 或 Intent.setClassName 明确设置目标组件。
- 使用 Intent.setPackage 限制相应 intent 解析到哪些组件。
后续步骤
- 按照上文中重点介绍的步骤更新应用。
- 登录您的 Play 管理中心,然后提交应用的更新版本。
在此期间,您的新应用或应用更新将会处于审核中状态,直至您的请求审核完毕。如果该应用未正确更新,您仍然会看到警告。
我们随时为您提供帮助
如果您有关于此漏洞的技术问题,可以在 Stack Overflow 上发帖咨询(使用“android-security”标签)。如需明确了解需要执行哪些步骤来解决此问题,您可以与我们的支持团队联系。