安全分析报告: Paisa v6.6.2

安全分数


安全分数 51/100

风险评级


等级

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

严重性分布 (%)


隐私风险

2

用户/设备跟踪器


调研结果

高危 1
中危 17
信息 1
安全 1
关注 1

高危 应用程序使用带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:
N/i.java, line(s) 100

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

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

中危 Broadcast Receiver (dev.hemanths.paisa.glance.PaisaHomeWidgetReceiver) 未被保护。

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

中危 Broadcast Receiver (es.antonborri.home_widget.HomeWidgetBackgroundReceiver) 未被保护。

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

中危 Service (es.antonborri.home_widget.HomeWidgetBackgroundService) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_JOB_SERVICE [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

中危 Activity设置了TaskAffinity属性

(androidx.glance.appwidget.action.InvisibleActionTrampolineActivity)
如果设置了 taskAffinity,其他应用程序可能会读取发送到属于另一个任务的 Activity 的 Intent。为了防止其他应用程序读取发送或接收的 Intent 中的敏感信息,请始终使用默认设置,将 affinity 保持为包名

中危 Service (androidx.glance.appwidget.GlanceRemoteViewsService) 受权限保护, 但是应该检查权限的保护级别。

Permission: android.permission.BIND_REMOTEVIEWS [android:exported=true]
发现一个 Service被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。

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

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

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


Files:
G0/y.java, line(s) 65
X2/e.java, line(s) 74
n2/c.java, line(s) 85
u3/l.java, line(s) 389

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

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

Files:
W3/AbstractC1631h.java, line(s) 74
W3/i.java, line(s) 97
X2/e.java, line(s) 74,127

中危 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:
n2/b.java, line(s) 55

中危 应用程序使用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:
W1/M.java, line(s) 7,8,98
W1/W.java, line(s) 4,5,160
l0/c.java, line(s) 10,11,12,13,14,137

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

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

Files:
G1/C1185d.java, line(s) 41
Q/P.java, line(s) 24
Q/h0.java, line(s) 377
W2/C1621e.java, line(s) 79
W2/w.java, line(s) 125
v2/C1572b.java, line(s) 78

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

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

Files:
T3/a.java, line(s) 3
T3/b.java, line(s) 4
u3/a.java, line(s) 4

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

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

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

从应用程序中识别出以下机密确保这些不是机密或私人信息
"com.google.firebase.crashlytics.mapping_file_id" : "648a8c15d0a549969e5d61ac3475bab0"
"google_api_key" : "AIzaSyAgUlvboZ135SrO4OxO44r9NUdze4jwnKs"
"google_crash_reporting_api_key" : "AIzaSyAgUlvboZ135SrO4OxO44r9NUdze4jwnKs"
uh1KHot4xIV4Rw6iJvUwH0N9qiusnqDiHQ33d09XwGo=
470fa2b4ae81cd56ecbcda9735803434cec591fa
Vn3kj4pUblROi2S+QfRRL9nhsaO2uoHQg6+dpEtxdTE=

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

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

Files:
A1/C0400a.java, line(s) 22,32,41
A1/a.java, line(s) 122,162
A1/d.java, line(s) 23,37,46,56
B1/AbstractC0309f.java, line(s) 70,35,53,89,101,111,117,120,122,126
B1/AbstractC0641m.java, line(s) 25,32,39,46,53,60,67,74,81
B1/E.java, line(s) 53,55,49
B1/g.java, line(s) 44,131
B1/q.java, line(s) 50
B1/u.java, line(s) 73,91,95,121,125,55
B1/z.java, line(s) 55,58,36
C2/AbstractC0674b.java, line(s) 40
D1/AbstractBinderC0310a.java, line(s) 18
D1/AbstractC0311b.java, line(s) 190,208,370,376,380,386
D1/B.java, line(s) 40,58
D1/H.java, line(s) 50,55
D1/L.java, line(s) 54
D1/u.java, line(s) 34
D1/x.java, line(s) 102
D1/y.java, line(s) 30
D1/z.java, line(s) 20
E0/n.java, line(s) 28
E2/g.java, line(s) 280
F1/b.java, line(s) 58,69
G0/o.java, line(s) 401,406,552,580,711,713
G0/r.java, line(s) 71,167
G0/u.java, line(s) 319
G0/y.java, line(s) 140,143,148
G1/e.java, line(s) 17
G1/n.java, line(s) 19,16
I0/C1223c.java, line(s) 106,127,121
I0/a.java, line(s) 71
J1/d.java, line(s) 72,95
K0/h.java, line(s) 73,59,63
L1/C1338a.java, line(s) 17
L1/p.java, line(s) 60,91,95,156,159,322,388,394,402,252
L1/t.java, line(s) 323,327,332
L1/x.java, line(s) 63
L2/f.java, line(s) 179,261,265,278
N/C1356d.java, line(s) 457,541,578,587,298,300,311,322,520
N/C1357e.java, line(s) 129,183,199,152,155,160,166
N/C1358f.java, line(s) 188,190,238,243
N/C1360h.java, line(s) 51,60
N/d.java, line(s) 63
N/i.java, line(s) 191,104
N/k.java, line(s) 26
N/l.java, line(s) 120,142,246
O0/a.java, line(s) 73
P0/AbstractC1427a.java, line(s) 64,85
P0/M.java, line(s) 31
P1/C1439k.java, line(s) 36,65,72,75,88,91,94,97,100
R/t.java, line(s) 283
R1/c.java, line(s) 52
R2/C1508g.java, line(s) 31,41,18,51,61,71
S0/a.java, line(s) 17
S0/e.java, line(s) 23,29
S1/AbstractC1520a.java, line(s) 10,17,24,9,16,23,34,35,41,42
T2/B.java, line(s) 204,228,244,250,206
T2/C0391g.java, line(s) 28
T2/D.java, line(s) 85,103,176,192,209,218,268,271,294,119,300
T2/G.java, line(s) 51,65,39,57
T2/k.java, line(s) 65,97,123,130,37
T2/x.java, line(s) 150,96,334
U/c.java, line(s) 71
V0/f.java, line(s) 50
V0/o.java, line(s) 60,63,66,69,72,75,198,201,204,207,260,263,266,269
W3/i.java, line(s) 141
X/c.java, line(s) 422
X2/c.java, line(s) 377
X2/e.java, line(s) 174,291,44,116,230,232,236,283,286,242,169
X3/C1655k.java, line(s) 84
Y0/AbstractC1657a.java, line(s) 31
Y3/C1669i.java, line(s) 19,28,44
b2/C0658d.java, line(s) 166,199
com/pairip/SignatureCheck.java, line(s) 33
com/pairip/VMRunner.java, line(s) 48,55,86,153,180,185,190
com/pairip/licensecheck3/LicenseClientV3.java, line(s) 71,84,107,124,154,208,182,173,98
d/e.java, line(s) 249,253
e3/AbstractC1130b.java, line(s) 10,14,28,32
es/antonborri/home_widget/HomeWidgetBackgroundService.java, line(s) 141
g/C1173h.java, line(s) 196
g/C1176k.java, line(s) 66,111
g/LayoutInflaterFactory2C1170e.java, line(s) 1065,1317,1323,1618,1866,1124
g/f.java, line(s) 141
l0/AbstractC1308D.java, line(s) 227
l0/AbstractC1312H.java, line(s) 457
l0/AbstractC1317e.java, line(s) 326
l0/AbstractC1319g.java, line(s) 92,129,156,194
l0/AbstractC1326n.java, line(s) 69,76,83
l0/AbstractC1332u.java, line(s) 465,549
l0/C1316d.java, line(s) 699
l0/P.java, line(s) 89,104
l0/d.java, line(s) 211
m0/a.java, line(s) 90
n2/b.java, line(s) 59,76
o2/C1416f.java, line(s) 29,36,39,48,86
o2/c.java, line(s) 95,98,120,128,129,149,151
o2/n.java, line(s) 112
u2/C1555s.java, line(s) 196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214
u2/a.java, line(s) 116,121,140,144
u3/p.java, line(s) 81,65
v2/c.java, line(s) 127,456,483,149,342,440
v2/f.java, line(s) 44

安全 此应用程序可能具有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:
u2/AbstractC1547j.java, line(s) 301,301,302

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (firebase-settings.crashlytics.com) 通信。

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

安全评分: ( Paisa 6.6.2)