如何使用 Ionic 和 Cordova 修复 Android 应用程序中的漏洞问题

How to Fix Vulnerabilities Issue in Android App with Ionic and Cordova

我用 MobSF 分析了一个 apk,发现了很多漏洞问题,但我不知道如何修复它。

android.permission.REQUEST_INSTALL_PACKAGES dangerous
android.permission.WRITE_EXTERNAL_STORAGE dangerous
android.permission.CALL_PHONE dangerous
android.permission.WAKE_LOCK dangerous

这些不是漏洞。它们被称为 "dangerous" 权限,因为它们允许您执行可能危及用户隐私的事情。危险权限要求您在运行时请求权限,而不仅仅是在清单中。

我会删除您实际不使用的所有内容。 REQUEST_INSTALL_PACKAGES 特别令人担忧,很少需要它。但如果你真的需要这些功能,那就没问题了。

我在构建中使用挂钩解决了我的问题。此脚本删除特定权限:

var permissionsToRemove = [ "WRITE_EXTERNAL_STORAGE", "READ_EXTERNAL_STORAGE", "WAKE_LOCK", "REQUEST_INSTALL_PACKAGES" ];

module.exports = function(context) {
  const platformRoot = path.join(context.opts.projectRoot, 'platforms/android/app/src/main');
  const manifestFile = path.join(platformRoot, 'AndroidManifest.xml');

  if (fs.existsSync(manifestFile)) {
    fs.readFile(manifestFile, 'utf8', function (err, data) {
      if (err) {
        throw new Error('Unable to find AndroidManifest.xml: ' + err);
      }

      let result = data;

      for (var i=0; i<permissionsToRemove.length; i++) {
        result = result.replace( "<uses-permission android:name=\"android.permission." +       permissionsToRemove[i] + "\" />", "" );
      }
    });
  }
};