安全分析报告: JVID v1.0.1

安全分数


安全分数 52/100

风险评级


等级

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

严重性分布 (%)


隐私风险

0

用户/设备跟踪器


调研结果

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

高危 应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。

应用程序使用带PKCS5/PKCS7填充的加密模式CBC。此配置容易受到填充oracle攻击。
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
r4/a.java, line(s) 74

中危 应用程序数据存在被泄露的风险

未设置[android:allowBackup]标志
这个标志 [android:allowBackup]应该设置为false。默认情况下它被设置为true,允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityDzdp) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityDy) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityIns) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityQq) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityFacebook) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityZh) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityQqmail) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityXhs) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityWx) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityWb) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityTuite) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityTt) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityMm) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityKs) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.NewActivityJsq) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Activity-Alias (com.avasdasdaa.flutter_sf57.DefaultAlias) 未被保护。

存在一个intent-filter。
发现 Activity-Alias与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Activity-Alias是显式导出的。

中危 Service (com.google.android.gms.metadata.ModuleDependencies) 未被保护。

存在一个intent-filter。
发现 Service与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Service是显式导出的。

中危 Broadcast Receiver (androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryChargingProxy) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (androidx.work.impl.background.systemalarm.ConstraintProxy$BatteryNotLowProxy) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (androidx.work.impl.background.systemalarm.ConstraintProxy$StorageNotLowProxy) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (androidx.work.impl.background.systemalarm.ConstraintProxy$NetworkStateProxy) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (androidx.work.impl.background.systemalarm.RescheduleReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 Broadcast Receiver (androidx.work.impl.background.systemalarm.ConstraintProxyUpdateReceiver) 未被保护。

存在一个intent-filter。
发现 Broadcast Receiver与设备上的其他应用程序共享,因此让它可以被设备上的任何其他应用程序访问。intent-filter的存在表明这个Broadcast Receiver是显式导出的。

中危 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/0x05d-Testing-Data-Storage.md#external-storage

Files:
f3/e.java, line(s) 294,452
l2/a.java, line(s) 706
n2/a.java, line(s) 47
vn/hunghd/flutterdownloader/DownloadWorker.java, line(s) 1157

中危 应用程序使用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:
h7/i.java, line(s) 9,10,11,12,13,212
q0/a.java, line(s) 4,5,6,7,100
s8/j.java, line(s) 5,117
s8/k.java, line(s) 4,5,45

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

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

Files:
a8/a.java, line(s) 3
a8/b.java, line(s) 3
b8/a.java, line(s) 3
l3/q1.java, line(s) 6
m4/p0.java, line(s) 4
p4/b.java, line(s) 13

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

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

Files:
e3/f.java, line(s) 43
o1/g.java, line(s) 79
q1/d.java, line(s) 37
q1/p.java, line(s) 95
q1/x.java, line(s) 84

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

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


Files:
com/journeyapps/barcodescanner/e.java, line(s) 184

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

从应用程序中识别出以下机密确保这些不是机密或私人信息
"library_zxingandroidembedded_authorWebsite" : "https://journeyapps.com/"
"library_zxingandroidembedded_author" : "JourneyApps"
edef8ba9-79d6-4ace-a3c8-27dcd51d21ed
e2719d58-a985-b3c9-781a-b030af78d30e
9a04f079-9840-4286-ab92-e65be0885f95
16a09e667f3bcc908b2fb1366ea957d3e3adec17512775099da2f590b0667322a

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

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

Files:
b2/a.java, line(s) 86,91,96,105,87,92,97,106
b2/d.java, line(s) 21,22
b2/j.java, line(s) 39,42
b3/b.java, line(s) 284
c0/c.java, line(s) 418
c7/i.java, line(s) 91
com/journeyapps/barcodescanner/a.java, line(s) 622,663,118,299,368,390
com/journeyapps/barcodescanner/e.java, line(s) 104,205,190
d2/d.java, line(s) 44,57,62,67,43,50,56,61,66,51
d7/a.java, line(s) 83,106,124
d7/c.java, line(s) 24,25,29,34,40,61,63,69,79,103,109,123,129,132,134,140,151,154,156,165,168,179,185
d7/g.java, line(s) 45,61,80,97,141,49,68,85,101
d7/h.java, line(s) 63,82,308,109,152,182,148,154,192,200
d7/l.java, line(s) 27
d7/n.java, line(s) 27
d7/q.java, line(s) 38,39
de/mintware/barcode_scan/BarcodeScannerActivity.java, line(s) 70
e7/a.java, line(s) 111,144,192
f2/j.java, line(s) 114,16,242,274
f3/a.java, line(s) 532,537,575,579,584,589
f3/d.java, line(s) 509,514,519
f7/b.java, line(s) 176
g0/e.java, line(s) 367,369,375,378,126
g0/f.java, line(s) 196
g0/g.java, line(s) 185,80,100,112,113,128,132
g7/a.java, line(s) 94,122,142,149,165
h5/r.java, line(s) 37,32,42,27
h6/e.java, line(s) 34,72
h6/g.java, line(s) 39,32
h7/c0.java, line(s) 84,102,164,180,233,246,252,269,274,341,350,410,88,345
h7/e0.java, line(s) 24
h7/i.java, line(s) 157,218,226,270,343,420,460,530,661,241,443
i2/b.java, line(s) 20
i6/a.java, line(s) 13
j3/a.java, line(s) 23,33,43,53
k2/a.java, line(s) 72,73
k7/a.java, line(s) 49,73
l1/a.java, line(s) 16
l1/t.java, line(s) 57,96,100,169,172,283,296,302,310,409
l1/v.java, line(s) 311,315,320
l1/x.java, line(s) 57
l5/d.java, line(s) 52
m1/b.java, line(s) 382
m8/c.java, line(s) 223,237,252,257
n/b.java, line(s) 354,372,404,481,566,570,659,674,688,710,760,789,824,836,851,917,931,936,952,958,341,398,940,542,860
n/c0.java, line(s) 45
n/f.java, line(s) 52
n/j.java, line(s) 22
n/l.java, line(s) 60
n/u.java, line(s) 136,193,204,214,250,314,317,327,343,357,393,398,406,459,533,169,275,362,411,442,449,500,530
n/w.java, line(s) 45
n/x.java, line(s) 45
n/z.java, line(s) 45
n1/d.java, line(s) 76,103,75,102
n1/e.java, line(s) 539,560,578,538,559,577
n2/a.java, line(s) 248
n8/a.java, line(s) 163
o/q.java, line(s) 20
p/f.java, line(s) 49,58,69
p0/c.java, line(s) 41,29,33
p1/c.java, line(s) 111,110
p1/e.java, line(s) 57,116,56,115
q1/h.java, line(s) 637,348,362,636,454
q1/i.java, line(s) 51,52
q1/k.java, line(s) 14,214
q1/q.java, line(s) 165
q1/z.java, line(s) 76,113,66,75,112,67
r1/i.java, line(s) 110,150,111,151
r1/j.java, line(s) 113,153,163,175,80,112,122,142,152,162,174,195,202,86,123,196,203,143
r2/b.java, line(s) 80
s0/b.java, line(s) 78
s1/e.java, line(s) 44,54,68,74,105,45,69,57,75,106
s1/i.java, line(s) 122,106
s2/a.java, line(s) 55
s8/g.java, line(s) 280
t0/m0.java, line(s) 30,63
t1/a.java, line(s) 169,166
u1/c.java, line(s) 16,15
u1/d.java, line(s) 44,43
u1/g.java, line(s) 104,103
u1/s.java, line(s) 67,70
u1/t.java, line(s) 64,69,82,98,65,70,85,101
u1/u.java, line(s) 37,36
u5/d.java, line(s) 140,173
v5/b.java, line(s) 41
vn/hunghd/flutterdownloader/DownloadWorker.java, line(s) 1187,1193,136,143
w1/a.java, line(s) 73,74
x0/j.java, line(s) 24,26,35,37,46,48,57,59,68,70
x1/c.java, line(s) 61,60,77,78
x1/d.java, line(s) 14,15
x1/h.java, line(s) 174,181,273,283,295,308,326,342,352,361,374,379,173,180,272,282,294,307,325,335,340,344,350,354,373,378
x1/j.java, line(s) 108,126,325,107,125,202,265,294,324,203,266,398
x1/k.java, line(s) 44,50,45,51
x1/n.java, line(s) 85,118,124,130,136,142,149,155,163,119,125,131,137,143,150,156,164,86
x1/z.java, line(s) 206,213,259,318,205,212,256,317
x2/a.java, line(s) 12
z/d.java, line(s) 137

安全 此应用程序使用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:
vn/hunghd/flutterdownloader/DownloadWorker.java, line(s) 164,285

安全 此应用程序没有隐私跟踪程序

此应用程序不包括任何用户或设备跟踪器。在静态分析期间没有找到任何跟踪器。

安全评分: ( JVID 1.0.1)