安全分析报告: Elegant v1.6.0

安全分数


安全分数 55/100

风险评级


等级

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

严重性分布 (%)


隐私风险

1

用户/设备跟踪器


调研结果

高危 1
中危 13
信息 1
安全 2
关注 0

高危 SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击

SSL的不安全实现。信任所有证书或接受自签名证书是一个关键的安全漏洞。此应用程序易受MITM攻击
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md#android-network-apis

Files:
u6/d.java, line(s) 17,18,3

中危 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与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。

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

中危 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:
c7/b.java, line(s) 59
o6/k.java, line(s) 92
t7/f.java, line(s) 448
u3/a.java, line(s) 23

中危 应用程序使用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:
i4/i6.java, line(s) 20,21,1968
i4/k.java, line(s) 6,7,577
i4/l.java, line(s) 4,5,33
i4/q2.java, line(s) 5,6,7,8,137
i4/v6.java, line(s) 4,45
t1/a.java, line(s) 4,5,6,7,82

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

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

Files:
a4/b.java, line(s) 3
com/unfunnyguy/elegant/ui/fav/FavFragViewModel.java, line(s) 22
i4/p6.java, line(s) 31
k6/b.java, line(s) 3
o6/g.java, line(s) 3
u6/j.java, line(s) 6
u8/a.java, line(s) 3
u8/b.java, line(s) 3
v8/a.java, line(s) 3
y5/a.java, line(s) 17

中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据

应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage

Files:
com/unfunnyguy/elegant/util/FileutilsKt.java, line(s) 36

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

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


Files:
c7/c.java, line(s) 49

中危 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:
i4/p6.java, line(s) 170

中危 应用程序包含隐私跟踪程序

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

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

从应用程序中识别出以下机密确保这些不是机密或私人信息
"firebase_database_url" : "https://elegant-94eaf-default-rtdb.firebaseio.com"
"google_api_key" : "AIzaSyAvxuSoKp-SA3II9ZlQR2YqXarRbnrFpNg"
"google_crash_reporting_api_key" : "AIzaSyAvxuSoKp-SA3II9ZlQR2YqXarRbnrFpNg"
051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00
5d4df5b434256579876fd99aa9cd4e3c
6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296
4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5
c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66
39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643
115792089210356248762697446949407573530086143415290314195533631308867097853951
3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f
115792089210356248762697446949407573529996955224135760342422259061068512044369
11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650
6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449
1a0f15d2492fe70f1ece5d61835128a5
aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7
6864797660130609714981900799081393217269435300143305409394463459185543183397656052122559640661454554977296311391480858037121987999716643812574028291115057151
5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b
39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319
b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef

信息 应用程序记录日志信息,不得记录敏感信息

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

Files:
a0/d.java, line(s) 47,52
a7/b.java, line(s) 152,346
b1/a.java, line(s) 55,67
c2/l.java, line(s) 168,180
c2/n.java, line(s) 21,23,32,34,43,45,54,56
c7/b.java, line(s) 52,63
com/unfunnyguy/elegant/helper/Login.java, line(s) 64,74,75
com/unfunnyguy/elegant/paging/CollectionPhotosViewPaging.java, line(s) 101
com/unfunnyguy/elegant/paging/CollectionViewPaging.java, line(s) 97
com/unfunnyguy/elegant/paging/CuratedPhotosViewPaging.java, line(s) 94
com/unfunnyguy/elegant/paging/NormalPhotosViewPaging.java, line(s) 98
com/unfunnyguy/elegant/ui/fav/FavFragment.java, line(s) 309,326
com/unfunnyguy/elegant/ui/wallpaper/WallpaperViewFragment.java, line(s) 414
com/unfunnyguy/elegant/util/CurrentUserKt.java, line(s) 16
com/unfunnyguy/elegant/util/FileutilsKt$getFileSizeOfUrl$2.java, line(s) 71
com/unfunnyguy/elegant/util/extension/LogExtKt.java, line(s) 10,16,23,29,36,42,49,55,62,68,75,81
d4/a.java, line(s) 50
d4/bf.java, line(s) 17
d4/cf.java, line(s) 29
d4/g6.java, line(s) 86,88,191,202,217
d4/ge.java, line(s) 124
d4/i6.java, line(s) 30,44
d4/j6.java, line(s) 30
d4/lf.java, line(s) 51,66
d4/oe.java, line(s) 34,135,111,27,84,93,106,133,89,95
d4/pe.java, line(s) 47,56,72
d4/qe.java, line(s) 47
d4/s.java, line(s) 7
d4/we.java, line(s) 21,25
d4/ye.java, line(s) 23
d6/r.java, line(s) 41
d7/c.java, line(s) 261,268,85,90,234,245
e/d.java, line(s) 39
e/e.java, line(s) 593,610,1102,1437,1439,617,2175,2315,2328,2649,2652,1318
e/f.java, line(s) 58
e/m.java, line(s) 152,170
e4/e0.java, line(s) 22,31,21,30
e4/g0.java, line(s) 21
e4/h1.java, line(s) 48,57,89
e4/o3.java, line(s) 106
e4/r3.java, line(s) 88,55
e4/t3.java, line(s) 18
e4/v0.java, line(s) 64
e4/w3.java, line(s) 16
e4/x3.java, line(s) 19
e4/y3.java, line(s) 16
e5/d.java, line(s) 297
e6/e0.java, line(s) 80
e6/m.java, line(s) 64
e6/q.java, line(s) 45,91
e6/z.java, line(s) 37,66,79,87,102
f4/i.java, line(s) 95,111,117,97,103,112,118
f6/h.java, line(s) 64
g1/a.java, line(s) 124
g1/c.java, line(s) 80
g5/a.java, line(s) 399
h/f.java, line(s) 145,179,191,201,361
h1/a.java, line(s) 138,143,150,154,170,180
h6/h.java, line(s) 20,21,22
i1/b.java, line(s) 236,264
i1/l.java, line(s) 67
i1/m.java, line(s) 144,179,660,1093
i3/a.java, line(s) 111,185
i3/b.java, line(s) 39,55,66
i4/f4.java, line(s) 56
i4/i6.java, line(s) 447,462,446,825,2610,5775,5946
i4/p6.java, line(s) 769
i4/w2.java, line(s) 206
i4/w6.java, line(s) 43
j0/a.java, line(s) 188
j0/b.java, line(s) 45
j0/b0.java, line(s) 835,827,834,413
j0/o.java, line(s) 31,44,90,151,190,208,231
j0/u0.java, line(s) 188,206,50,177
j2/g.java, line(s) 332,342
j5/d.java, line(s) 118,154
k1/b.java, line(s) 86,152
k1/c.java, line(s) 99,130,171,179
m0/b.java, line(s) 38
m1/n0.java, line(s) 83
m3/e.java, line(s) 48,109,116
m3/f.java, line(s) 91,104,155,163,180,196
m3/i.java, line(s) 35
m3/j.java, line(s) 202,204,110,138,147,200,36,51
m3/l.java, line(s) 31
m3/q.java, line(s) 49
m3/u.java, line(s) 87,91
m3/z.java, line(s) 36,39,60
m5/f.java, line(s) 407
n/b.java, line(s) 101,123
n0/l.java, line(s) 18,17
n4/g.java, line(s) 37
o/c.java, line(s) 406
o0/b.java, line(s) 39
o1/l.java, line(s) 102,347,483
o1/o.java, line(s) 451,202
o3/d.java, line(s) 250,461
o3/g0.java, line(s) 84,88
o3/k0.java, line(s) 24,39
o3/v.java, line(s) 286,359
o3/x.java, line(s) 42
o6/k.java, line(s) 33
p3/a1.java, line(s) 42,47
p3/b.java, line(s) 153,184,242,246,252
p3/c1.java, line(s) 43
p3/e.java, line(s) 70
p3/j0.java, line(s) 30
p3/q0.java, line(s) 122,129
p3/u0.java, line(s) 45
p3/v.java, line(s) 82,85,89,93,97,101,113,117,120,123,161,166
p3/y.java, line(s) 16
p6/a.java, line(s) 232
q/e.java, line(s) 737
q0/c.java, line(s) 338
q1/b.java, line(s) 29
r9/h.java, line(s) 79,79
s/d.java, line(s) 672,111,587
s1/b.java, line(s) 23,27
s3/a.java, line(s) 43,48,52,35,64
s6/b.java, line(s) 36,49,40,43
s9/d.java, line(s) 39
t/a.java, line(s) 159,162,163,168,176
t/b.java, line(s) 221,116
t1/b.java, line(s) 60
t3/a.java, line(s) 66,77
t5/f.java, line(s) 35,36
t7/f.java, line(s) 208,378,432,444,457,464,469,479
u3/g.java, line(s) 35,34,28
u5/f.java, line(s) 23,31,32
u5/i.java, line(s) 84,111,83,110
v1/a.java, line(s) 29
v3/a.java, line(s) 138
x/h.java, line(s) 42
x/n.java, line(s) 131,162,170,204,291,303,325,333,125,161,167,203,290,300,324,332,146,175,198,280
x/u.java, line(s) 40
x3/b.java, line(s) 36,100
x5/e.java, line(s) 78,445,470,143,152,176,213,252,278
z/d.java, line(s) 145,169,176
z/e.java, line(s) 58
z0/a.java, line(s) 296,934,1003,1009,1076,1155,1168,1199,1211,1402,1618,1669,1689,1702,1734,1751,1811,1849,1859,1888,1909,1913,1935,1948,1976,1989,1997,2003,2052,2064,2088,2119,2210,2226,2239,2275,2365,595,603,637,649,661,673,685,697,709,721,733,740,751,763,73,746,959,1062,1580,2221,2295,2309
z1/b.java, line(s) 219,796

安全 此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击

此应用程序使用SSL Pinning 来检测或防止安全通信通道中的MITM攻击
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05g-Testing-Network-Communication.md#testing-custom-certificate-stores-and-certificate-pinning-mstg-network-4

Files:
r9/c.java, line(s) 77,76,75
r9/d.java, line(s) 107,97,121,105,105
r9/g.java, line(s) 81,80,79,79
r9/h.java, line(s) 213,201,211,211

安全 此应用程序可能具有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:
e/m.java, line(s) 130
t5/f.java, line(s) 48

安全评分: ( Elegant 1.6.0)