安全分析报告: NShare v1.4.0

安全分数


安全分数 52/100

风险评级


等级

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

严重性分布 (%)


隐私风险

0

用户/设备跟踪器


调研结果

高危 2
中危 14
信息 2
安全 2
关注 0

高危 Activity (best.share.machin.activity.HomeActivity) 的启动模式不是standard模式

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

高危 Activity (best.share.machin.activity.ContentSharingActivity) 的启动模式不是standard模式

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

中危 应用程序数据可以被备份

[android:allowBackup=true]
这个标志允许任何人通过adb备份你的应用程序数据。它允许已经启用了USB调试的用户从设备上复制应用程序数据。

中危 Activity (best.share.machin.activity.HomeActivity) 未被保护。

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

中危 Activity (best.share.machin.activity.ShareActivity) 未被保护。

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

中危 Activity (best.share.machin.activity.ViewTransferActivity) 未被保护。

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

中危 Activity (best.share.machin.activity.ChangeStoragePathActivity) 未被保护。

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

中危 Broadcast Receiver (best.share.machin.receiver.NetworkStatusReceiver) 未被保护。

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

中危 Service (best.share.machin.service.DeviceChooserService) 受权限保护, 但是应该检查权限的保护级别。

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

中危 Service (best.share.machin.service.DeviceScannerService) 未被保护。

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

中危 Service (best.share.machin.service.CommunicationToggleTile) 受权限保护, 但是应该检查权限的保护级别。

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

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

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


Files:
com/journeyapps/barcodescanner/CaptureManager.java, line(s) 248
fi/iki/elonen/NanoHTTPD.java, line(s) 294,774,887

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

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

Files:
best/share/machin/config/Keyword.java, line(s) 14,35
best/share/machin/database/AccessDatabase.java, line(s) 49
best/share/machin/service/CommunicationService.java, line(s) 111
best/share/machin/util/ConnectionUtils.java, line(s) 208,220
com/genonbeta/android/framework/preference/DbSharablePreferences.java, line(s) 24

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

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

Files:
best/share/machin/adapter/FileListAdapter.java, line(s) 99,101,103,104,114
best/share/machin/util/FileUtils.java, line(s) 50
com/genonbeta/android/updatewithgithub/GitHubUpdater.java, line(s) 72

中危 应用程序使用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:
best/share/machin/database/AccessDatabase.java, line(s) 101,106,168,206,238,245,254,261,303,310,210
com/genonbeta/android/database/SQLQuery.java, line(s) 8,29,26

中危 IP地址泄露

IP地址泄露


Files:
com/genonbeta/android/database/BuildConfig.java, line(s) 9
com/genonbeta/android/framework/BuildConfig.java, line(s) 9
fi/iki/elonen/NanoHTTPD.java, line(s) 420

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

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

Files:
best/share/machin/activity/ViewTransferActivity.java, line(s) 151,166
best/share/machin/adapter/TransferListAdapter.java, line(s) 773
best/share/machin/app/Activity.java, line(s) 79,83,111,95
best/share/machin/service/CommunicationService.java, line(s) 188,332,374,378,385,392,499,930,976,988,996,1003,1025,1035,1046,1061,1074,1088,1094,1123,1133,1139,1166,1172,1176,1222,1247,1346,1348,1362,1379,1382,1384,1404,1420,1422,1445,1447,1454,1458,1471,1473,1480,1483,1486,1490,1497,1511,1549,1566,1570,1573,1576,1594,1615,1633,1648,1665,1681,1733,179
best/share/machin/service/WebShareServer.java, line(s) 790
best/share/machin/task/AddDeviceRunningTask.java, line(s) 142
best/share/machin/util/AppUtils.java, line(s) 61,169
best/share/machin/util/ConnectionUtils.java, line(s) 76,78,82,86,90,91,96,101,104,117
best/share/machin/util/HotspotUtils.java, line(s) 50
best/share/machin/util/NetworkDeviceLoader.java, line(s) 148
best/share/machin/util/NsdDiscovery.java, line(s) 64,41,46,71,105,110,86,122,51,56,62,76,116
best/share/machin/util/UpdateUtils.java, line(s) 74
com/genonbeta/CoolSocket/CoolSocket.java, line(s) 178,317
com/genonbeta/CoolSocket/CoolTransfer.java, line(s) 398
com/genonbeta/android/framework/io/LocalDocumentFile.java, line(s) 172
com/genonbeta/android/framework/io/TreeDocumentFile.java, line(s) 195
com/genonbeta/android/framework/preference/DbSharablePreferences.java, line(s) 180
com/genonbeta/android/framework/util/FileUtils.java, line(s) 152,211
com/genonbeta/android/framework/util/PreferenceUtils.java, line(s) 18
com/genonbeta/android/updatewithgithub/GitHubUpdater.java, line(s) 51,54,59,74,78,81,107,110,115,126
com/journeyapps/barcodescanner/CameraPreview.java, line(s) 654,681,141,252,363,773,517,754
com/journeyapps/barcodescanner/CaptureManager.java, line(s) 62,94,254
com/journeyapps/barcodescanner/DecoderThread.java, line(s) 117
com/journeyapps/barcodescanner/camera/AutoFocusManager.java, line(s) 52,75,92
com/journeyapps/barcodescanner/camera/CameraInstance.java, line(s) 26,38,53,66,194,30,45,58,70
com/journeyapps/barcodescanner/camera/CameraManager.java, line(s) 341,292,303,354,147,176,198,144,149,211,219
com/journeyapps/barcodescanner/camera/CenterCropStrategy.java, line(s) 27
com/journeyapps/barcodescanner/camera/FitCenterStrategy.java, line(s) 27
com/journeyapps/barcodescanner/camera/LegacyPreviewScalingStrategy.java, line(s) 64,65,72
com/journeyapps/barcodescanner/camera/PreviewScalingStrategy.java, line(s) 21,22
fi/iki/elonen/util/ServerRunner.java, line(s) 15,18,24

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

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

Files:
best/share/machin/activity/TextEditorActivity.java, line(s) 4,155
best/share/machin/fragment/BarcodeConnectFragment.java, line(s) 5,254
best/share/machin/service/CommunicationService.java, line(s) 4,256

安全 此应用程序使用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:
com/github/kevinsawicki/http/HttpRequest.java, line(s) 162,1636
fi/iki/elonen/NanoHTTPD.java, line(s) 1311,1309,1308,1308

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

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

安全评分: ( NShare 1.4.0)