安全分析报告: 泡芙短视频 v4.7.9

安全分数


安全分数 51/100

风险评级


等级

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

严重性分布 (%)


隐私风险

1

用户/设备跟踪器


调研结果

高危 2
中危 19
信息 1
安全 2
关注 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:
u4/a.java, line(s) 85

高危 如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击

如果一个应用程序使用WebView.loadDataWithBaseURL方法来加载一个网页到WebView,那么这个应用程序可能会遭受跨站脚本攻击
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#static-analysis-7

Files:
com/pichillilorenzo/flutter_inappwebview/InAppWebViewMethodHandler.java, line(s) 1028,5
com/pichillilorenzo/flutter_inappwebview/in_app_browser/InAppBrowserActivity.java, line(s) 385,17,18
com/pichillilorenzo/flutter_inappwebview/in_app_webview/FlutterWebView.java, line(s) 152,10,11

中危 应用程序已启用明文网络流量

[android:usesCleartextTraffic=true]
应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。

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

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

中危 Activity-Alias (com.yinse.flutter_app.app_launcher) 未被保护。

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

中危 Activity-Alias (com.yinse.flutter_app.shortcut_calc) 未被保护。

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

中危 Activity-Alias (com.yinse.flutter_app.shortcut_music) 未被保护。

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

中危 Activity-Alias (com.yinse.flutter_app.shortcut_weather) 未被保护。

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

中危 Activity-Alias (com.yinse.flutter_app.shortcut_msg) 未被保护。

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

中危 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:
h8/a.java, line(s) 23
io/sentry/android/core/r0.java, line(s) 277,253
q8/f.java, line(s) 91
q9/a.java, line(s) 53,54
qb/g.java, line(s) 57,59
r8/c.java, line(s) 57
s7/h.java, line(s) 33,42,51
s7/j.java, line(s) 95,108
s7/l.java, line(s) 245,72,73,247
s9/i.java, line(s) 129,151
s9/j.java, line(s) 98
u6/a.java, line(s) 33,42
z2/e.java, line(s) 237,395

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

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

Files:
com/pichillilorenzo/flutter_inappwebview/credential_database/URLCredentialContract.java, line(s) 8,10
com/pichillilorenzo/flutter_inappwebview/types/URLCredential.java, line(s) 82
g8/a.java, line(s) 95
j1/h.java, line(s) 79
l1/d.java, line(s) 37
l1/p.java, line(s) 99
l1/x.java, line(s) 84
y2/f.java, line(s) 43

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

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


Files:
com/journeyapps/barcodescanner/e.java, line(s) 185
u7/a.java, line(s) 361
wb/h.java, line(s) 152

中危 应用程序使用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:
a8/i.java, line(s) 9,10,11,12,13,354
com/pichillilorenzo/flutter_inappwebview/credential_database/CredentialDatabaseHelper.java, line(s) 4,5,18
e1/n.java, line(s) 6,7,8,9,10,250

中危 此应用程序可能会请求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:
io/sentry/android/core/internal/util/n.java, line(s) 31,31,31,31,31

中危 IP地址泄露

IP地址泄露


Files:
w7/d.java, line(s) 14

中危 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:
io/sentry/util/s.java, line(s) 23
w8/a.java, line(s) 69

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

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

Files:
io/sentry/metrics/h.java, line(s) 6
ka/a.java, line(s) 3
ka/b.java, line(s) 3
la/a.java, line(s) 3
o3/q1.java, line(s) 6
p4/p0.java, line(s) 4
q9/a.java, line(s) 12
s4/b.java, line(s) 12

中危 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:
com/example/pf/MainActivity.java, line(s) 106
j8/a.java, line(s) 10

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

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

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

从应用程序中识别出以下机密确保这些不是机密或私人信息
"library_zxingandroidembedded_author" : "JourneyApps"
"library_zxingandroidembedded_authorWebsite" : "https://journeyapps.com/"
VGhpcyBpcyB0aGUgcHJlZml4IGZvciBCaWdJbnRlZ2Vy
16a09e667f3bcc908b2fb1366ea957d3e3adec17512775099da2f590b0667322a
edef8ba9-79d6-4ace-a3c8-27dcd51d21ed

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

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

Files:
a2/k.java, line(s) 113,15,244,276
a8/c0.java, line(s) 83,101,166,181,232,238,249,269,274,341,350,410,87,345
a8/e0.java, line(s) 27
a8/i.java, line(s) 160,210,283,360,400,468,511,383
b2/i.java, line(s) 57,98,99,58
com/frezrik/jiagu/StubApp.java, line(s) 25,60
com/journeyapps/barcodescanner/a.java, line(s) 605,646,119,278,341,369
com/journeyapps/barcodescanner/e.java, line(s) 109,206,191
com/pichillilorenzo/flutter_inappwebview/JavaScriptBridgeInterface.java, line(s) 78
com/pichillilorenzo/flutter_inappwebview/ServiceWorkerManager.java, line(s) 69
com/pichillilorenzo/flutter_inappwebview/Util.java, line(s) 281,236,254,263
com/pichillilorenzo/flutter_inappwebview/chrome_custom_tabs/CustomTabsHelper.java, line(s) 77
com/pichillilorenzo/flutter_inappwebview/content_blocker/ContentBlockerHandler.java, line(s) 201,282
com/pichillilorenzo/flutter_inappwebview/in_app_browser/InAppBrowserActivity.java, line(s) 288,381
com/pichillilorenzo/flutter_inappwebview/in_app_browser/InAppBrowserManager.java, line(s) 155
com/pichillilorenzo/flutter_inappwebview/in_app_webview/DisplayListenerProxy.java, line(s) 40
com/pichillilorenzo/flutter_inappwebview/in_app_webview/FlutterWebView.java, line(s) 141
com/pichillilorenzo/flutter_inappwebview/in_app_webview/InAppWebView.java, line(s) 1041
com/pichillilorenzo/flutter_inappwebview/in_app_webview/InAppWebViewChromeClient.java, line(s) 209,577,620,674,729,789,850,917,979
com/pichillilorenzo/flutter_inappwebview/in_app_webview/InAppWebViewClient.java, line(s) 112,203,248,338,392,467,503,561
com/pichillilorenzo/flutter_inappwebview/in_app_webview/InAppWebViewRenderProcessClient.java, line(s) 37,69
com/pichillilorenzo/flutter_inappwebview/in_app_webview/InputAwareWebView.java, line(s) 42,50,58,83,130
com/yalantis/ucrop/UCropActivity.java, line(s) 630
com/yalantis/ucrop/view/b.java, line(s) 194,87,294
d0/c.java, line(s) 143
d2/b.java, line(s) 20
d3/a.java, line(s) 23,33,43,53
e1/i.java, line(s) 26,37,48,55,62
f2/a.java, line(s) 72,73
g1/a.java, line(s) 17
g1/n.java, line(s) 50,70,74,183,238,244,249
g1/o.java, line(s) 276,280,285
g1/p.java, line(s) 58
g2/b.java, line(s) 29
h1/a.java, line(s) 385
i1/d.java, line(s) 76,103,75,102
i1/e.java, line(s) 531,552,570,530,551,569
i2/b.java, line(s) 81,50
i2/d.java, line(s) 157,177,212
ib/c.java, line(s) 53,56,79
io/sentry/android/core/u.java, line(s) 86,84,76,80,88
io/sentry/b6.java, line(s) 15,28,37
io/sentry/flutter/SentryFlutterPlugin.java, line(s) 273,297
j0/c.java, line(s) 122
j0/d.java, line(s) 198
j0/e.java, line(s) 183,78,98,110,111,126,130
j8/b.java, line(s) 11,17
j8/c.java, line(s) 64,65
j8/e.java, line(s) 15
k1/c.java, line(s) 111,110
k1/e.java, line(s) 64,63
k5/r.java, line(s) 33,43,28,38
l1/h.java, line(s) 614,296,310,613,408
l1/i.java, line(s) 51,52
l1/k.java, line(s) 14,202
l1/q.java, line(s) 107
l1/z.java, line(s) 76,118,66,75,117,67
l2/b.java, line(s) 76
l7/c.java, line(s) 90
m1/i.java, line(s) 110,149,111,150
m1/j.java, line(s) 113,154,165,177,79,112,122,143,153,164,176,203,210,85,123,204,211,144
m2/a.java, line(s) 61
n1/e.java, line(s) 48,54,83,93,107,49,84,55,96,108
n1/i.java, line(s) 128,112
o1/a.java, line(s) 169,166
p1/c.java, line(s) 16,15
p1/d.java, line(s) 44,43
p1/g.java, line(s) 104,103
p1/t.java, line(s) 67,70
p1/u.java, line(s) 62,69,80,98,63,70,83,101
p1/v.java, line(s) 37,36
p8/a.java, line(s) 185,147
p8/b.java, line(s) 49,100,105,111,148,151
q8/a.java, line(s) 34,122,157,159,183
q8/d.java, line(s) 42
q8/f.java, line(s) 99
q8/g.java, line(s) 122,135,142,149,158,169,176,183,194,244,254,266,280,296,300,305,314,317,322,333,341,350,357,243,253,265,279,295,299,304,313,316,321,332,340,349,356
qb/f.java, line(s) 292,291
qb/g.java, line(s) 22
r1/a.java, line(s) 75,76
r2/a.java, line(s) 12
r6/i.java, line(s) 90
r7/a.java, line(s) 83,88,331,359,407,425,251,370
r8/c.java, line(s) 55,66,77,87,247
rb/h.java, line(s) 111,150,112,151
s0/a.java, line(s) 81
s1/a0.java, line(s) 134,139,151,160,167,135,140,152,161,168,169,170,174
s1/c0.java, line(s) 203,210,255,314,202,209,252,313
s1/d.java, line(s) 14,15
s1/k.java, line(s) 174,181,279,289,301,313,331,335,340,349,352,357,368,376,173,180,278,288,300,312,330,334,339,348,351,356,367,375
s1/m.java, line(s) 107,218,106,207,217,284,310,208,285,380
s1/n.java, line(s) 44,50,45,51
s1/r.java, line(s) 89,122,128,134,140,146,153,159,167,123,129,135,141,147,154,160,168,90
s6/a.java, line(s) 83,106,124
s6/c.java, line(s) 26,27,31,36,42,61,64,69,78,97,103,106,129,139,141,145,150,162,164,168,181,184,193,196,201
s6/g.java, line(s) 45,61,80,97,134,49,68,85,101
s6/h.java, line(s) 78,73,312,108,151,181,147,153,191,199
s6/l.java, line(s) 27
s6/n.java, line(s) 27
s6/q.java, line(s) 38,39
s7/l.java, line(s) 211
s9/j.java, line(s) 142
sb/d.java, line(s) 19
t0/e0.java, line(s) 41
t9/l.java, line(s) 76
u/d.java, line(s) 211
u7/a.java, line(s) 356,373
u9/j.java, line(s) 14,30,44
ub/c.java, line(s) 13,8
v2/b.java, line(s) 274
w1/a.java, line(s) 84,89,94,103,85,90,95,104
w1/d.java, line(s) 21,22
w1/j.java, line(s) 41,44
w5/e.java, line(s) 35,73
w5/g.java, line(s) 39,33
w6/h.java, line(s) 167,482,490,499,511,519,528
wb/h.java, line(s) 95,108,111,255,325,333
x5/a.java, line(s) 13
y1/d.java, line(s) 54,67,72,77,53,60,66,71,76,61
y8/b.java, line(s) 10,14,28,32,36
z/a.java, line(s) 96,99
z2/a.java, line(s) 630,635,673,677,682,687
z2/d.java, line(s) 583,588,593
za/b.java, line(s) 387

安全 此应用程序使用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:
hb/c.java, line(s) 107,105,104
hb/d.java, line(s) 128,117,134,125,125,127
hb/g.java, line(s) 107,105,104,104
hb/h.java, line(s) 240,227,237,237

安全 此应用程序可能具有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:
io/sentry/android/core/internal/util/n.java, line(s) 73,31,31,31,31,31,31

关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (dnlq8umwclsn5.cloudfront.net) 通信。

{'ip': '61.160.148.90', 'country_short': 'CN', 'country_long': '中国', 'region': '江苏', 'city': '台州', 'latitude': '32.492168', 'longitude': '119.910767'}

安全评分: ( 泡芙短视频 4.7.9)