设置导出 = false 时,应用程序不会启动

nar*_*ero 2 security android

我的 Android 应用程序通过了Quixxi 漏洞扫描,其中一个高风险问题是:

Vulnerability : Using Activities/Improper Export of Android Application Activities
Severity : High

Export tag for following activities are not used properly:
com.domain.appname.activities.SplashActivity
Run Code Online (Sandbox Code Playgroud)

在清单中,它看起来像这样:

<activity
    android:name=".activities.SplashActivity"
    android:exported="true"
    android:theme="@style/SplashTheme">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

当我设置android:exported="false"应用程序不再启动时,Android Studio 只显示Client not ready yet...

Quixxi 报告的漏洞如何修复?

Com*_*are 5

没有漏洞,您无法以某种方式提高安全性来“修复”它。启动器活动应该由第三方启动器启动,因此需要导出。

既然你有一个<intent-filter>android:exported就没有必要了。通过删除此属性,您可能会从 Quixxi 的角度“修复”问题。

鉴于此误报,您可能会重新考虑使用 Quixxi。

  • 如果您的应用以 12 导出属性为目标,则启动 Android 12 应为清单中具有意图过滤器的所有活动条目指定 (2认同)