安全分数
安全分数 30/100
风险评级
等级
- A
- B
- C
- F
严重性分布 (%)
隐私风险
2
用户/设备跟踪器
调研结果
高危
21
中危
19
信息
3
安全
3
关注
0
高危 Activity (com.app.activity.FirstActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 App 链接 assetlinks.json 文件未找到
[android:name=com.app.activity.MainActivity][android:host=https://mobile-app-start-app.com] App Link 资产验证 URL (https://mobile-app-start-app.com/.well-known/assetlinks.json) 未找到或配置不正确。(状态代码:404)。应用程序链接允许用户从 Web URL/电子邮件重定向到移动应用程序。如果此文件丢失或为 App Link 主机/域配置不正确,则恶意应用程序可以劫持此类 URL。这可能会导致网络钓鱼攻击,泄露 URI 中的敏感数据,例如 PII、OAuth 令牌、魔术链接/密码重置令牌等。您必须通过托管 assetlinks.json 文件并通过 Activity intent-filter 中的 [android:autoVerify=“true”] 启用验证来验证 App Link 网域。
高危 Activity (com.app.activity.MainActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.TermsActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.UseSafeWarningActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.CheckingWarningActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.LoginActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.BugAllActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.ActivityRestriction) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.ActivityMessage) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.ScreenshotActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.ScreenActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.picture.ActivityPicture) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.picture.ActivityPictureCamera2) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.picture.ActivityPicturePasswordFailed) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.picture.ActivityPicturePasswordFailedCamera2) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.action.AndroidTextToSpeechActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.liveViewving.LiveRTCActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.liveViewving.LiveRTCServiceActivity) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 Activity (com.app.activity.ActivitySettingsWifiSettings) 的启动模式不是standard模式
Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。
高危 该文件是World Readable。任何应用程序都可以读取文件
该文件是World Readable。任何应用程序都可以读取文件 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#testing-local-storage-for-sensitive-data-mstg-storage-1-and-mstg-storage-2 Files: com/app/service/RecordCallService.java, line(s) 214,192,242,286,162,238 h1/h.java, line(s) 210,218 h1/i.java, line(s) 118
中危 Activity (com.app.activity.MainActivity) 未被保护。
存在一个intent-filter。 发现 Activity与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity是显式导出的。
中危 Activity-Alias (com.app.activity.ActivitySettingsWifiSettings) 未被保护。
存在一个intent-filter。 发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。
中危 Broadcast Receiver (com.app.received.BootReceived) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Broadcast Receiver (com.app.received.CallReceived) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Broadcast Receiver (com.app.received.PolicyActivate$PolicyAdmin) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_DEVICE_ADMIN [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Broadcast Receiver (com.app.received.SMSReceived) 未被保护。
存在一个intent-filter。 发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。
中危 Service (com.app.service.MyFirebaseMTFMessagingService) 未被保护。
存在一个intent-filter。 发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。
中危 Service (com.app.service.NotificationListener) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_NOTIFICATION_LISTENER_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Service (com.app.service.AccessService) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_ACCESSIBILITY_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: com.google.android.c2dm.permission.SEND [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 高优先级的Intent (999) - {3} 个命中
[android:priority] 通过设置一个比另一个Intent更高的优先级,应用程序有效地覆盖了其他请求。
中危 应用程序使用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: a2/b0.java, line(s) 4,5,82 a2/j.java, line(s) 7,32 a2/u.java, line(s) 6,7,104,120,137,191,239,311 e1/a.java, line(s) 4,5,14,19,20 e1/a0.java, line(s) 4,5,14,19,20 e1/b.java, line(s) 4,5,14,19,20 e1/c0.java, line(s) 4,5,14,19,20 e1/e.java, line(s) 4,5,14,19,20 e1/e0.java, line(s) 4,5,14,19,20 e1/g.java, line(s) 4,5,14,19,20 e1/g0.java, line(s) 4,5,14,19,20 e1/i.java, line(s) 4,5,14,19,20 e1/i0.java, line(s) 4,5,14,19,20 e1/j.java, line(s) 4,5,14,19,20 e1/k.java, line(s) 4,5,14,19,20 e1/k0.java, line(s) 4,5,14,19,20 e1/m.java, line(s) 4,5,14,19,20 e1/m0.java, line(s) 4,5,14,19,20 e1/n0.java, line(s) 4,5,14,19,20 e1/o0.java, line(s) 4,5,14,19,20 e1/r0.java, line(s) 4,5,14,19,20 e1/t0.java, line(s) 4,5,14,19,20 e1/v0.java, line(s) 4,5,14,19,20 e1/w.java, line(s) 4,5,14,19,20 e1/y.java, line(s) 4,5,14,19,20 g3/l.java, line(s) 6,7,631,671 g3/o7.java, line(s) 7,8,450 i1/a.java, line(s) 5,6,7,35,39,48,52 z1/n.java, line(s) 5,28
中危 应用程序使用不安全的随机数生成器
应用程序使用不安全的随机数生成器 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators Files: g3/u7.java, line(s) 30 n4/a.java, line(s) 23 p6/l.java, line(s) 15 q7/c.java, line(s) 16 q7/f.java, line(s) 4
中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件
应用程序创建临时文件。敏感信息永远不应该被写进临时文件 Files: s5/c.java, line(s) 49
中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage Files: com/app/activity/ConfigPhoneActivity.java, line(s) 855 com/app/service/FileExplorerRemote.java, line(s) 188,190 com/app/service/ServiceScreenshotRoot.java, line(s) 25 h1/e.java, line(s) 60,62
中危 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: q7/c.java, line(s) 184 s5/b.java, line(s) 49 v5/t.java, line(s) 75 x4/f.java, line(s) 32
中危 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: com/app/service/FileExplorerRemote.java, line(s) 260 g3/u7.java, line(s) 196 l1/b.java, line(s) 31 p1/d.java, line(s) 337
中危 应用程序包含隐私跟踪程序
此应用程序有多个2隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。
中危 此应用可能包含硬编码机密信息
从应用程序中识别出以下机密确保这些不是机密或私人信息 "google_api_key" : "AIzaSyDbUBsZ11AUjeuOW9e8g1azhCV3wmDKhQ0" "password_sms" : "sifresms" "password_sms" : "MobileTrackerFreeSMS" "com.google.firebase.crashlytics.mapping_file_id" : "4d9dfcc2619948f5a44f40cabed2e75b" "firebase_database_url" : "https://myappmobile-537f7.firebaseio.com" "google_app_id" : "1:38496474107:android:2920adfbaa3767553ab15e" "google_crash_reporting_api_key" : "AIzaSyDbUBsZ11AUjeuOW9e8g1azhCV3wmDKhQ0" bb392ec0-8d4d-11e0-a896-0002a5d5c51b c06c8400-8e06-11e0-9cb6-0002a5d5c51b 258EAFA5-E914-47DA-95CA-C5AB0DC85B11 470fa2b4ae81cd56ecbcda9735803434cec591fa
信息 应用程序记录日志信息,不得记录敏感信息
应用程序记录日志信息,不得记录敏感信息 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs Files: a1/c.java, line(s) 192,205 a2/u.java, line(s) 396 b5/a.java, line(s) 62 c5/f.java, line(s) 59,70 d/t.java, line(s) 42,59,78 d5/c.java, line(s) 59,99 e1/p.java, line(s) 24 e5/c.java, line(s) 55,76 e5/d.java, line(s) 51,56,60,67 f1/b.java, line(s) 690 g3/j3.java, line(s) 208 g5/a.java, line(s) 164,169 g5/b.java, line(s) 43 h2/d.java, line(s) 88,103 h2/f.java, line(s) 41,58,79 h2/h.java, line(s) 12,15 h2/m.java, line(s) 55 h2/q.java, line(s) 33,63,80,97,122,140,146 h2/t.java, line(s) 27,36 h2/v.java, line(s) 48 i0/u.java, line(s) 553 i2/i.java, line(s) 181 l0/h.java, line(s) 29 r1/b.java, line(s) 57,86,118,121 r1/d.java, line(s) 145,237 r4/a.java, line(s) 22,28,32 r4/o.java, line(s) 63 t1/q.java, line(s) 24 t4/b.java, line(s) 16 u4/b.java, line(s) 74 v4/c.java, line(s) 28,31,34 v5/d0.java, line(s) 34,44 v5/f0.java, line(s) 36,37,46,47,80 v5/i.java, line(s) 60 v5/j0.java, line(s) 66,66 v5/k0.java, line(s) 48,49,79,101,181,182 v5/m.java, line(s) 31,85,108 v5/m0.java, line(s) 27 v5/n0.java, line(s) 57,68,90 v5/u.java, line(s) 28,43,52 v5/v.java, line(s) 57 w4/c.java, line(s) 8 x1/a.java, line(s) 8 x4/a0.java, line(s) 23 x4/f0.java, line(s) 60 x4/h0.java, line(s) 28,33,37 x4/k0.java, line(s) 45,56,60,67,89 x4/l.java, line(s) 21 x4/n.java, line(s) 51 x4/o0.java, line(s) 52,238,240,243,248 x4/p.java, line(s) 26,37 x4/s.java, line(s) 38 x4/v.java, line(s) 92,109,214,238,259,306,310,313,317,318,329 x4/z.java, line(s) 86,108,111,117 y4/e.java, line(s) 83,93 z1/a.java, line(s) 59 z1/e.java, line(s) 97 z1/k.java, line(s) 29,33 z1/q.java, line(s) 23
信息 此应用侦听剪贴板更改。一些恶意软件也会监听剪贴板更改
此应用侦听剪贴板更改。一些恶意软件也会监听剪贴板更改 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04b-Mobile-App-Security-Testing.md#clipboard Files: com/app/service/ClipboardService.java, line(s) 20,5
信息 应用与Firebase数据库通信
该应用与位于 https://myappmobile-537f7.firebaseio.com 的 Firebase 数据库进行通信
安全 此应用程序可能具有Root检测功能
此应用程序可能具有Root检测功能 https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05j-Testing-Resiliency-Against-Reverse-Engineering.md#testing-root-detection-mstg-resilience-1 Files: x4/g.java, line(s) 167,167,168
安全 此应用程序使用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: g7/w.java, line(s) 143,142,151,141,141
安全 Firebase远程配置已禁用
Firebase远程配置URL ( https://firebaseremoteconfig.googleapis.com/v1/projects/38496474107/namespaces/firebase:fetch?key=AIzaSyDbUBsZ11AUjeuOW9e8g1azhCV3wmDKhQ0 ) 已禁用。响应内容如下所示: { "state": "NO_TEMPLATE" }