移动应用安全检测报告: Soul v1.4.58

安全基线评分


安全基线评分 45/100

综合风险等级


风险等级评定

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

漏洞与安全项分布(%)


隐私风险

3

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


检测结果分布

高危安全漏洞 4
中危安全漏洞 37
安全提示信息 2
已通过安全项 0
重点安全关注 0

高危安全漏洞 已启用远程WebView调试

已启用远程WebView调试
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04c-Tampering-and-Reverse-Engineering.md#debugging-and-tracing

Files:
com/mycompany/app/dialog/DialogDownUrl.java, line(s) 2580,22

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

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

Files:
com/mycompany/app/down/DownSaveSplit.java, line(s) 25

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

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

中危安全漏洞 Activity (com.mycompany.app.main.MainMusicActivity) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.main.MainTorrentLauncher) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.main.MainTxtView) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.main.image.MainImagePreview) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.main.list.MainListAlbum) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.main.list.MainListCast) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.image.ImageViewActivity) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.image.ImageViewPdf) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.web.WebLauncher) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.web.WebShortcut) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.editor.EditorActivity) 未被保护。

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

中危安全漏洞 Activity (com.mycompany.app.video.VideoActivity) 未被保护。

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

中危安全漏洞 Service (com.mycompany.app.vpn.VpnSvc) 受权限保护, 但是应该检查权限的保护级别。

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

中危安全漏洞 Activity (com.mycompany.app.cast.ExpandedControlsActivity) 未被保护。

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

中危安全漏洞 Service (com.mycompany.app.widget.WidgetBookServiceLight) 受权限保护, 但是应该检查权限的保护级别。

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

中危安全漏洞 Service (com.mycompany.app.widget.WidgetBookServiceDark) 受权限保护, 但是应该检查权限的保护级别。

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

中危安全漏洞 Broadcast Receiver (com.mycompany.app.widget.WidgetBookProviderLight) 未被保护。

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

中危安全漏洞 Broadcast Receiver (com.mycompany.app.widget.WidgetBookProviderDark) 未被保护。

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

中危安全漏洞 Broadcast Receiver (com.mycompany.app.widget.WidgetSearchProviderLight) 未被保护。

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

中危安全漏洞 Broadcast Receiver (com.mycompany.app.widget.WidgetSearchProviderDark) 未被保护。

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

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

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

中危安全漏洞 Broadcast Receiver (androidx.profileinstaller.ProfileInstallReceiver) 受权限保护, 但是应该检查权限的保护级别。

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

中危安全漏洞 应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库

应用程序使用SQLite数据库并执行原始SQL查询。原始SQL查询中不受信任的用户输入可能会导致SQL注入。敏感信息也应加密并写入数据库
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04h-Testing-Code-Quality.md#injection-flaws-mstg-arch-2-and-mstg-platform-2

Files:
com/mycompany/app/db/DbAlbum.java, line(s) 5,6,105,110,111
com/mycompany/app/db/DbCmp.java, line(s) 5,6,101,106,107
com/mycompany/app/db/DbPdf.java, line(s) 5,6,109,114,115
com/mycompany/app/db/book/DbAdsCmd.java, line(s) 4,5,35,40,41
com/mycompany/app/db/book/DbBookAds.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookAgent.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookAlbum.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookBlock.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookCmp.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookDown.java, line(s) 6,7,162,167,168
com/mycompany/app/db/book/DbBookFilter.java, line(s) 4,5,91,96,97
com/mycompany/app/db/book/DbBookHistory.java, line(s) 4,5,54,59,60
com/mycompany/app/db/book/DbBookIcon.java, line(s) 4,5,35,40,41
com/mycompany/app/db/book/DbBookJava.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookLink.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookLocale.java, line(s) 5,6,59,64,65
com/mycompany/app/db/book/DbBookMemo.java, line(s) 5,6,42,47,48
com/mycompany/app/db/book/DbBookOver.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookPage.java, line(s) 4,5,27,32,33
com/mycompany/app/db/book/DbBookPass.java, line(s) 5,6,74,79,80
com/mycompany/app/db/book/DbBookPay.java, line(s) 4,5,32,37,38
com/mycompany/app/db/book/DbBookPdf.java, line(s) 4,5,31,36,37
com/mycompany/app/db/book/DbBookPms.java, line(s) 4,5,66,71,72
com/mycompany/app/db/book/DbBookPop.java, line(s) 4,5,35,40,41
com/mycompany/app/db/book/DbBookQuick.java, line(s) 6,7,343,348,349
com/mycompany/app/db/book/DbBookRecent.java, line(s) 6,7,153,158,159
com/mycompany/app/db/book/DbBookScript.java, line(s) 5,6,123,124,125,126,127,128,129,140,141,142,143,144,145,146
com/mycompany/app/db/book/DbBookSearch.java, line(s) 4,5,75,80,81
com/mycompany/app/db/book/DbBookSub.java, line(s) 5,6,105,110,111
com/mycompany/app/db/book/DbBookTab.java, line(s) 5,6,254,259,260
com/mycompany/app/db/book/DbBookTabOld.java, line(s) 4,5,42,47,48
com/mycompany/app/db/book/DbBookTmem.java, line(s) 4,5,35,40,41
com/mycompany/app/db/book/DbBookTrans.java, line(s) 4,5,35,40,41
com/mycompany/app/db/book/DbBookUser.java, line(s) 5,6,59,64,65
com/mycompany/app/db/book/DbBookVpos.java, line(s) 4,5,41,46,47
com/mycompany/app/db/book/DbBookWeb.java, line(s) 6,7,257,262,263
com/mycompany/app/db/book/DbRecentLang.java, line(s) 5,6,91,96,97
com/mycompany/app/db/book/DbTabState.java, line(s) 5,6,87,92,93
com/mycompany/app/db/book/DbTabThumb.java, line(s) 4,5,42,47,48

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

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

Files:
com/mycompany/app/web/WebClean.java, line(s) 457
org/jsoup/internal/SharedConstants.java, line(s) 9,4,6,8
org/jsoup/nodes/DocumentType.java, line(s) 9,10

中危安全漏洞 不安全的Web视图实现。可能存在WebView任意代码执行漏洞

不安全的Web视图实现。可能存在WebView任意代码执行漏洞
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#testing-javascript-execution-in-webviews-mstg-platform-5

Files:
com/mycompany/app/dialog/DialogEditScript.java, line(s) 198,725,116
com/mycompany/app/dialog/DialogGreeting.java, line(s) 283,857,420
com/mycompany/app/dialog/DialogNewsLocale.java, line(s) 131,1067,170
com/mycompany/app/dialog/DialogTransLang.java, line(s) 116,924,155
com/mycompany/app/dialog/DialogViewRead.java, line(s) 1667,3555,3573
com/mycompany/app/dialog/DialogViewTrans.java, line(s) 161,801,298
com/mycompany/app/main/MainTransLocale.java, line(s) 75,466,114
com/mycompany/app/main/MainTransNews.java, line(s) 75,505,118
com/mycompany/app/main/MainTransOcr.java, line(s) 100,509,139
com/mycompany/app/main/MainTransText.java, line(s) 72,477,111
com/mycompany/app/quick/QuickNewsGoogle.java, line(s) 83,362,123
com/mycompany/app/video/VideoActivity.java, line(s) 506,1400,5032
com/mycompany/app/web/WebReadTask.java, line(s) 122,515,168
com/mycompany/app/web/WebSnsInsta.java, line(s) 71,341,111
com/mycompany/app/web/WebSnsTwit.java, line(s) 71,392,110

中危安全漏洞 IP地址泄露

IP地址泄露


Files:
com/frostwire/jlibtorrent/swig/libtorrent_jni.java, line(s) 2832
com/mycompany/app/vpn/VpnAdapter.java, line(s) 30,30,30
fi/iki/elonen/NanoHTTPD.java, line(s) 278

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

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


Files:
fi/iki/elonen/NanoHTTPD.java, line(s) 205

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

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

Files:
bin/mt/signature/KillerApplication.java, line(s) 77

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

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

Files:
com/mycompany/app/main/MainUtil.java, line(s) 194
org/jsoup/helper/DataUtil.java, line(s) 18

中危安全漏洞 MD5是已知存在哈希冲突的弱哈希

MD5是已知存在哈希冲突的弱哈希
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#identifying-insecure-andor-deprecated-cryptographic-algorithms-mstg-crypto-4

Files:
com/nostra13/universalimageloader/cache/disc/naming/Md5FileNameGenerator.java, line(s) 14

中危安全漏洞 可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息

可能存在跨域漏洞。在 WebView 中启用从 URL 访问文件可能会泄漏文件系统中的敏感信息
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x05h-Testing-Platform-Interaction.md#static-analysis-6

Files:
com/mycompany/app/web/WebReadTask.java, line(s) 172,168

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

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

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

从应用程序中识别出以下机密确保这些不是机密或私人信息
AdMob广告平台的=> "com.google.android.gms.ads.APPLICATION_ID" : "ca-app-pub-6463451207091427~7123025322"
"androidx.credentials.TYPE_PUBLIC_KEY_CREDENTIAL" : "Passkey"
"password" : "Password"
"android.credentials.TYPE_PASSWORD_CREDENTIAL" : "Password"
MIIFhjCCA26gAwIBAgIUOVMZTENl46jHOSlwa22ALZEOgK0wDQYJKoZIhvcNAQELBQAwdDELMAkG
nDTE5MDIxMzAwMTQ0N1oXDTQ5MDIxMzAwMTQ0N1owdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
nCJJEPob1aGxtUYB1EN+GeYrqATPaHZ+PuLYGVlPsDvIZ5s1GV2QUub2CMnIbF+GiqwFL41rUyCu3
nU52IiKQ1PD944o/WFJKXKF8ueYPlCiCGwU8GpCWAaORgUux0AaXAALLlAGuNfWcMcXYypuB894EL
niH9s2PiLA/1H+AjIJBvdMsnVKS6CLAxamADwd7Dwvi5mEYTkJ+w5fDpaSatonxT9JeZKHCoAamVz
nZONVH5Kzbw1AGYmwjhUP6Q71N2Iv7DPto4336K0H1eL8NSzDIAgdBkXuXQZnNSKysjXR91HYdc0U
nBgNVBAoTC0dvb2dsZSBJbmMuMRAwDgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMB4X
nIVJjSraww5l9ZpA0ew8AHV6GvuNydERkSvkITMmcfjA36jF8ThumLYRWOagVzbv7mqwIRR0Q9aGi
nNhY2WK9PJ4giKOKRN+Kd7/wVFWwjy5ivF7igidY6Kq5wQ6IisTwaN1TfJlpVM6s0rr9wZind6jOW
ntRJg/x6avP2T0ILKVQOfR9730vLn0jogofMXRm5k0mD0FB6+u49kgf77pfeg3SpyqNsj+WXZKH6l
nnfDUfBT7nVT0629Y4k4PJACjf1UsfOaPkBRPXhqFfBALNZUOZJNhhmbvahycPc7ZLU3smkndVvVQ
nM7gnBmOGKLxHTgYeoqkCPPBqVKLS5GnKxarrH2nQYvoJjlG406B6EAvi/kA9b+81BDgVk+edgJWb
nDgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8A
nbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAw
nnG9wyRG2eTho1AuOYBTzsa3WEHiS3AnmiOWSpOKJ24dYbMnPWOIzkXD/duN5O2CTlRDjbAncy6Eg
nA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDAS

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

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

Files:
bin/mt/signature/KillerApplication.java, line(s) 116,126,161
com/caverock/androidsvg/CSSParser.java, line(s) 1151,998
com/caverock/androidsvg/SVGAndroidRenderer.java, line(s) 460,707,1297,399,713,785
com/caverock/androidsvg/SVGImageView.java, line(s) 54,85,117,146,160,132
com/caverock/androidsvg/SVGParser.java, line(s) 2194,2226,2252,2435,2257
com/mycompany/app/compress/CompressUtil.java, line(s) 166
com/mycompany/app/lock/FingerActivity.java, line(s) 141,145
com/nostra13/universalimageloader/cache/disc/impl/ext/DiskLruCache.java, line(s) 322
org/lsposed/hiddenapibypass/HiddenApiBypass.java, line(s) 74,313

安全提示信息 此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它

此应用程序将数据复制到剪贴板。敏感数据不应复制到剪贴板,因为其他应用程序可以访问它
https://github.com/OWASP/owasp-mstg/blob/master/Document/0x04b-Mobile-App-Security-Testing.md#clipboard

Files:
com/mycompany/app/main/MainUtil.java, line(s) 14,8590

综合安全基线评分: ( Soul 1.4.58)