安全分数
安全分数 50/100
风险评级
等级
- A
- B
- C
- F
严重性分布 (%)
隐私风险
4
用户/设备跟踪器
调研结果
高危
1
中危
24
信息
1
安全
1
关注
1
高危 已启用远程WebView调试
已启用远程WebView调试 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04c-Tampering-and-Reverse-Engineering.md#debugging-and-tracing Files: com/onesignal/q4.java, line(s) 523,12
中危 应用程序数据存在被泄露的风险
未设置[android:allowBackup]标志 这个标志 [android:allowBackup]应该设置为false。默认情况下它被设置为true,允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。
中危 Broadcast Receiver (za.co.kwl.apps.loadshedding.receiver.BootCompleteReceiver) 未被保护。
[android:exported=true] 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (io.flutter.plugins.firebase.messaging.FlutterFirebaseMessagingReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: com.google.android.c2dm.permission.SEND [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Broadcast Receiver (com.onesignal.FCMBroadcastReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: com.google.android.c2dm.permission.SEND [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Activity (com.onesignal.NotificationOpenedActivityHMS) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (com.onesignal.NotificationDismissReceiver) 未被保护。
[android:exported=true] 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (com.onesignal.BootUpReceiver) 未被保护。
[android:exported=true] 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (com.onesignal.UpgradeReceiver) 未被保护。
[android:exported=true] 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Activity (com.onesignal.NotificationOpenedReceiver) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Activity (com.onesignal.NotificationOpenedReceiverAndroid22AndOlder) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: com.google.android.c2dm.permission.SEND [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Service (androidx.work.impl.background.systemjob.SystemJobService) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_JOB_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Broadcast Receiver (androidx.work.impl.diagnostics.DiagnosticsReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.DUMP [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 高优先级的Intent (999)
[android:priority] 通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。
中危 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库
应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04h-Testing-Code-Quality.md#injection-flaws-mstg-arch-2-and-mstg-platform-2 Files: c7/i.java, line(s) 9,10,11,12,13,211 com/onesignal/l3.java, line(s) 6,7,8,9,10,402 p0/a.java, line(s) 4,5,6,7,101 y6/k.java, line(s) 3,4,13 z1/m0.java, line(s) 6,7,89 z1/t0.java, line(s) 4,5,135
中危 应用程序使用不安全的随机数生成器
应用程序使用不安全的随机数生成器 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators Files: com/onesignal/OSUtils.java, line(s) 26 e6/d.java, line(s) 7 l2/t.java, line(s) 9 y8/a.java, line(s) 3 y8/b.java, line(s) 3 z8/a.java, line(s) 3
中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件
应用程序创建临时文件。敏感信息永远不应该被写进临时文件 Files: k0/b.java, line(s) 236 q5/c.java, line(s) 80
中危 不安全的Web视图实现。可能存在WebView任意代码执行漏洞
不安全的Web视图实现。可能存在WebView任意代码执行漏洞 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#testing-javascript-execution-in-webviews-mstg-platform-5 Files: com/onesignal/q4.java, line(s) 439,438
中危 SHA-1是已知存在哈希冲突的弱哈希
SHA-1是已知存在哈希冲突的弱哈希 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4 Files: q5/b.java, line(s) 55
中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10 Files: com/dexterous/flutterlocalnotifications/FlutterLocalNotificationsPlugin.java, line(s) 115 com/dexterous/flutterlocalnotifications/models/NotificationDetails.java, line(s) 52,66 com/onesignal/h1.java, line(s) 22 com/onesignal/h4.java, line(s) 325 com/onesignal/q1.java, line(s) 762 x4/e.java, line(s) 79
中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage Files: i8/h.java, line(s) 108,130 i8/i.java, line(s) 98 j8/b.java, line(s) 72
中危 MD5是已知存在哈希冲突的弱哈希
MD5是已知存在哈希冲突的弱哈希 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4 Files: t3/z0.java, line(s) 46
中危 应用程序包含隐私跟踪程序
此应用程序有多个4隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。
中危 此应用可能包含硬编码机密信息
从应用程序中识别出以下机密确保这些不是机密或私人信息 AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "ca-app-pub-8275837247859219~1611881177" 凭证信息=> "com.google.android.geo.API_KEY" : "AIzaSyBW-R4HYSHdFkZje3ENtkORV1lFxbja3pM" "com.google.firebase.crashlytics.mapping_file_id" : "a43f9a70cfc845be8e781330e85537f3" "google_api_key" : "AIzaSyBW-R4HYSHdFkZje3ENtkORV1lFxbja3pM" "google_crash_reporting_api_key" : "AIzaSyBW-R4HYSHdFkZje3ENtkORV1lFxbja3pM" 5eb5a37e-b458-11e3-ac11-000c2940e62c 470fa2b4ae81cd56ecbcda9735803434cec591fa b2f7f966-d8cc-11e4-bed1-df8f05be55ba B3EEABB8EE11C2BE770B684D95219ECB VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy c682b8144a8dd52bc1ad63
信息 应用程序记录日志信息,不得记录敏感信息
应用程序记录日志信息,不得记录敏感信息 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs Files: a4/e0.java, line(s) 25,58,34 a7/c.java, line(s) 68 b3/b.java, line(s) 63,76,52 b3/d.java, line(s) 86,99,124,172,187,282,84,98,123,167,186,277,120,136,148,194,215,256 b3/h.java, line(s) 15,12,12 b3/r.java, line(s) 40,81,141,36,79,94,136,185,209,234,265,95,186,210,235,266,48,176 b3/s.java, line(s) 25 b3/u.java, line(s) 35,49,27,41 b3/x.java, line(s) 63,58 b3/y.java, line(s) 53,36,73 b4/d.java, line(s) 80 c3/e.java, line(s) 112,158,165 c3/e0.java, line(s) 33,36,57 c3/i.java, line(s) 107,52,90,150,156,165,168 c3/j.java, line(s) 45,124 c3/j0.java, line(s) 58,60,54 c3/m.java, line(s) 26 c3/v.java, line(s) 49 c3/z.java, line(s) 70,88,92,120,127,53 c7/c0.java, line(s) 83,101,164,179,230,243,249,266,271,338,347,407,87,342 c7/e0.java, line(s) 25 c7/i.java, line(s) 156,217,225,269,342,419,459,529,660,240,442 c8/a.java, line(s) 15 com/baseflow/geolocator/GeolocatorLocationService.java, line(s) 116,130,133,145,150,180,190,197,203,208,219 com/baseflow/geolocator/b.java, line(s) 49 com/baseflow/geolocator/j.java, line(s) 275,263 com/baseflow/geolocator/m.java, line(s) 134,36,39,69,80,84,123 com/onesignal/JobIntentService.java, line(s) 203,208,246 com/onesignal/e3.java, line(s) 1992,1998,2014,1994,1990,1996 com/onesignal/f.java, line(s) 13 com/onesignal/flutter/f.java, line(s) 231 d3/i.java, line(s) 20 e/e.java, line(s) 1535,961,967,2019,2253,1594 e/g.java, line(s) 160 e/h.java, line(s) 49,59,74,84,101,113,125,134,147,161,173 e/j.java, line(s) 65,111 e0/a.java, line(s) 415 e3/l0.java, line(s) 49 f/a.java, line(s) 103 f3/a.java, line(s) 18 f3/a1.java, line(s) 28 f3/b1.java, line(s) 36 f3/c.java, line(s) 203,221,397,401,405,411 f3/c0.java, line(s) 98,101,105,109,113,117,126,130,133,136,168,176 f3/d1.java, line(s) 45 f3/f0.java, line(s) 26 f3/j0.java, line(s) 116,131,142,151 f3/j1.java, line(s) 53,58 f3/m1.java, line(s) 50 f3/w0.java, line(s) 35 f3/z0.java, line(s) 101 f4/a.java, line(s) 74,88,99,103 f8/a.java, line(s) 42 f8/d.java, line(s) 21 g0/a.java, line(s) 31 g1/b.java, line(s) 25 g1/c.java, line(s) 67,56 g4/a.java, line(s) 123,185,188,256,203,270 g8/d.java, line(s) 200 h2/a.java, line(s) 130,169,213 h2/d.java, line(s) 23,41,50,60 h7/b.java, line(s) 10,14,28,32 i/g.java, line(s) 153,186,263 i0/a.java, line(s) 166,171,178,182,198,208 i3/a.java, line(s) 57,68 i8/i.java, line(s) 142 j/c.java, line(s) 276 j3/h.java, line(s) 16 j3/s.java, line(s) 17,16 j3/t.java, line(s) 173,194,64,71,146,155,208 k0/a.java, line(s) 99,214,263,63,70,72,78,200,207,218,247,36,66,74,81,94,105,117,134,180 k0/b.java, line(s) 57,68,70,106,148,170,217,219,237,258,284,294,297,301,158,174,189,213,221,230,292 k1/j.java, line(s) 57,118 k4/e.java, line(s) 172,242,246,258 k8/l.java, line(s) 79 l1/b.java, line(s) 107,117,137 l8/a.java, line(s) 63,52 l8/b.java, line(s) 35,38 l8/c.java, line(s) 15,33,48 m3/i.java, line(s) 25 n1/a.java, line(s) 17 n1/n.java, line(s) 49,69,73,255,263,269,277 n1/o.java, line(s) 266,270,275 n1/p.java, line(s) 55 n2/n1.java, line(s) 11,17,19,28 n3/b.java, line(s) 36,100 o0/c.java, line(s) 41,29,33 p3/l.java, line(s) 52,58,70,103,110 p4/g.java, line(s) 34,41,44,53,87 p4/o.java, line(s) 128 q5/b.java, line(s) 59,76 r0/a.java, line(s) 81 r5/c.java, line(s) 95,98,120,128,129,150,156 s/d.java, line(s) 206 s1/k.java, line(s) 36,65,72,75,92,97,102,107,112 s4/f.java, line(s) 31,41,18,51,61,71 t3/b0.java, line(s) 21 t3/d1.java, line(s) 40 t3/g2.java, line(s) 299 t3/h0.java, line(s) 33 t3/l.java, line(s) 53,58,71,81 t3/n.java, line(s) 46,49,57,60,73,76 t3/o0.java, line(s) 52,57,63,193 t3/s1.java, line(s) 57,74,82,91 t3/u1.java, line(s) 21,23 v/f.java, line(s) 428 v0/j.java, line(s) 24,26,35,37,46,48,57,59,68,70 v1/a.java, line(s) 15,22,29,14,21,28,42,43,49,50 v4/m.java, line(s) 190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208 w5/e.java, line(s) 69 x/a.java, line(s) 96,99 z3/e.java, line(s) 39,64,74 z5/c.java, line(s) 24,28,32,36 za/co/kwl/apps/loadshedding/MainActivity.java, line(s) 33 za/co/kwl/apps/loadshedding/receiver/NotificationServiceExtension.java, line(s) 39
安全 此应用程序可能具有Root检测功能
此应用程序可能具有Root检测功能 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md#testing-root-detection-mstg-resilience-1 Files: v4/h.java, line(s) 81,81,82
关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (firebase-settings.crashlytics.com) 通信。
{'ip': '180.163.150.34', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}