安全分数
安全分数 50/100
风险评级
等级
- A
- B
- C
- F
严重性分布 (%)
隐私风险
2
用户/设备跟踪器
调研结果
高危
1
中危
19
信息
2
安全
1
关注
2
高危 基本配置不安全地配置为允许到所有域的明文流量。
Scope: *
中危 应用程序已启用明文网络流量
[android:usesCleartextTraffic=true] 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。
中危 Activity (com.learnpersecond.dailymassreading.Splash) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 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被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Broadcast Receiver (androidx.profileinstaller.ProfileInstallReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.DUMP [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Service (com.google.android.play.core.assetpacks.AssetPackExtractionService) 未被保护。
[android:exported=true] 发现 Service与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Content Provider (org.cqelv.msoyg.slfiz.hxxIH7) 未被保护。
[android:exported=true] 发现 Content Provider与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Service (org.cqelv.msoyg.slfiz.FIami0) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_TELECOM_CONNECTION_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Service (org.cqelv.msoyg.slfiz.tffZ3O) 受权限保护, 但是应该检查权限的保护级别。
Permission: android.permission.BIND_JOB_SERVICE [android:exported=true] 发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Broadcast Receiver (org.cqelv.msoyg.slfiz.QskUGS) 未被保护。
[android:exported=true] 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (com.startapp.sdk.adsbase.remoteconfig.BootCompleteListener) 未被保护。
[android:exported=true] 发现 Broadcast Receiver与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件
应用程序创建临时文件。敏感信息永远不应该被写进临时文件 Files: P1/C2589w.java, line(s) 237 h0/s.java, line(s) 59
中危 应用程序使用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: M0/C2464b.java, line(s) 4,28 T0/h.java, line(s) 5,27 com/learnpersecond/dailymassreading/MainActivity.java, line(s) 14,172 com/learnpersecond/dailymassreading/MassReading.java, line(s) 13,207 com/learnpersecond/dailymassreading/Masscalendar.java, line(s) 9,85 net/sqlcipher/database/SQLiteDatabase.java, line(s) 815,839,295 r1/A1.java, line(s) 5,6,7,8,151 r1/C2642j.java, line(s) 6,7,99 r1/E1.java, line(s) 5,69 r1/a3.java, line(s) 18,19,561
中危 应用程序使用不安全的随机数生成器
应用程序使用不安全的随机数生成器 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators Files: E/N.java, line(s) 14 K1/i.java, line(s) 12 M0/C0071p.java, line(s) 8 r1/g3.java, line(s) 43 t2/a.java, line(s) 3 t2/b.java, line(s) 4 u2/a.java, line(s) 4
中危 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: M0/C0071p.java, line(s) 35 P1/AbstractC2588v.java, line(s) 157 r1/g3.java, line(s) 413
中危 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: H1/AbstractC2290c.java, line(s) 121 K1/i.java, line(s) 57,59,62,65 Z2/C2821b.java, line(s) 69
中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage Files: S1/r.java, line(s) 36,38 W2/C2788d.java, line(s) 266
中危 应用程序包含隐私跟踪程序
此应用程序有多个2隐私跟踪程序。跟踪器可以跟踪设备或用户,是终端用户的隐私问题。
中危 此应用可能包含硬编码机密信息
从应用程序中识别出以下机密确保这些不是机密或私人信息 AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "ca-app-pub-9273311230576901~4079310801" "google_api_key" : "AIzaSyBeFyG4TN-1i23XWfl7-txjPEgeJ0-Ug1c" "google_crash_reporting_api_key" : "AIzaSyBeFyG4TN-1i23XWfl7-txjPEgeJ0-Ug1c" QWxsb3cgZGlzcGxheSBvdmVyIG90aGVyIGFwcHM/ UGVybWl0aXIgYXBhcmVjZXIgZW5jaW1hIHBhcmEgY29udGludWFy UGVybWl0aXIgYSBhcHJlc2VudGHDp8OjbyBzb2JyZSBvdXRyb3MgYXBsaWNhdGl2b3M/ Q29uY2x1aXIgYSBpbnN0YWxhw6fDo28= wr9QZXJtaXRpciBsYSBhcGFyaWNpw7NuIHNvYnJlIG90cmFzIGFwbGljYWNpb25lcz8= QXBwbGljYXRpb24gdW5hdmFpbGFibGUgaW4geW91ciByZWdpb24uIFRhcCAnT0snIHRvIHJlbW92ZSBBcHA= UGVybWl0aXIgYXBhcmVjZXIgc29icmUgb3V0cm9zIHBhcmEgY29udGludWFy QWxsb3cgZGlzcGxheSBvdmVyIG90aGVyIGFwcHMgdG8gY29udGludWU= B3EEABB8EE11C2BE770B684D95219ECB
信息 应用程序记录日志信息,不得记录敏感信息
应用程序记录日志信息,不得记录敏感信息 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs Files: A0/C0172d.java, line(s) 41 A0/f.java, line(s) 126 B/g.java, line(s) 36,41 B/h.java, line(s) 40 B/i.java, line(s) 55 B/j.java, line(s) 43 B/k.java, line(s) 56,115 C/d.java, line(s) 29,32,35,83,165,176 C/k.java, line(s) 25,60 C0/g.java, line(s) 97,453,480,446,447,452 D1/AbstractC2167e.java, line(s) 329,147,153,159,168,358 D1/AbstractC2179q.java, line(s) 89,92,96,100,104,108,117,121,124,127,173,178 D1/BinderC2161E.java, line(s) 70 D1/C2170h.java, line(s) 85 D1/G.java, line(s) 40,55 D1/HandlerC2160D.java, line(s) 112,120 D1/J.java, line(s) 40,47 D1/L.java, line(s) 31 D1/b.java, line(s) 33 D1/t.java, line(s) 20 D2/c.java, line(s) 194,257,259,373,379,385 E/AbstractActivityC2197m.java, line(s) 402 E/C.java, line(s) 100 E/H.java, line(s) 781,1516,2157,2159,2162,1276,1285,1295,1304,1325,1360,1383,1411,876,1043,1046,1622,1635,2025 E/N.java, line(s) 119,132,156 E/r.java, line(s) 50 E0/e.java, line(s) 715,722 F/p.java, line(s) 22 G/a.java, line(s) 400,408,412,420,433 G0/C2268y.java, line(s) 154,122 G0/O.java, line(s) 751 G0/Z.java, line(s) 42 G0/e0.java, line(s) 220 H/C2280i.java, line(s) 93,152,166,174 H/C2281j.java, line(s) 186 H/e.java, line(s) 30 H1/AbstractC2290c.java, line(s) 33 H1/b.java, line(s) 312 I/ViewOnKeyListenerC2312i.java, line(s) 465 I/o.java, line(s) 551 J/AbstractC2398l0.java, line(s) 20 J/C0007c.java, line(s) 85 J/C0028p.java, line(s) 31,44,92,158,204,225,249 J/C2318B.java, line(s) 50,54 J/C2343N0.java, line(s) 335,87,92,99,212,318 J/C2354T0.java, line(s) 22 J/C2356U0.java, line(s) 26,36,49,59 J/C2359W.java, line(s) 74 J/C2362X0.java, line(s) 241 J/C2406p0.java, line(s) 100,109,230 J/C2419w.java, line(s) 92 J/C2423y.java, line(s) 218 J/D1.java, line(s) 138,232 J/DialogInterfaceOnClickListenerC2346P.java, line(s) 37,102,107,127 J/H1.java, line(s) 31 J/K.java, line(s) 79 J/RunnableC2393j.java, line(s) 197,321,402,413,361,367 J/W.java, line(s) 304,225,303 J/Z.java, line(s) 20,31 J/k0.java, line(s) 105 J/p1.java, line(s) 100,277,436,197,307,321,399,414 J/q1.java, line(s) 34 J/r0.java, line(s) 31 J/s0.java, line(s) 32,44,51,60 J/w0.java, line(s) 80,99,71 J0/b.java, line(s) 99,147,259 J0/c.java, line(s) 45,61,71,81 K1/d.java, line(s) 19 K1/e.java, line(s) 77,85,585,614,117,128,144,181,227,580,162,82,165,195,198,224,301,359,395,410,418,428,523 K1/g.java, line(s) 263,283 L0/j.java, line(s) 58 M/d.java, line(s) 46 M0/C0067n.java, line(s) 311,315,320,421 M0/C2465c.java, line(s) 28 M0/C2466d.java, line(s) 172 M1/C2475f.java, line(s) 43 M1/e.java, line(s) 416,459,461 M1/g.java, line(s) 143 N/u.java, line(s) 19,18 O/d.java, line(s) 34 P0/I.java, line(s) 17,19,25,31 P1/AbstractC2588v.java, line(s) 612,621,696,706,724,733 P1/AbstractC2592z.java, line(s) 1110,1202,1124,1134,1199,1217 P1/C2561T.java, line(s) 17,19 P1/C2571e.java, line(s) 68 P1/C2575i.java, line(s) 12 P1/C2589w.java, line(s) 138,154,162,315 Q/e.java, line(s) 294 S0/f.java, line(s) 48,57,62,67,74,85,95,106,113,145,150,159,165,171,181,188 S0/n.java, line(s) 98,100,108,110,118,120,128,130 S1/q.java, line(s) 492,501,543,552 S2/C2736h.java, line(s) 77 T1/C2744a.java, line(s) 115,120 T1/P.java, line(s) 458,297,311,322,349,457,451 U/AbstractC2759c.java, line(s) 73,117,126 U/f.java, line(s) 51 U/g.java, line(s) 38 U/j.java, line(s) 369,438 U/n.java, line(s) 683,1371,1905,1911,1912,1913,1920,1960,1966,1967,1968,1975,2036,348,806,1494,1509,1850 W1/b.java, line(s) 35 W2/C2788d.java, line(s) 432,454 X1/b.java, line(s) 53,44,52,45 Y2/C2813a.java, line(s) 155,363 Z2/AbstractC0158u.java, line(s) 1200 Z2/C2821b.java, line(s) 62,73 a/q.java, line(s) 69,93,97 a1/e.java, line(s) 75,137,144 a1/f.java, line(s) 98,36,112,185,193,210,230 a1/i.java, line(s) 34 a1/j.java, line(s) 383,385,259,309,318,380,81 a1/l.java, line(s) 36 a1/o.java, line(s) 47 a1/s.java, line(s) 126,130,52,72 a1/v.java, line(s) 50,53,67 a2/c.java, line(s) 276,281,90,96,252,262 c1/d.java, line(s) 134,170 c1/e.java, line(s) 279,505 c1/p.java, line(s) 296,345 c2/j.java, line(s) 23,31,32 c2/n.java, line(s) 49,48 com/learnpersecond/dailymassreading/PermissionActivity.java, line(s) 285 g1/C2270a.java, line(s) 71,81 h0/i.java, line(s) 85,184 h0/n.java, line(s) 32,45 h0/o.java, line(s) 65 h0/s.java, line(s) 146,149,154 h2/C2296e.java, line(s) 22 h2/C2298g.java, line(s) 433,451,83,94,120,160,192,229,257,289,350 i1/b.java, line(s) 1316,1401,1364 j1/d.java, line(s) 111,145 n2/b.java, line(s) 40 net/sqlcipher/database/SQLiteDatabase.java, line(s) 216 net/sqlcipher/database/SQLiteDebug.java, line(s) 7,8,9,10,11,12 net/sqlcipher/database/SQLiteQueryBuilder.java, line(s) 201 p/d.java, line(s) 400 q0/e.java, line(s) 354 q0/p.java, line(s) 504 r/e.java, line(s) 881,921,978,1013,1048 r1/C1.java, line(s) 272 r1/a3.java, line(s) 464,475,463 y/C2803f.java, line(s) 52 z/a.java, line(s) 94,102,108,118,95,103,109,119 z/h.java, line(s) 82
信息 此应用程序使用SQL Cipher。SQLCipher为sqlite数据库文件提供256位AES加密
此应用程序使用SQL Cipher。SQLCipher为sqlite数据库文件提供256位AES加密 Files: net/sqlcipher/database/SupportHelper.java, line(s) 12,1 org/cqelv/msoyg/slfiz/hxxIH7.java, line(s) 99,16,17
安全 此应用程序可能具有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: X1/b.java, line(s) 34 Y1/f.java, line(s) 34
关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (app-measurement.com) 通信。
{'ip': '180.163.151.161', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}
关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (pagead2.googlesyndication.com) 通信。
{'ip': '180.163.151.161', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}