OpenFlutter / tobias

AliPay For Flutter.支付宝Flutter插件
Apache License 2.0
696 stars 116 forks source link

未进行正确配置的代码为:android:exported="true" #136

Closed purgeyao closed 10 months ago

purgeyao commented 1 year ago

Activity 最小化特权检测 Activity组件导出风险检测

未进行正确配置的代码为:
activity android:configChanges="0x40003DF4" android:exported="true"
android:launchMode="3"
android:name="com.alipay.sdk.app.PayResultActivity"
android:theme="@android:01030010"
activity android:configChanges="0x40003DF4" android:exported="true"
android:launchMode="2"
android:name="com.alipay.sdk.app.AlipayResultActivity"
android:theme="@android:01030010"

这个安全检查提示有什么修改方法么

JarvanMo commented 1 year ago

我不知道他这个要表达的是什么意思

purgeyao commented 1 year ago

介绍大概是这样

Activity的最小化特权是指组件只能自身调用,其他应用无权访问,即组件不导出。Activity组件设置导出权限,则该组件能够被外部的其他组件直接调用,这样就可能导致泄露隐私数据或者应用程序崩溃等风险。Activity被恶意应用调用,可能有以下威胁描述:修改程序的状态或者数据;被调用的Activity可能返回隐私信息给恶意应用,造成数据泄露;可能使应用程序崩溃,造成拒绝服务等漏洞。
开发者自查,设置AndroidManifest.xml文件中Activity组件EXPORTED属性为false,对于必须导出的组件必须限制于授权用户或者特定应用组件,并且尽量不包含任何的Intent Filter。
未进行正确配置的代码为:
activity android:configChanges="0x40003DF4" android:exported="true"
android:launchMode="3"
android:name="com.alipay.sdk.app.PayResultActivity"
android:theme="@android:01030010"
activity android:configChanges="0x40003DF4" android:exported="true"
android:launchMode="2"
android:name="com.alipay.sdk.app.AlipayResultActivity"
android:theme="@android:01030010"
JarvanMo commented 1 year ago

那你得看看支付宝有没有更新了。有的话我可以更新一下。m y

purgeyao commented 1 year ago

fluwx微信支付那个插件他在AndroidManifest.xml 里面 添加了下面

  <application>
        <activity
            android:name=".wxapi.FluwxWXEntryActivity"
            android:launchMode="singleTask"
            android:exported="false"
            android:taskAffinity="${applicationId}"
            android:theme="@style/DisablePreviewTheme" />

        <activity-alias
            android:name="${applicationId}.wxapi.WXEntryActivity"
            android:exported="true"
            android:launchMode="singleTop"
            android:targetActivity="com.jarvan.fluwx.wxapi.FluwxWXEntryActivity"
            android:taskAffinity="${applicationId}"
            android:theme="@style/DisablePreviewTheme"/>
        <activity-alias
            android:name="${applicationId}.wxapi.WXPayEntryActivity"
            android:exported="true"
            android:launchMode="singleInstance"
            android:targetActivity="com.jarvan.fluwx.wxapi.FluwxWXEntryActivity"
            android:theme="@style/DisablePreviewTheme"/>

        <provider
            android:name="com.jarvan.fluwx.FluwxFileProvider"
            android:authorities="${applicationId}.fluwxprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/fluwx_file_provider_paths" />
        </provider>
    </application>

是通过了安全检测了,是不是可以产考下,还是得支付宝sdk支持后才能修改

JarvanMo commented 1 year ago

对于必须导出的组件必须限制于授权用户或者特定应用组件,并且尽量不包含任何的Intent Filter。 这个activity 有没有intent filter 我不清楚。也改变不了。 即使真改了,如何确保支付宝SDK 可以正常工作?

JarvanMo commented 1 year ago

Fluwx的回调activity 都是自己定义的,那个是SDK 里的,改不了