移动应用安全检测报告: Time4Sleep v2.2.10

安全基线评分


安全基线评分 50/100

综合风险等级


风险等级评定

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

漏洞与安全项分布(%)


隐私风险

3

检测到的第三方跟踪器数量


检测结果分布

高危安全漏洞 1
中危安全漏洞 20
安全提示信息 1
已通过安全项 1
重点安全关注 1

高危安全漏洞 应用程序存在Janus漏洞

应用程序使用了v1签名方案进行签名,如果只使用v1签名方案,那么它就容易受到安卓5.0-8.0上的Janus漏洞的攻击。在安卓5.0-7.0上运行的使用了v1签名方案的应用程序,以及同时使用了v2/v3签名方案的应用程序也同样存在漏洞。

中危安全漏洞 应用程序数据可以被备份

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

中危安全漏洞 Activity (com.circleappsstudio.time4sleep.application.MainActivity) 未被保护。

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

中危安全漏洞 Activity (com.circleappsstudio.time4sleep.ui.auth.LoginActivity) 未被保护。

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

中危安全漏洞 Activity (com.facebook.CustomTabActivity) 未被保护。

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

中危安全漏洞 Service (com.google.android.gms.auth.api.signin.RevocationBoundService) 受权限保护, 但是应该检查权限的保护级别。

Permission: com.google.android.gms.auth.api.signin.permission.REVOCATION_NOTIFICATION [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被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危安全漏洞 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被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

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

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

Files:
af/a.java, line(s) 3
af/b.java, line(s) 3
bf/a.java, line(s) 3
com/firebase/ui/auth/ui/email/e.java, line(s) 15
fe/e0.java, line(s) 21
fe/g0.java, line(s) 4
fe/t2.java, line(s) 17
ge/i.java, line(s) 48
j9/a.java, line(s) 3
le/a.java, line(s) 19
t9/z6.java, line(s) 32

中危安全漏洞 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:
o9/f0.java, line(s) 38
t9/z6.java, line(s) 222

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

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

Files:
ge/h.java, line(s) 176
p6/f.java, line(s) 210
sc/f.java, line(s) 67
v3/g.java, line(s) 54
wc/k.java, line(s) 115
x3/f.java, line(s) 37
x3/q.java, line(s) 88
x3/x.java, line(s) 80
xc/e.java, line(s) 40
zc/y.java, line(s) 50

中危安全漏洞 应用程序使用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:
c8/w.java, line(s) 3,313
i2/a.java, line(s) 5,6,7,8,50
q7/s.java, line(s) 5,6,111
q7/z.java, line(s) 4,5,82
t9/g7.java, line(s) 4,53
t9/h2.java, line(s) 5,6,7,8,155
t9/i.java, line(s) 6,7,975
t9/j.java, line(s) 4,5,40
t9/s6.java, line(s) 21,22,373
vc/g0.java, line(s) 4,5,45
vc/o0.java, line(s) 5,6,7,8,9,10,129
vc/u0.java, line(s) 6,7,27

中危安全漏洞 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:
ac/e.java, line(s) 253
b9/a.java, line(s) 21
gd/b.java, line(s) 70
kd/o.java, line(s) 64

中危安全漏洞 IP地址泄露

IP地址泄露


Files:
v4/t.java, line(s) 24

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

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


Files:
gd/d.java, line(s) 37

中危安全漏洞 应用程序包含隐私跟踪程序

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

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

从应用程序中识别出以下机密确保这些不是机密或私人信息
AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "ca-app-pub-2174482267964625~5547208750"
"firebase_database_url" : "https://time4sleep-46147.firebaseio.com"
"firebase_web_host" : "CHANGE-ME"
"google_api_key" : "AIzaSyCaL5QICyVJDC5HXDR5YwEyfUNj4YrQRJM"
"google_crash_reporting_api_key" : "AIzaSyCaL5QICyVJDC5HXDR5YwEyfUNj4YrQRJM"
328F98095D45949F69D9546379AAE9F1
c103703e120ae8cc73c9248622f3cd1e
470fa2b4ae81cd56ecbcda9735803434cec591fa
B3EEABB8EE11C2BE770B684D95219ECB
Zdovm0iHeXsakSNiX3QNFV2qfgB64YvmtZbYEn0=
49f946663a8deb7054212b8adda248c6

安全提示信息 应用程序记录日志信息,不得记录敏感信息

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

Files:
a0/p.java, line(s) 27
a1/h.java, line(s) 51,56
a1/i.java, line(s) 48
a1/j.java, line(s) 56
a1/k.java, line(s) 43
a1/m.java, line(s) 54,263
a1/t.java, line(s) 86
a4/a.java, line(s) 48,47
a7/k.java, line(s) 48
a7/m.java, line(s) 26
a8/l.java, line(s) 61
a9/a.java, line(s) 75,86
aa/a.java, line(s) 458
ac/c0.java, line(s) 63,48,53,43,49,54,59
ac/d0.java, line(s) 98,45,94
ac/e.java, line(s) 69,100,206,257,203
ac/g0.java, line(s) 39,50,60,33,44,56
ac/i0.java, line(s) 47,60,85,94,100,104,109,115,143,48,61,86,101,105,144,69
ac/l.java, line(s) 20,25,19
ac/l0.java, line(s) 190,378,379,428,481
ac/m.java, line(s) 21
ac/n.java, line(s) 37,45,46,53
ac/p.java, line(s) 20
ac/q.java, line(s) 45,26,44,27
ac/t.java, line(s) 45,46,37
ac/v.java, line(s) 94,225,247,301,557,525,93,121,224,246,300,324,367,373,515,520,546,556,122,325,368,374,516,521,547,297,307,421,424,432,477,512
ac/y.java, line(s) 89,48,99,80,88,81,44,94
ac/z.java, line(s) 25,26
ad/i.java, line(s) 474,312,476
b2/a.java, line(s) 198
b4/c.java, line(s) 87,116,86,111
b4/d.java, line(s) 44,43
b4/f.java, line(s) 101,100
b4/t.java, line(s) 91,92
b9/c.java, line(s) 14
b9/j.java, line(s) 31,30,24
b9/k.java, line(s) 68,80
ba/g.java, line(s) 35
bc/b.java, line(s) 52,51
bc/d.java, line(s) 73,114,125
c8/i1.java, line(s) 52,54,60,66,78,80,86,92,104,106,112,168,22,24,30,36,124,126,132,138
c8/l.java, line(s) 33
c8/m.java, line(s) 58
c8/q1.java, line(s) 50,66,74,88
com/firebase/ui/auth/ui/credentials/CredentialSaveActivity.java, line(s) 78,115,54
com/firebase/ui/auth/ui/email/c.java, line(s) 21
d2/g.java, line(s) 73,80,228,312
d2/h.java, line(s) 90
d3/p.java, line(s) 35
d4/h.java, line(s) 74,75
d4/i.java, line(s) 46,47
d6/b.java, line(s) 30,204
d7/a.java, line(s) 28
e1/d.java, line(s) 20,24,28
e1/k.java, line(s) 33
e4/c.java, line(s) 59,58,68,98,99
e4/c0.java, line(s) 74,83,97,75,84,98,99,100,103
e4/f0.java, line(s) 115,114
e4/j.java, line(s) 21,27,22,28
e4/k.java, line(s) 198,208,220,236,265,304,308,328,337,345,400,197,207,219,235,264,302,307,312,322,326,332,344,377,384
e4/p.java, line(s) 113,331,523,112,330,403,464,485,504,522,547,593,661,681,696,707,439,548,594
e4/q.java, line(s) 31,40,36,45
e4/u.java, line(s) 79,85,91,102,108,115,121,144,153,80,86,92,103,109,116,122,154,145
ec/a.java, line(s) 49,50
ed/e.java, line(s) 282,492
ee/a.java, line(s) 126
f/e.java, line(s) 662,679,1189,1191,1194,2828,2713,2722,2732,2741,2756,2765,715,1962,1971,2022,2168,2181,2477,2480,1056
f/f.java, line(s) 63
f/l.java, line(s) 31,45,56
f3/b.java, line(s) 81,80
f9/b.java, line(s) 71,92
fb/h.java, line(s) 29,28
fb/j.java, line(s) 51,52
g6/b.java, line(s) 133
gb/g.java, line(s) 22,30,31
gb/n.java, line(s) 47,46
gd/b.java, line(s) 63,74
h2/a.java, line(s) 220,230,60,142,152,175,192,213,223
h2/c.java, line(s) 23,27
h6/d.java, line(s) 105
h7/b.java, line(s) 248,332,335,364,365,249
h9/f.java, line(s) 31,40
h9/h.java, line(s) 36
hc/b.java, line(s) 51,88,67,68
hc/c.java, line(s) 62,120,110,114,61,95,103,117,98,104
hd/c.java, line(s) 261,264,87,97
i1/a.java, line(s) 305
i1/b.java, line(s) 42
i1/g0.java, line(s) 48,59
i1/o.java, line(s) 31,44,91,156,201,220,244
i1/r0.java, line(s) 272,290,81,93,100,109,48,263
i1/v.java, line(s) 870,352
i2/b.java, line(s) 70,247
i4/a.java, line(s) 71,158,165,170,72,159,166,171
i4/i.java, line(s) 44,45
j/f.java, line(s) 145,190,204,212,399
k2/b.java, line(s) 37
k4/d.java, line(s) 35,34,62,88,63,89
k4/k.java, line(s) 59,60
k4/l.java, line(s) 237,238,249
k4/o.java, line(s) 52,59,53,60
k7/k.java, line(s) 45,56,76,91,96,101,106,111
kd/a.java, line(s) 1021,1250,1257,89,104,128,175,220,239,252,265,279,294,316,337,607,1016
kd/c.java, line(s) 111,110,123,78,96,104,106
kd/c0.java, line(s) 197,223,185,70,73
kd/d0.java, line(s) 48,66,117,211,42,42,63,63,112,173,186,201,217,226
kd/f.java, line(s) 66,65
kd/h0.java, line(s) 27,26
kd/j0.java, line(s) 52,56,64,73,101,133,163,109,114,141,51,55,63,72,97,128,158
kd/k.java, line(s) 29,93,142,151,126,131,154,164,167,28,92,136
kd/l.java, line(s) 33,47,32,46,44
kd/o.java, line(s) 77,74
kd/p.java, line(s) 40
kd/q.java, line(s) 68,66,45,55,74
kd/r.java, line(s) 83,71,102
kd/w.java, line(s) 35,45,34,44
kd/x.java, line(s) 35
kd/y.java, line(s) 43,65,119,115,192,38,60,118,139,143
kd/z.java, line(s) 20
l3/d.java, line(s) 174
m1/b.java, line(s) 42
m2/b.java, line(s) 287,299
m2/f.java, line(s) 892
m4/b.java, line(s) 57,74,94,118
me/zhanghai/android/materialprogressbar/BaseProgressLayerDrawable.java, line(s) 65
me/zhanghai/android/materialprogressbar/MaterialProgressBar.java, line(s) 245,249,367
n/f.java, line(s) 162,172
n4/h.java, line(s) 540,23,441,455
n7/a.java, line(s) 10,17,9,16
o1/d.java, line(s) 363
o4/h.java, line(s) 46,104,105,47
o9/f.java, line(s) 59,70,84,98,130
o9/g1.java, line(s) 17,19
o9/h.java, line(s) 66
o9/j1.java, line(s) 85
o9/w.java, line(s) 94,98,103,173
ob/d.java, line(s) 80,374,398,137,148,171,208
p1/a.java, line(s) 305,917,1025,1031,1093,1165,1178,1195,1202,1425,1656,1721,1735,1783,1850,1891,1894,1944,1973,1982,2005,2023,2034,2070,2085,2103,2116,2125,2177,2194,2221,2275,2306,2322,2357,2441,603,611,660,672,684,696,708,720,732,744,751,762,774,73,757,942,1079,1635,2297,2385,2399
p2/h.java, line(s) 21,23,32,34,43,45,54,56
p3/c.java, line(s) 18
p6/b.java, line(s) 241,158,252,255
p7/d.java, line(s) 99,98
p9/r.java, line(s) 16
q0/d.java, line(s) 441
q7/s.java, line(s) 126,125
q8/b.java, line(s) 41,57,83
q8/c.java, line(s) 145,162,140,161,84,113
q8/d.java, line(s) 24,21,21
q8/h.java, line(s) 50,45
q8/i.java, line(s) 43,84,39,77,102,152,168,178,186,103,153,169,179,187,51
q8/l.java, line(s) 71,66
q8/n.java, line(s) 55
q8/q.java, line(s) 24
q8/s.java, line(s) 33,49,25,41
q8/t.java, line(s) 29,48
q8/x.java, line(s) 87,148,54,81,124,120,154
r/f0.java, line(s) 70
r0/e.java, line(s) 826,870,897
r1/b.java, line(s) 29
r1/c.java, line(s) 59,81
r3/d0.java, line(s) 111,122
r3/x.java, line(s) 64
r6/j.java, line(s) 71
r8/d0.java, line(s) 36,39,60
r8/e.java, line(s) 73,158,165
r8/f.java, line(s) 98,35,112,182,190,217,237
r8/j.java, line(s) 43
r8/k.java, line(s) 216,218,109,141,150,213,42
r8/m.java, line(s) 29
r8/u.java, line(s) 42
r8/y.java, line(s) 100,104,39
s4/a.java, line(s) 49,50
s9/a.java, line(s) 31,42
sa/e.java, line(s) 253
sb/a0.java, line(s) 11
sb/b0.java, line(s) 41
sb/v0.java, line(s) 60,61
t0/b.java, line(s) 192,92,145
t3/a.java, line(s) 304
t8/b0.java, line(s) 46
t8/e.java, line(s) 266,472
t8/m0.java, line(s) 68,90
t8/s0.java, line(s) 24,33
t8/z.java, line(s) 279,380
t9/h7.java, line(s) 73
t9/i2.java, line(s) 55
t9/n2.java, line(s) 206
t9/s6.java, line(s) 7698,7715,909,2697,2737,2772,2825,4602,6674,7697
u1/c.java, line(s) 80,79,105
u3/d.java, line(s) 204,231,203,230
u3/e.java, line(s) 115,145,162,114,144,161
u6/f.java, line(s) 131,132,150
ua/a.java, line(s) 531
ub/k.java, line(s) 29
ub/k0.java, line(s) 87
ub/l.java, line(s) 42
ub/m.java, line(s) 33
ub/p.java, line(s) 84
ub/q.java, line(s) 87
ub/v.java, line(s) 49,97,102,106,110
v4/g.java, line(s) 25
v8/a0.java, line(s) 17
v8/b.java, line(s) 180,212,330,334,340,349
v8/b1.java, line(s) 46
v8/f.java, line(s) 75
v8/h1.java, line(s) 40,45
v8/k1.java, line(s) 23
v8/o0.java, line(s) 54
v8/x.java, line(s) 85,88,92,96,100,104,113,117,120,123,176,181
v8/x0.java, line(s) 122,138
v9/a.java, line(s) 34,70,96,90,46,63
vb/j.java, line(s) 64
w1/a.java, line(s) 121
w1/c.java, line(s) 77
w3/a.java, line(s) 100,143,181,99,142,180
wa/d.java, line(s) 122,156
wb/a.java, line(s) 17,18
wb/c.java, line(s) 10
x0/d0.java, line(s) 35
x0/e.java, line(s) 33
x0/f.java, line(s) 74
x0/l.java, line(s) 46
x1/a.java, line(s) 141,146,153,157,172,180
x3/a0.java, line(s) 47,48
x3/j.java, line(s) 379,295,378,395,521
x3/k.java, line(s) 142,143
x3/m.java, line(s) 19,167
x3/r.java, line(s) 148
x4/a.java, line(s) 169,143,142,168
x8/b.java, line(s) 827,845,867,664
x9/a.java, line(s) 74,80
xa/a.java, line(s) 36
y3/h.java, line(s) 157,188,158,189
y3/i.java, line(s) 55,67,162,210,54,66,98,101,108,158,174,180,197,209,212,99,109,136,178,198
y7/a.java, line(s) 250,283,354,123,133
y7/b.java, line(s) 40,54,64,74
y8/a.java, line(s) 50,55,59,36,77
y9/a.java, line(s) 81,162,237,88,103,199,208
yb/c.java, line(s) 47
yb/d.java, line(s) 30,29,47
z0/f.java, line(s) 78,102,106
z0/k.java, line(s) 24
z3/d.java, line(s) 42,74,93,102,43,94,75,103
z3/i.java, line(s) 109,89
z6/d.java, line(s) 88
z9/x.java, line(s) 34,35
za/f.java, line(s) 476
zc/k.java, line(s) 146,73,129,141,136

已通过安全项 此应用程序可能具有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:
ac/e.java, line(s) 244,244,245
fb/j.java, line(s) 42
x8/b.java, line(s) 812

重点安全关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (app-measurement.com) 通信。

{'ip': '180.163.150.33', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}

综合安全基线评分: ( Time4Sleep 2.2.10)