安全分析报告: MicroG v0.2.24.220220

安全分数


安全分数 49/100

风险评级


等级

  1. A
  2. B
  3. C
  4. F

严重性分布 (%)


隐私风险

1

用户/设备跟踪器


调研结果

高危 1
中危 57
信息 1
安全 0
关注 0

中危 应用程序数据可以被备份

[android:allowBackup=true]
这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。

中危 Content Provider (org.microg.gms.gservices.GServicesProvider) 未被保护。

[android:exported=true]
发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Content Provider (org.microg.mgms.settings.GoogleSettingsProvider) 未被保护。

[android:exported=true]
发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Content Provider (org.microg.gms.feeds.SubscribedFeedsProvider) 未被保护。

[android:exported=true]
发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (org.microg.gms.checkin.CheckinService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Broadcast Receiver (org.microg.gms.checkin.TriggerReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Service (org.microg.gms.gcm.PushRegisterService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Broadcast Receiver (org.microg.gms.gcm.PushRegisterReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (org.microg.gms.gcm.SendReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (org.microg.gms.gcm.TriggerReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (org.microg.gms.gcm.UnregisterReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Service (org.microg.gms.auth.loginservice.GoogleLoginService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Activity (org.microg.tools.AccountPickerActivity) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity (org.microg.gms.auth.login.LoginActivity) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (com.google.android.gms.auth.GetToken) 未被保护。

[android:exported=true]
发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity (com.google.android.gms.auth.TokenActivity) 未被保护。

[android:exported=true]
发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Content Provider (org.microg.gms.auth.AccountContentProvider) 未被保护。

[android:exported=true]
发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity (org.microg.gms.auth.credentials.CredentialPickerActivity) 未被保护。

存在一个intent-filter。
发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。

中危 Service (org.microg.gms.auth.credentials.CredentialsService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.auth.proxy.AuthProxyService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.auth.appcert.AppCertService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (com.google.android.gms.cast.media.CastMediaRouteProviderService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Activity设置了TaskAffinity属性

(org.microg.gms.ui.SettingsActivity)
如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

中危 Activity设置了TaskAffinity属性

(org.microg.gms.ui.SettingsActivityLink)
如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

中危 Activity-Alias (org.microg.gms.ui.SettingsActivityLink) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (org.microg.gms.ui.SettingsActivityLauncher) 未被保护。

[android:exported=true]
发现 Activity-Alias与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Content Provider (org.microg.gms.fonts.FontsProvider) 未被保护。

[android:exported=true]
发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Activity设置了TaskAffinity属性

(org.microg.gms.ui.AboutFragment$AsActivity)
如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

中危 Activity设置了TaskAffinity属性

(org.microg.gms.ui.GoogleMoreFragment$AsActivity)
如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

中危 Activity设置了TaskAffinity属性

(org.microg.gms.ui.AccountSettingsActivity)
如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

中危 Activity (org.microg.gms.ui.AccountSettingsActivity) 未被保护。

存在一个intent-filter。
发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。

中危 Content Provider (org.microg.gms.phenotype.ConfigurationProvider) 未被保护。

[android:exported=true]
发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (org.microg.gms.phenotype.PhenotypeService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.location.GoogleLocationManagerService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.location.ReportingAndroidService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.measurement.MeasurementService) 未被保护。

[android:exported=true]
发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (org.microg.gms.mdm.NetworkQualityService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.icing.LightweightIndexService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.playlog.PlayLogService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (com.google.android.gms.gcm.http.GoogleHttpService) 未被保护。

[android:exported=true]
发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

中危 Service (org.microg.gms.clearcut.ClearcutLoggerService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.auth.SignInService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.cast.CastDeviceControllerService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.udc.FacsCacheService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.usagereporting.UsageReportingService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Service (org.microg.gms.DummyService) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 发现拨号码(暗码): 2432546

[android:scheme="android_secret_code"]
在清单中发现暗码(例如:*#*#4636#*#*),拨号器输入后可看到敏感的隐藏内容。

中危 发现拨号码(暗码): 42678278

[android:scheme="android_secret_code"]
在清单中发现暗码(例如:*#*#4636#*#*),拨号器输入后可看到敏感的隐藏内容。

中危 应用程序使用不安全的随机数生成器

应用程序使用不安全的随机数生成器
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators

Files:
org/microg/gms/checkin/CheckinClient.java, line(s) 14
org/microg/gms/common/DeviceIdentifier.java, line(s) 3
org/microg/gms/common/PhoneInfo.java, line(s) 3
su/litvak/chromecast/api/v2/z.java, line(s) 3
w2/a.java, line(s) 3
w2/b$a.java, line(s) 3
w2/b.java, line(s) 3
x2/a.java, line(s) 3

中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等

文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10

Files:
org/microg/gms/auth/AuthConstants.java, line(s) 7,8
org/microg/gms/common/PackageUtils.java, line(s) 22,21
org/microg/gms/gcm/GcmConstants.java, line(s) 22,37

中危 SHA-1是已知存在哈希冲突的弱哈希

SHA-1是已知存在哈希冲突的弱哈希
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
org/microg/gms/common/PackageUtils.java, line(s) 255,267

中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件

应用程序创建临时文件。敏感信息永远不应该被写进临时文件


Files:
org/microg/gms/ui/DeviceRegistrationPreferencesFragment.java, line(s) 180

中危 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库

应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04h-Testing-Code-Quality.md#injection-flaws-mstg-arch-2-and-mstg-platform-2

Files:
org/microg/gms/gcm/GcmDatabase.java, line(s) 6,7,249,250
org/microg/gms/gservices/DatabaseHelper.java, line(s) 6,7,41,42,43,44,50,51
org/microg/gms/people/DatabaseHelper.java, line(s) 6,7,48,49,59,62,63,66,67,70

中危 不安全的Web视图实现。可能存在WebView任意代码执行漏洞

不安全的Web视图实现。可能存在WebView任意代码执行漏洞
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#testing-javascript-execution-in-webviews-mstg-platform-5

Files:
org/microg/gms/auth/login/LoginActivity.java, line(s) 266,144

中危 应用程序包含隐私跟踪程序

此应用程序有多个1隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。

中危 此应用可能包含硬编码机密信息

从应用程序中识别出以下机密确保这些不是机密或私人信息
38918a453d07199354f8b19af05ec6562ced5788
58e1c4133f7441ec3d2c270270a14802da47ba0e
1-929a0dca0eee55513280171a8585da7dcd3700f8
3a82b5ee26bc46bf68113d920e610cd090198d4a
24bb24c05e47e0aefa68a58a766179d9b613a600
afb0fed5eeaebdd86f56a97742f4b6b33ef59875
61226bdb57cc32c8a2a9ef71f7bc9548e95dcc0b

信息 应用程序记录日志信息,不得记录敏感信息

应用程序记录日志信息,不得记录敏感信息
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs

Files:
b0/e.java, line(s) 32
b2/g.java, line(s) 296
d0/b.java, line(s) 36,48,60,74
d1/a.java, line(s) 36
e1/i0.java, line(s) 33,86
e1/y.java, line(s) 38,47,49
f0/c.java, line(s) 173
g0/b$c.java, line(s) 28
h/g.java, line(s) 136,169,246
i/c.java, line(s) 230
j0/d.java, line(s) 413
k4/n.java, line(s) 55,59,60
m1/h.java, line(s) 49
org/microg/gms/AbstractGmsServiceBroker.java, line(s) 96,107
org/microg/gms/BaseService$1.java, line(s) 22
org/microg/gms/BaseService.java, line(s) 37
org/microg/gms/ChimeraSpoofProvider.java, line(s) 37
org/microg/gms/auth/AccountContentProvider.java, line(s) 23,27
org/microg/gms/auth/AuthManager.java, line(s) 105,142
org/microg/gms/auth/AuthManagerServiceImpl.java, line(s) 70,109,122,141,84,130,146,151
org/microg/gms/auth/AuthResponse.java, line(s) 88
org/microg/gms/auth/SignInService.java, line(s) 15
org/microg/gms/auth/appcert/AppCertManager$fetchDeviceKey$2$1.java, line(s) 31
org/microg/gms/auth/appcert/AppCertService.java, line(s) 13
org/microg/gms/auth/credentials/CredentialPickerActivity.java, line(s) 42
org/microg/gms/auth/credentials/CredentialsServiceImpl.java, line(s) 19,25,32,45,52
org/microg/gms/auth/login/LoginActivity$1.java, line(s) 20
org/microg/gms/auth/login/LoginActivity$JsBridge.java, line(s) 27,32,38,44,55,62,111,136,141,146,151,162,182,188
org/microg/gms/auth/login/LoginActivity.java, line(s) 72,165,195,203
org/microg/gms/auth/loginservice/AccountAuthenticator.java, line(s) 46,52,59,65,79,85,111,72
org/microg/gms/auth/proxy/AuthServiceImpl$getSpatulaHeader$1.java, line(s) 58
org/microg/gms/auth/proxy/AuthServiceImpl.java, line(s) 36,49
org/microg/gms/cast/CastDeviceControllerImpl.java, line(s) 75,76,96,134,239,279,91,117,128,140,151,162,173,184,195,206,217,106,246,274
org/microg/gms/cast/CastMediaRouteController.java, line(s) 23,29,34,39,44,49,54
org/microg/gms/cast/CastMediaRouteProvider$1.java, line(s) 35,45,51
org/microg/gms/cast/CastMediaRouteProvider.java, line(s) 50,105
org/microg/gms/checkin/CheckinClient.java, line(s) 73
org/microg/gms/checkin/TriggerReceiver.java, line(s) 22,41
org/microg/gms/chimera/ServiceProvider.java, line(s) 34,41,48,54,62,69
org/microg/gms/common/ForegroundServiceContext.java, line(s) 45,49,85,51
org/microg/gms/common/HttpFormClient.java, line(s) 205,218,118,139,147,154
org/microg/gms/common/MultiListenerProxy.java, line(s) 219
org/microg/gms/common/PackageUtils.java, line(s) 216,225,308,315
org/microg/gms/common/RemoteListenerProxy.java, line(s) 51,55,70
org/microg/gms/common/Utils.java, line(s) 28
org/microg/gms/fonts/FontsProvider.java, line(s) 33,40,47,54,60,68,93,84
org/microg/gms/gcm/GcmPrefs.java, line(s) 259
org/microg/gms/gcm/McsInputStream.java, line(s) 48,145,167,51,79,82,150
org/microg/gms/gcm/McsOutputStream.java, line(s) 37,93,99
org/microg/gms/gcm/McsService.java, line(s) 411,588,118,339,132,188,261,268,311,326,360,363,523,574
org/microg/gms/gcm/PushRegisterHandler.java, line(s) 130,142,72,84,119,154
org/microg/gms/gcm/PushRegisterManager.java, line(s) 59,133
org/microg/gms/gcm/PushRegisterService.java, line(s) 65,100,54
org/microg/gms/gcm/SendReceiver.java, line(s) 15
org/microg/gms/gcm/ServiceInfoKt.java, line(s) 53
org/microg/gms/gcm/ServiceInfoReceiver.java, line(s) 23
org/microg/gms/gcm/UnregisterReceiver.java, line(s) 25,29
org/microg/gms/gservices/GServicesProvider.java, line(s) 71,84
org/microg/gms/icing/AppDataSearchImpl.java, line(s) 16,31,36,50
org/microg/gms/icing/GlobalSearchAdminImpl.java, line(s) 24,29,34,43,48,53
org/microg/gms/icing/IndexService.java, line(s) 59
org/microg/gms/icing/LightweightAppDataSearchImpl.java, line(s) 18,23
org/microg/gms/icing/SearchCorporaImpl.java, line(s) 23,27,31,48,53
org/microg/gms/icing/SearchQueriesImpl.java, line(s) 20,25
org/microg/gms/location/GoogleLocationManager.java, line(s) 86,91,96,208,214,228,231,237,94,119,235
org/microg/gms/location/GoogleLocationManagerServiceImpl.java, line(s) 68,72,77,83,88,93,103,116,120,124,128,132,136,140,144,148,152,156,160,164,168,173,178,182,186,191,195,199,203,207,211,216,228,233,237,241,246,251,256,261,266,270,274,279,290,295,300,305,310,316,321,326,331,335,63
org/microg/gms/location/LocationRequestHelper.java, line(s) 186,84,87
org/microg/gms/location/RealLocationProvider.java, line(s) 62,81,86,119,150,160
org/microg/gms/location/ReportingServiceImpl.java, line(s) 16,21,30,35,40,45
org/microg/gms/mdm/NetworkQualityService.java, line(s) 13
org/microg/gms/measurement/MeasurementServiceImpl.java, line(s) 19,23,28,35,40,45,57
org/microg/gms/people/ContactSyncService.java, line(s) 21
org/microg/gms/people/PeopleManager.java, line(s) 59,74,111
org/microg/gms/people/PeopleServiceImpl.java, line(s) 48,54,69,86,102,111,120,125,131,40,64,106
org/microg/gms/phenotype/ConfigurationProvider.java, line(s) 30
org/microg/gms/phenotype/PhenotypeServiceImpl.java, line(s) 17,33,39
org/microg/gms/playlog/PlayLogServiceImpl.java, line(s) 16,31
org/microg/gms/profile/ProfileManager.java, line(s) 53,193,414,45,47,157,203,258,422
org/microg/gms/udc/FacsCacheServiceImpl.java, line(s) 20,27,39,47,54
org/microg/gms/ui/DeviceRegistrationPreferencesFragment.java, line(s) 203
org/microg/gms/ui/PushNotificationAppFragment$onCreateView$1.java, line(s) 27
org/microg/gms/ui/UtilsKt.java, line(s) 22
org/microg/gms/usagereporting/UsageReportingServiceImpl.java, line(s) 18,39,46
org/microg/gms/utils/BinderUtilsKt.java, line(s) 16,21
org/microg/safeparcel/SafeParcelUtil.java, line(s) 450,458,508,513,639
p0/d.java, line(s) 111,145,139
r/f.java, line(s) 121
r0/a.java, line(s) 30
v/c.java, line(s) 56
v/d.java, line(s) 65
v/h.java, line(s) 37,46,167
w/d.java, line(s) 394,399
w/f.java, line(s) 83
w/g.java, line(s) 40,75
w/h.java, line(s) 52,110
w/k.java, line(s) 66,69
w/l.java, line(s) 97
w0/a.java, line(s) 301,322
w0/i$b.java, line(s) 124
w0/i.java, line(s) 321,935
x/a.java, line(s) 91,100,158,168
x/e.java, line(s) 36,68
y0/c.java, line(s) 166,184,218
y0/e.java, line(s) 128,156,164
y1/d.java, line(s) 105,138
z1/b.java, line(s) 52

安全评分: ( MicroG 0.2.24.220220)