安全分数
安全分数 46/100
风险评级
等级
- A
- B
- C
- F
严重性分布 (%)
隐私风险
1
用户/设备跟踪器
调研结果
高危
5
中危
28
信息
2
安全
2
关注
0
高危 Activity (com.google.firebase.auth.internal.GenericIdpActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.google.firebase.auth.internal.GenericIdpActivity) 容易受到StrandHogg 2.0的攻击
已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。
高危 Activity (com.google.firebase.auth.internal.RecaptchaActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.google.firebase.auth.internal.RecaptchaActivity) 容易受到StrandHogg 2.0的攻击
已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。
高危 SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击
SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md#android-network-apis Files: q4/c.java, line(s) 22,23,3
中危 应用程序已启用明文网络流量
[android:usesCleartextTraffic=true] 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。
中危 应用程序数据可以被备份
[android:allowBackup=true] 这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。
中危 Content Provider (wosc.play.artefactos.ContentProvider) 未被保护。
[android:exported=true] 发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Activity-Alias (wosc.play.Launcher) 未被保护。
存在一个intent-filter。 发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。
中危 Broadcast Receiver (wosc.play.detectores.DetectaNuevaFoto) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Broadcast Receiver (wosc.play.detectores.DetectaLlamadas) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Broadcast Receiver (wosc.play.detectores.DetectaPowerON) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Broadcast Receiver (wosc.play.detectores.DetectaPowerOFF) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Broadcast Receiver (wosc.play.detectores.MyDeviceAdminReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_DEVICE_ADMIN [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Broadcast Receiver (wosc.play.detectores.DetectaUnlockPhone) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Broadcast Receiver (wosc.play.detectores.DetectaGpsOnOff) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Service (wosc.play.fcm.MyFirebaseMessagingService) 未被保护。
存在一个intent-filter。 发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。
中危 Service (wosc.play.servicios.GpsService) 未被保护。
[android:exported=true] 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Service (wosc.play.servicios.NewPicture_JobService) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_JOB_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Service (wosc.play.servicios.AccesibilidadService) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_ACCESSIBILITY_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Service (wosc.play.detectores.DetectaNotificaciones) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_NOTIFICATION_LISTENER_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Activity (com.google.firebase.auth.internal.GenericIdpActivity) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Activity (com.google.firebase.auth.internal.RecaptchaActivity) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: com.google.android.c2dm.permission.SEND [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 应用程序使用不安全的随机数生成器
应用程序使用不安全的随机数生成器 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators Files: g4/a.java, line(s) 3 k4/j.java, line(s) 3 o5/c.java, line(s) 5 org/jsoup/helper/DataUtil.java, line(s) 14 q4/i.java, line(s) 9 wosc/play/artefactos/e.java, line(s) 21 wosc/play/dominio/j.java, line(s) 20
中危 MD5是已知存在哈希冲突的弱哈希
MD5是已知存在哈希冲突的弱哈希 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4 Files: wosc/play/artefactos/f.java, line(s) 28
中危 应用程序使用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: d4/p.java, line(s) 6,7,8,9,133,638 s1/m0.java, line(s) 5,6,68,102,121,130,180,291,308,742 s1/t0.java, line(s) 4,5,136
中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10 Files: wosc/play/webservice/a.java, line(s) 543
中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage Files: wosc/play/artefactos/d.java, line(s) 44,47,66 wosc/play/dominio/j.java, line(s) 66,72
中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件
应用程序创建临时文件。敏感信息永远不应该被写进临时文件 Files: f5/c.java, line(s) 80 u0/b.java, line(s) 117
中危 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: f5/b.java, line(s) 55 k4/m.java, line(s) 134
中危 应用程序包含隐私跟踪程序
此应用程序有多个1隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。
中危 此应用可能包含硬编码机密信息
从应用程序中识别出以下机密确保这些不是机密或私人信息 "firebase_database_url" : "https://catwatchful-e03b8-2.firebaseio.com" "google_api_key" : "AIzaSyBUbLfoHmVON_PyJYnJQ3T3m9qZJ8bJZ4M" "google_app_id" : "1:290254967732:android:1be5a596e0649f3e" "google_crash_reporting_api_key" : "AIzaSyBUbLfoHmVON_PyJYnJQ3T3m9qZJ8bJZ4M" L1doYXRzYXBwIERvY3VtZW50cy9Qcml2YXRl ABCDEF012GHIJKL345MNOPQR678STUVWXYZ9 L0FuZHJvaWQvbWVkaWEvY29tLndoYXRzYXBwL1doYXRzYXBwL01lZGlh
信息 应用程序记录日志信息,不得记录敏感信息
应用程序记录日志信息,不得记录敏感信息 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs Files: a0/a.java, line(s) 95,104,162,172 a0/e.java, line(s) 36,68 a2/e.java, line(s) 115,161,168 a2/i.java, line(s) 84,37,67,127,133,142,145 a2/l.java, line(s) 29 a4/g0.java, line(s) 38,56,65,72,83 a4/l0.java, line(s) 94 a4/q.java, line(s) 61 b4/g.java, line(s) 34,41,44,53,87 b4/o.java, line(s) 128 c3/h.java, line(s) 51 d/a.java, line(s) 102 d0/h.java, line(s) 23 d2/c.java, line(s) 37,43,32,49,55 d2/g0.java, line(s) 53,58 d2/u.java, line(s) 26 d4/o.java, line(s) 81,82,83 f0/b.java, line(s) 36,48,60,74 f5/b.java, line(s) 59,76 g/g.java, line(s) 152,185,262 g2/a.java, line(s) 42,46,35,62,67,71,75 g5/c.java, line(s) 95,98,120,128,129,150,156 h/c.java, line(s) 277 h0/c.java, line(s) 164 h2/a.java, line(s) 57,68 i2/f.java, line(s) 13 i2/k.java, line(s) 17,16 i2/l.java, line(s) 107,52,59,80,89 i6/c.java, line(s) 14 k4/m.java, line(s) 93 l0/c.java, line(s) 418 l1/e.java, line(s) 36,65,72,75,92,97,102,107,112 l4/a.java, line(s) 243 m0/a.java, line(s) 255,824,1025,789,803,1039,1222 m2/b.java, line(s) 36,100 n5/e.java, line(s) 19,22 o1/a.java, line(s) 15,22,29,14,21,28,42,43,49,50 o4/a.java, line(s) 19,24,29,34 o5/a.java, line(s) 86 o5/b.java, line(s) 30,37 o5/c.java, line(s) 65,67,83 o5/i.java, line(s) 28,39,24,47,63,74,81 p/d.java, line(s) 208 p0/a.java, line(s) 31 p3/d.java, line(s) 157,190 p5/d.java, line(s) 242,257,134,173,321,241,256,67,88,93,260 q3/b.java, line(s) 86 s3/g.java, line(s) 434 t0/a.java, line(s) 139,144,151,155,171,181 u0/a.java, line(s) 233,352,408,197,204,206,212,334,345,356,392,110,141,200,208,215,228,239,251,268,314 u0/b.java, line(s) 58,69,71,98,100,118,139,179,221,243,292,302,305,309,94,102,111,231,247,262,300 w0/a.java, line(s) 36 w1/a.java, line(s) 125,161 w1/d.java, line(s) 23,41,50,60 w3/e.java, line(s) 284,223,227,239 wosc/play/WakeUp.java, line(s) 48,72,108,166,181,185,204,212,219,259,301 wosc/play/activitys/ActivityInicio.java, line(s) 56 wosc/play/activitys/ActivityLogin.java, line(s) 138,142 wosc/play/activitys/ActivityPermisos.java, line(s) 399 wosc/play/activitys/fragmentos/b.java, line(s) 60 wosc/play/artefactos/ScreenCapture.java, line(s) 75,51,68,175,180,183,224,250,254 wosc/play/artefactos/Superponer.java, line(s) 41,33,57,137,150,176 wosc/play/artefactos/b.java, line(s) 45,36,52,58,103 wosc/play/artefactos/d.java, line(s) 43,74,83,206,219,236 wosc/play/artefactos/e.java, line(s) 161,170,193,202,47,209 wosc/play/artefactos/g.java, line(s) 25,29,32,57,90,94 wosc/play/artefactos/h.java, line(s) 88,43 wosc/play/detectores/DetectaGpsOnOff.java, line(s) 15 wosc/play/detectores/DetectaLlamadas.java, line(s) 59,62,71,75,84 wosc/play/detectores/DetectaNotificaciones.java, line(s) 31,67,72,78,86,99,124 wosc/play/detectores/DetectaNuevaFoto.java, line(s) 36 wosc/play/detectores/DetectaUnlockPhone.java, line(s) 17 wosc/play/dominio/a.java, line(s) 73 wosc/play/dominio/c.java, line(s) 46 wosc/play/dominio/d.java, line(s) 48,73,91 wosc/play/dominio/e.java, line(s) 60 wosc/play/dominio/h.java, line(s) 12 wosc/play/dominio/i.java, line(s) 14 wosc/play/dominio/j.java, line(s) 90,143,152,161,171,178 wosc/play/fcm/MyFirebaseMessagingService.java, line(s) 74,87,106,118,137,57,102,135,236,240,402,407,506 wosc/play/firebase/c.java, line(s) 45,22,59,74,90,104,119,134,190,204,219,292,307,325,343,421 wosc/play/firebase/d.java, line(s) 48,241,25,53,79,85,99,142,164,183 wosc/play/firebase/e.java, line(s) 111,123,137,183,30,59,66,80,85,96,103,105,175,177 wosc/play/servicios/AccesibilidadService.java, line(s) 36,41,59,85,134,141,146,151,98 wosc/play/servicios/GpsService.java, line(s) 42,52,61,68,74 wosc/play/servicios/NewPicture_JobService.java, line(s) 47,28,33,37,51,55,56,64,72,76,79,97 wosc/play/servicios/a.java, line(s) 31,39,42,61,66,69,84,109,112 wosc/play/webservice/a.java, line(s) 43,81,119,153,173,189,226,236,247,257,297,351,402,450,501,509,549,555 x/a.java, line(s) 42 x0/i0.java, line(s) 35,88 x0/y.java, line(s) 38,47,49 y/a.java, line(s) 41 y/b.java, line(s) 66 y/f.java, line(s) 83,92 y2/a.java, line(s) 79,83 z/c.java, line(s) 408,413 z/e.java, line(s) 84 z/f.java, line(s) 41,76 z/g.java, line(s) 56,114 z/j.java, line(s) 96,99 z/k.java, line(s) 96 z0/v.java, line(s) 105,109,113,13,118,123 z1/b.java, line(s) 63,76,52 z1/d.java, line(s) 86,99,124,172,187,282,84,98,123,167,186,277,120,136,148,194,215,256 z1/h.java, line(s) 15,12,12 z1/r.java, line(s) 41,83,149,37,81,96,144,194,222,251,284,97,195,223,252,285,49,184 z1/s.java, line(s) 25 z1/u.java, line(s) 35,49,27,41 z1/x.java, line(s) 55,50 z1/y.java, line(s) 53,36,73 z2/a.java, line(s) 116,206,153,220
信息 应用与Firebase数据库通信
该应用与位于 https://catwatchful-e03b8-2.firebaseio.com 的 Firebase 数据库进行通信
安全 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击
此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md#testing-custom-certificate-stores-and-certificate-pinning-mstg-network-4 Files: w5/v.java, line(s) 293,282,292,291,291
安全 Firebase远程配置已禁用
Firebase远程配置URL ( https://firebaseremoteconfig.googleapis.com/v1/projects/290254967732/namespaces/firebase:fetch?key=AIzaSyBUbLfoHmVON_PyJYnJQ3T3m9qZJ8bJZ4M ) 已禁用。响应内容如下所示: { "state": "NO_TEMPLATE" }