安全分析报告: 珍珍 v10.0.18

安全分数


安全分数 37/100

风险评级


等级

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

严重性分布 (%)


隐私风险

0

用户/设备跟踪器


调研结果

高危 5
中危 8
信息 1
安全 1
关注 3

高危 应用程序存在Janus漏洞

应用程序使用了v1签名方案进行签名,如果只使用v1签名方案,那么它就容易受到安卓5.0-8.0上的Janus漏洞的攻击。在安卓5.0-7.0上运行的使用了v1签名方案的应用程序,以及同时使用了v2/v3签名方案的应用程序也同样存在漏洞。

高危 Activity (io.dcloud.PandoraEntry) is vulnerable to StrandHogg 2.0

已发现活动存在 StrandHogg 2.0 栈劫持漏洞的风险。漏洞利用时,其他应用程序可以将恶意活动放置在易受攻击的应用程序的活动栈顶部,从而使应用程序成为网络钓鱼攻击的易受攻击目标。可以通过将启动模式属性设置为“singleInstance”并设置空 taskAffinity (taskAffinity="") 来修复此漏洞。您还可以将应用的目标 SDK 版本 (28) 更新到 29 或更高版本以在平台级别修复此问题。

高危 Activity (io.dcloud.PandoraEntryActivity) 的启动模式不是standard模式

Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。

高危 Activity (io.dcloud.WebAppActivity) 的启动模式不是standard模式

Activity 不应将启动模式属性设置为 "singleTask/singleInstance",因为这会使其成为根 Activity,并可能导致其他应用程序读取调用 Intent 的内容。因此,当 Intent 包含敏感信息时,需要使用 "standard" 启动模式属性。

高危 启用了调试配置。生产版本不能是可调试的

启用了调试配置。生产版本不能是可调试的
https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04c-Tampering-and-Reverse-Engineering.md#debugging-and-tracing

Files:
com/bumptech/glide/BuildConfig.java, line(s) 2,5
com/bumptech/glide/gifdecoder/BuildConfig.java, line(s) 2,5

中危 应用程序可以安装在有漏洞的已更新 Android 版本上

Android 4.4-4.4.4, [minSdk=19]
该应用程序可以安装在具有多个未修复漏洞的旧版本 Android 上。这些设备不会从 Google 接收合理的安全更新。支持 Android 版本 => 10、API 29 以接收合理的安全更新。

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

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

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

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


Files:
com/dmcbig/mediapicker/TakePhotoActivity.java, line(s) 25
com/dmcbig/mediapicker/utils/FileUtils.java, line(s) 34

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

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

Files:
com/bumptech/glide/load/Option.java, line(s) 73
com/bumptech/glide/load/engine/DataCacheKey.java, line(s) 33
com/bumptech/glide/load/engine/EngineResource.java, line(s) 90
com/bumptech/glide/load/engine/ResourceCacheKey.java, line(s) 80
com/bumptech/glide/manager/RequestManagerRetriever.java, line(s) 32

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

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

Files:
com/dmcbig/mediapicker/utils/FileUtils.java, line(s) 23,24,26,58,118
com/nostra13/dcloudimageloader/utils/StorageUtils.java, line(s) 21,43,43,52
io/src/dcloud/adapter/DCloudBaseActivity.java, line(s) 116,195

中危 应用程序使用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:
com/dcloud/android/downloader/db/DefaultDownloadDBController.java, line(s) 5,57
com/dcloud/android/downloader/db/DefaultDownloadHelper.java, line(s) 4,5,20

中危 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/nostra13/dcloudimageloader/cache/disc/naming/Md5FileNameGenerator.java, line(s) 13

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

从应用程序中识别出以下机密确保这些不是机密或私人信息
DCLOUD的 "APPID" : "H56F70DEB"
DCLOUD的 "DCLOUD_STREAMAPP_CHANNEL" : "axinzhenzhenqomncx.yjqq|H56F70DEB|127498160007|"
DCLOUD的 "AD_ID" : "127498160007"
DCLOUD的 "ApplicationId" : "axinzhenzhenqomncx.yjqq"
"dcloud_oauth_oauth_not_empower" : "尚未获取oauth授权"
"dcloud_oauth_logout_tips" : "未登录或登录已注销"
"dcloud_io_without_authorization" : "没有获得授权"
"dcloud_oauth_authentication_failed" : "获取授权登录认证服务操作失败"
"dcloud_permissions_reauthorization" : "重新授权"
"dcloud_permissions_reauthorization" : "reauthorize"
"dcloud_oauth_token_failed" : "获取token失败"
"dcloud_common_user_refuse_api" : "用户拒绝该API访问"
"dcloud_oauth_empower_failed" : "获取授权登录认证服务操作失败"
YHx8eHsyJydqb2l7JmxrZGd9bCZhZydrZ2RkbWt8J3hkfXtpeHgnaWt8YWdm
e218Qml+aVtremF4fEtpZkd4bWZfYWZsZ397SX18Z2VpfGFraWRkcQ==
YHx8eHsyJydvaWs5JmxrZGd9bCZmbXwma2YnaXh4J2lrew==
YHx8eHsyJydqb2l7JmxrZGd9bCZmbXwma2Yna2dkZG1rfCd4ZH17aXh4J2lrfGFnZg==
UWV/BnpHVVhMahB0EU1XA15hAEFOAWlGVHBkcgluSF0HFhlQZx15Yhhjb3xCHgRfWxV+cQhPS1ICFxRzdkUfeyo2YTNkODhmYS00YmEwLTQ3OWYtOTQyMi1lNWFhYmUxNTg5N2IxMjQ=
NcnBDcMwCEDRXThXDJBtSKAWiQErjtVWVXcvB0f60j+8L1wrLLCF4UWxUszBA3aesKsXDi9IraFRrYmNb30PN0ls6jwiS+XPxN6RnM9QxlE2pJeYpB/9dtMqWPRpdMgJvz8=
amwtZ2BvbHZnLWBsbm5sbS1gcC1HTyo2YTNkODhmYS00YmEwLTQ3OWYtOTQyMi1lNWFhYmUxNTg5N2I2Nw==
evs6OIME2yLCyUChqtQTGtxDh4/6wcSpdRw8lh8NGkyLXZQtZ1A7NDehilU2yXH5
Y29tLmFuZHJvaWQuaW50ZXJuYWwuUiRzdHlsZWFibGU=
5rPjudJDczZ5DrTBECwfWSjBF5HsOIb6t/fa0kExz2phP+SrGrN3+oS6bbF8z8n+
aHR0cHM6Ly9jci5kY2xvdWQubmV0LmNuLw==
YHx8eHsyJydqaXs5JmxrZGd9bCZmbXwma2YnYHx8eCdraWk=
p2WH3ao/DPQajXDOBOngAQRJy7HFI6I+rNVrL72Tvjg=
YHx8eHsyJydpazkmbGtkZ31sJmZtfCZrZidpeHgnfGBhemxLZ2ZuYW8=
YHx8eHsyJyd8OiZsa2RnfWwmZm18JmtmJ2tnZGRta3wneGR9e2l4eCdpa3xhZ2Y=
YHx8eHsyJydpejombGtkZ31sJmZtfCZrZidrZ2RkbWt8J3hkfXtpeHgnent4
CEroA9kVcgb5YW85GtDBLrVZfsAsUrOdkBRjB/Uh1+E=
9F89C84A559F573636A47FF8DAED0D33
258EAFA5-E914-47DA-95CA-C5AB0DC85B11
YHx8eHsyJyd7OSZsa2RnfWwmZm18JmtmJ2tnZGRta3wneGR9e2l4eCd7fGl6fH14J346
YHx8eHsyJydvazkmbGtkZ31sJmZtfCZrZidrZ2RkbWt8J3hkfXtpeHgna2ls
YHx8eHsyJydqezkmbGtkZ31sJmZtfCZrZidgfHx4J2tpeyd+Og==
YHx8eHsyJyd7OiZsa2RnfWwmZm18JmtmJ2tnZGRta3wneGR9e2l4eCd7fGl6fH14J346
YHx8eHsyJydpezkmbGtkZ31sJmZtfCZrZidrZ2RkbWt8J3hkfXtpeHgnaWt8YWdm
YHx8eHsyJydvaXo6JmxrZGd9bCZhZydrZ2RkbWt8J3hkfXtpeHgnent4
YHx8eHsyJydqb2lrJmxrZGd9bCZmbXwma2YnaXh4J2lrew==
YHx8eHsyJydvaXo5JmxrZGd9bCZhZydrZ2RkbWt8J3hkfXtpeHgnent4
eG5/SmdnZHxNYmduSmhobnh4TXlkZk1iZ25eWUd4KjZhM2Q4OGZhLTRiYTAtNDc5Zi05NDIyLWU1YWFiZTE1ODk3Yjc1
amwtZ2BvbHZnLWVmYnd2cWYtYGUtYEVmYnd2cWZKbnNvKjZhM2Q4OGZhLTRiYTAtNDc5Zi05NDIyLWU1YWFiZTE1ODk3YjY3
5rPjudJDczZ5DrTBECwfWer9fxhAWnoxI7Hr0jS/XKKlD9cg1eZLP+WDaj1U0IQ9
YHx8eHsyJydvaXs6JmxrZGd9bCZhZydrZ2RkbWt8J3hkfXtpeHgnaWt8YWdm
YHx8eHsyJydvaWs6JmxrZGd9bCZmbXwma2YnaXh4J2lrew==
YHx8eHsyJydpazombGtkZ31sJmZtfCZrZidpeHgnfGBhemxLZ2ZuYW8=
YHx8eHsyJydvaXs5JmxrZGd9bCZhZydrZ2RkbWt8J3hkfXtpeHgnaWt8YWdm
YHx8eHsyJydqfDkmbGtkZ31sJmZtfCZrZidgfHx4J2tpaQ==
YHx8eHsyJydqb2l6JmxrZGd9bCZmbXwma2Yna2dkZG1rfCd4ZH17aXh4J3p7eA==
YHx8eHsyJydpazkmbGtkZ31sJmZtfCZrZidpeHgnaWt7
YHx8eHsyJydpezombGtkZ31sJmZtfCZrZidrZ2RkbWt8J3hkfXtpeHgnaWt8YWdm
W3v2HgaLzgcTXlUiOoZ7E6RDsIpMd2Glz1MxJdRxdis
YHx8eHsyJydqaXo6JmxrZGd9bCZmbXwma2YnYHx8eCdraXo=
YHx8eHsyJydpazombGtkZ31sJmZtfCZrZidpeHgnaWt7
YHx8eHsyJydrOSZsa2RnfWwmZm18JmtmJ2tnZGRta3wneGR9e2l4eCdraWw=
YHx8eHsyJydvaXs6JmxrZGd9bCZmbXwma2Yna2dkZG1rfCd4ZH17aXh4J2lrfGFnZg==
f2l4TWBgY3tKZWBpTW9vaX9/KjZhM2Q4OGZhLTRiYTAtNDc5Zi05NDIyLWU1YWFiZTE1ODk3Yjc2
YHx8eHsyJydvaXs5JmxrZGd9bCZmbXwma2Yna2dkZG1rfCd4ZH17aXh4J2lrfGFnZg==
YHx8eHsyJydvaXo6JmxrZGd9bCZmbXwma2Yna2dkZG1rfCd4ZH17aXh4J3p7eA==
YHx8eHsyJydvazkmbGtkZ31sJmFnJ2tnZGRta3wneGR9e2l4eCdraWw=
YHx8eHsyJydvaXo5JmxrZGd9bCZmbXwma2Yna2dkZG1rfCd4ZH17aXh4J3p7eA==
5rPjudJDczZ5DrTBECwfWbr6jIGaA05lJJ4z8IfXa1gko92nDYCi7GietE6VgZMY
E3F5536A141811DB40EFD6400F1D0A4E
2BGSU2QqUAXYXuDA9OkD2SztJLGWMXqJb5xjvxk4w6dV7K0u
YHx8eHsyJyd8OSZsa2RnfWwmZm18JmtmJ2tnZGRta3wneGR9e2l4eCdpa3xhZ2Y=
YHx8eHsyJydqaWs5JmxrZGd9bCZmbXwma2YnYHx8eCdpaWs=
YHx8eHsyJydqaWs5JmxrZGd9bCZmbXwma2YnYHx8eCdpaXs=
YHx8eHsyJydqb2l6JmxrZGd9bCZhZydrZ2RkbWt8J3hkfXtpeHgnent4
YHx8eHsyJydpejkmbGtkZ31sJmZtfCZrZidrZ2RkbWt8J3hkfXtpeHgnent4
eW9+S2ZmZX1fZGN8b3h5a2ZLaWlveXlMeGVnTGNmb19YRnkqNmEzZDg4ZmEtNGJhMC00NzlmLTk0MjItZTVhYWJlMTU4OTdiNzQ=
5rPjudJDczZ5DrTBECwfWX3lxIQFlIC/UMsP+phhn+hM5LDHPI8rrfGoWmO4XXwm

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

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

Files:
androidtranscoder/MediaTranscoder.java, line(s) 74,151,184,71,68
androidtranscoder/engine/MediaTranscoderEngine.java, line(s) 94,102,185,215
androidtranscoder/engine/QueuedMuxer.java, line(s) 94,96,104
androidtranscoder/engine/TextureRender.java, line(s) 48,58,59,74,78,98
androidtranscoder/format/ExportPreset960x540Strategy.java, line(s) 20
com/bumptech/glide/Glide.java, line(s) 203,212,131,130,202,209,237,238
com/bumptech/glide/gifdecoder/GifHeaderParser.java, line(s) 236,275,235,274
com/bumptech/glide/gifdecoder/StandardGifDecoder.java, line(s) 153,171,187,152,170,186,208,217
com/bumptech/glide/load/data/AssetPathFetcher.java, line(s) 36,35
com/bumptech/glide/load/data/HttpUrlFetcher.java, line(s) 53,133,52,56,61,68,132,65,69
com/bumptech/glide/load/data/LocalUriFetcher.java, line(s) 38,37
com/bumptech/glide/load/data/mediastore/ThumbFetcher.java, line(s) 52,51
com/bumptech/glide/load/data/mediastore/ThumbnailStreamOpener.java, line(s) 61,60
com/bumptech/glide/load/engine/DecodeJob.java, line(s) 335,381,442
com/bumptech/glide/load/engine/DecodePath.java, line(s) 56,57
com/bumptech/glide/load/engine/Engine.java, line(s) 27,96
com/bumptech/glide/load/engine/GlideException.java, line(s) 81
com/bumptech/glide/load/engine/SourceGenerator.java, line(s) 66,67
com/bumptech/glide/load/engine/bitmap_recycle/LruArrayPool.java, line(s) 89,143,90,144
com/bumptech/glide/load/engine/bitmap_recycle/LruBitmapPool.java, line(s) 127,157,165,189,72,79,126,136,156,164,178,188,197,73,80,137,203,179
com/bumptech/glide/load/engine/cache/DiskLruCacheWrapper.java, line(s) 52,62,76,82,112,123,53,77,63,83,113,124
com/bumptech/glide/load/engine/cache/MemorySizeCalculator.java, line(s) 64,48
com/bumptech/glide/load/engine/executor/GlideExecutor.java, line(s) 165,162
com/bumptech/glide/load/engine/executor/RuntimeCompat.java, line(s) 37,36
com/bumptech/glide/load/engine/prefill/BitmapPreFillRunner.java, line(s) 69,68
com/bumptech/glide/load/model/ByteBufferEncoder.java, line(s) 20,19
com/bumptech/glide/load/model/ByteBufferFileLoader.java, line(s) 59,58
com/bumptech/glide/load/model/FileLoader.java, line(s) 64,63
com/bumptech/glide/load/model/ResourceLoader.java, line(s) 39,40
com/bumptech/glide/load/model/StreamEncoder.java, line(s) 39,38
com/bumptech/glide/load/resource/bitmap/BitmapEncoder.java, line(s) 61,60
com/bumptech/glide/load/resource/bitmap/DefaultImageHeaderParser.java, line(s) 117,124,140,147,180,190,202,216,230,236,240,245,251,255,116,123,139,146,179,189,201,215,229,235,239,244,250,254
com/bumptech/glide/load/resource/bitmap/Downsampler.java, line(s) 175,300,337,133,149,174,256,299,336,134,257,364
com/bumptech/glide/load/resource/bitmap/DrawableToBitmapConverter.java, line(s) 44,49,45,50
com/bumptech/glide/load/resource/bitmap/HardwareConfigState.java, line(s) 55,56
com/bumptech/glide/load/resource/bitmap/TransformationUtils.java, line(s) 164,108,117,124,141,146,163,109,118,125,126,127,131,142,147
com/bumptech/glide/load/resource/bitmap/VideoDecoder.java, line(s) 129,128
com/bumptech/glide/load/resource/gif/ByteBufferGifDecoder.java, line(s) 80,85,90,99,81,86,91,100
com/bumptech/glide/load/resource/gif/GifDrawableEncoder.java, line(s) 25,26
com/bumptech/glide/load/resource/gif/StreamGifDecoder.java, line(s) 55,56
com/bumptech/glide/manager/DefaultConnectivityMonitor.java, line(s) 23,22,52,70,53,71
com/bumptech/glide/manager/DefaultConnectivityMonitorFactory.java, line(s) 15,14
com/bumptech/glide/manager/RequestManagerFragment.java, line(s) 123,124
com/bumptech/glide/manager/RequestManagerRetriever.java, line(s) 314,315,323
com/bumptech/glide/manager/RequestTracker.java, line(s) 24,25
com/bumptech/glide/manager/SupportRequestManagerFragment.java, line(s) 123,124
com/bumptech/glide/module/ManifestParser.java, line(s) 22,29,40,45,21,28,33,39,44,34
com/bumptech/glide/request/SingleRequest.java, line(s) 405,60,496,440
com/bumptech/glide/request/target/CustomViewTarget.java, line(s) 294,295,309,310
com/bumptech/glide/request/target/ViewTarget.java, line(s) 284,285,299,300
com/bumptech/glide/signature/ApplicationVersionSignature.java, line(s) 46
com/bumptech/glide/util/ContentLengthInputStream.java, line(s) 28,27
com/bumptech/glide/util/pool/FactoryPools.java, line(s) 89,90
com/bun/miitmdid/core/MdidSdkHelper.java, line(s) 58,64
com/bun/miitmdid/core/Utils.java, line(s) 75,78,36
com/dcloud/android/downloader/core/DownloadResponseImpl.java, line(s) 89
com/dcloud/android/downloader/core/thread/DownloadThread.java, line(s) 121
com/dcloud/android/v4/view/ViewCompat.java, line(s) 128,178,69
com/dcloud/android/v4/view/ViewCompatEclairMr1.java, line(s) 24,31,33,35
com/dcloud/android/v4/view/ViewParentCompatLollipop.java, line(s) 16,25,34,42,50,58,67
com/dcloud/android/v4/widget/SwipeRefreshLayout.java, line(s) 357
com/dcloud/android/widget/toast/SafeToastContext.java, line(s) 37,35
com/dmcbig/mediapicker/PreviewActivity.java, line(s) 252

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

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

关注 应用程序可能与位于OFAC制裁国家 (China) 的服务器 (er.dcloud.net.cn) 通信。

{'ip': '118.89.168.191', 'country_short': 'CN', 'country_long': 'China', 'region': 'Beijing', 'city': 'Beijing', 'latitude': '39.907501', 'longitude': '116.397232'}

关注 应用程序可能与位于OFAC制裁国家 (China) 的服务器 (m3w.cn) 通信。

{'ip': '115.150.38.95', 'country_short': 'CN', 'country_long': 'China', 'region': 'Jiangxi', 'city': 'Ganzhou', 'latitude': '25.850000', 'longitude': '114.933327'}

关注 应用程序可能与位于OFAC制裁国家 (China) 的服务器 (ask.dcloud.net.cn) 通信。

{'ip': '222.186.185.69', 'country_short': 'CN', 'country_long': 'China', 'region': 'Jiangsu', 'city': 'Zhenjiang', 'latitude': '32.209171', 'longitude': '119.434174'}

安全评分: ( 珍珍 10.0.18)