安全分数
安全分数 54/100
风险评级
等级
- A
- B
- C
- F
严重性分布 (%)
隐私风险
0
用户/设备跟踪器
调研结果
高危
1
中危
16
信息
1
安全
2
关注
3
高危 如果一个应用程序使用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/reactnativecommunity/webview/RNCWebViewManager.java, line(s) 489,32,33
中危 应用程序已启用明文网络流量
[android:usesCleartextTraffic=true] 应用程序打算使用明文网络流量,例如明文HTTP,FTP协议,DownloadManager和MediaPlayer。针对API级别27或更低的应用程序,默认值为“true”。针对API级别28或更高的应用程序,默认值为“false”。避免使用明文流量的主要原因是缺乏机密性,真实性和防篡改保护;网络攻击者可以窃听传输的数据,并且可以在不被检测到的情况下修改它。
中危 Activity (com.braintreepayments.api.BraintreeBrowserSwitchActivity) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (io.invertase.firebase.messaging.ReactNativeFirebaseMessagingReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: com.google.android.c2dm.permission.SEND [android:exported=true] 发现一个 Broadcast Receiver被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 Activity (com.google.firebase.auth.internal.GenericIdpActivity) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Activity (com.google.firebase.auth.internal.RecaptchaActivity) 未被保护。
[android:exported=true] 发现 Activity与设备上的其他应用程序共享,因此可被设备上的任何其他应用程序访问。
中危 Broadcast Receiver (com.google.firebase.iid.FirebaseInstanceIdReceiver) 受权限保护, 但是应该检查权限的保护级别。
Permission: com.google.android.c2dm.permission.SEND [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被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 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被共享给了设备上的其他应用程序,因此让它可以被设备上的任何其他应用程序访问。它受到一个在分析的应用程序中没有定义的权限的保护。因此,应该在定义它的地方检查权限的保护级别。如果它被设置为普通或危险,一个恶意应用程序可以请求并获得这个权限,并与该组件交互。如果它被设置为签名,只有使用相同证书签名的应用程序才能获得这个权限。
中危 应用程序使用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/reactnativecommunity/asyncstorage/AsyncLocalStorageUtil.java, line(s) 6,88 com/reactnativecommunity/asyncstorage/ReactDatabaseSupplier.java, line(s) 4,5,6,43
中危 应用程序使用不安全的随机数生成器
应用程序使用不安全的随机数生成器 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x04g-Testing-Cryptography.md#weak-random-number-generators Files: com/agontuk/RNFusedLocation/FusedLocationProvider.java, line(s) 24 io/grpc/internal/DnsNameResolver.java, line(s) 35 io/grpc/internal/ExponentialBackoffPolicy.java, line(s) 5 io/grpc/internal/PickFirstLoadBalancer.java, line(s) 13 io/grpc/internal/RetriableStream.java, line(s) 24 io/grpc/okhttp/OkHttpClientTransport.java, line(s) 72 io/grpc/util/OutlierDetectionLoadBalancer.java, line(s) 27 io/grpc/util/RoundRobinLoadBalancer.java, line(s) 21
中危 文件可能包含硬编码的敏感信息,如用户名、密码、密钥等
文件可能包含硬编码的敏感信息,如用户名、密码、密钥等 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#checking-memory-for-sensitive-data-mstg-storage-10 Files: io/grpc/internal/DnsNameResolver.java, line(s) 76,74,75,77 io/grpc/internal/PickFirstLoadBalancerProvider.java, line(s) 13 io/grpc/internal/TransportFrameUtil.java, line(s) 33 io/invertase/firebase/common/TaskExecutorService.java, line(s) 14,15 io/invertase/firebase/messaging/ReactNativeFirebaseMessagingHeadlessService.java, line(s) 13,11 io/invertase/firebase/messaging/ReactNativeFirebaseMessagingSerializer.java, line(s) 20 net/time4j/tz/spi/WinZoneProviderSPI.java, line(s) 26 org/reactnative/facedetector/tasks/FileFaceDetectionAsyncTask.java, line(s) 26,28,29
中危 应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据
应用程序可以读取/写入外部存储器,任何应用程序都可以读取写入外部存储器的数据 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#external-storage Files: com/learnium/RNDeviceInfo/RNDeviceModule.java, line(s) 359 com/lwansbrough/RCTCamera/RCTCameraModule.java, line(s) 620,624 com/reactnativecommunity/webview/RNCWebViewModule.java, line(s) 480,478 io/invertase/firebase/utils/ReactNativeFirebaseUtilsModule.java, line(s) 113,122,123,124
中危 应用程序创建临时文件。敏感信息永远不应该被写进临时文件
应用程序创建临时文件。敏感信息永远不应该被写进临时文件 Files: com/lwansbrough/RCTCamera/RCTCameraModule.java, line(s) 650,653 com/reactnativecommunity/webview/RNCWebViewModule.java, line(s) 480 com/rnmaps/maps/FileUtil.java, line(s) 39 com/rnmaps/maps/MapModule.java, line(s) 109
中危 IP地址泄露
IP地址泄露 Files: io/grpc/okhttp/OkHttpClientTransport.java, line(s) 222 io/grpc/okhttp/OkHttpServerTransport.java, line(s) 631,646,652,737
中危 此应用可能包含硬编码机密信息
从应用程序中识别出以下机密确保这些不是机密或私人信息 凭证信息=> "com.google.android.geo.API_KEY" : "AIzaSyAQLQCVRi9SmYJG-4ptzP_Mc_rasNBD2ho" "firebase_database_url" : "https://dolanid.firebaseio.com" "google_api_key" : "AIzaSyBO5G1zqiYqt1SEw_fDvpZiCxMa_METEL0" "google_crash_reporting_api_key" : "AIzaSyBO5G1zqiYqt1SEw_fDvpZiCxMa_METEL0"
信息 应用程序记录日志信息,不得记录敏感信息
应用程序记录日志信息,不得记录敏感信息 https://github.com/MobSF/owasp-mstg/blob/master/Document/0x05d-Testing-Data-Storage.md#logs Files: cl/json/RNShareModule.java, line(s) 234,238,246,257,262,276,291 cl/json/RNSharePathUtil.java, line(s) 52 cl/json/social/InstagramShare.java, line(s) 41,50 cl/json/social/SingleShareIntent.java, line(s) 27,30,39 com/agontuk/RNFusedLocation/FusedLocationProvider.java, line(s) 78 com/agontuk/RNFusedLocation/LocationManagerProvider.java, line(s) 75 com/agontuk/RNFusedLocation/RNFusedLocationModule.java, line(s) 44 com/azendoo/reactnativesnackbar/SnackbarModule.java, line(s) 71 com/brentvatne/react/ReactVideoView.java, line(s) 460,464 com/drew/imaging/ImageMetadataReader.java, line(s) 274,210,211,225,236,244,245,246,247,248,249,250,251,252,253,254,255,266,268,270 com/drew/lang/CompoundException.java, line(s) 60 com/drew/tools/ExtractJpegSegmentTool.java, line(s) 22,30,37,48,53,61,62,63,66,69 com/drew/tools/ProcessAllImagesInFolderUtility.java, line(s) 82,95,102,103,104 com/drew/tools/ProcessUrlUtility.java, line(s) 16,29,34,51,53,22,47 com/henninghall/date_picker/DerivedData.java, line(s) 77 com/henninghall/date_picker/pickers/AndroidNative.java, line(s) 82,84,86,134,137,141,144 com/imagepicker/ImageMetadata.java, line(s) 34 com/imagepicker/Metadata.java, line(s) 28 com/learnium/RNDeviceInfo/RNDeviceModule.java, line(s) 212,289,387,392,503,535,630,813,904,908 com/learnium/RNDeviceInfo/RNInstallReferrerClient.java, line(s) 76,82,87,100,27,43,94 com/learnium/RNDeviceInfo/resolver/DeviceIdResolver.java, line(s) 21,24,25,29 com/lwansbrough/RCTCamera/MutableImage.java, line(s) 169,191,214 com/lwansbrough/RCTCamera/RCTCamera.java, line(s) 41,188,281,397,423,441 com/lwansbrough/RCTCamera/RCTCameraModule.java, line(s) 278,305,316,324,470,606,617,630,639,655,658 com/lwansbrough/RCTCamera/RCTCameraViewFinder.java, line(s) 180,447,469,282 com/reactcommunity/rndatetimepicker/MinuteIntervalSnappableTimePickerDialog.java, line(s) 105 com/reactnativecommunity/asyncstorage/AsyncLocalStorageUtil.java, line(s) 80,83,90,92 com/reactnativecommunity/asyncstorage/AsyncStorageExpoMigration.java, line(s) 30,36,42,44,50,52 com/reactnativecommunity/asyncstorage/AsyncStorageModule.java, line(s) 109,150,164,178,195,202,208,213,255,259,264,280,311,325,339,353,366,370,375,391,414,436 com/reactnativecommunity/asyncstorage/ReactDatabaseSupplier.java, line(s) 92,95 com/reactnativecommunity/webview/RNCWebViewManager.java, line(s) 909,985,193,206,898,914,941,987 com/reactnativecommunity/webview/RNCWebViewModule.java, line(s) 304,309,333,338,221,245,259 com/rnmaps/maps/FileUtil.java, line(s) 33 com/rnmaps/maps/MapGradientPolyline.java, line(s) 203 com/rnmaps/maps/MapTileProvider.java, line(s) 111,115,119,123,145,147,162,166,168,175,178,264 com/rnmaps/maps/MapTileWorker.java, line(s) 39 com/rnmaps/maps/MapUrlTile.java, line(s) 198,207 com/rnmaps/maps/MapView.java, line(s) 184 com/swmansion/gesturehandler/react/RNGestureHandlerModule.java, line(s) 697 com/swmansion/gesturehandler/react/RNGestureHandlerRootHelper.java, line(s) 47,65 com/swmansion/gesturehandler/react/RNGestureHandlerRootView.java, line(s) 37 com/swmansion/reanimated/NativeMethodsHelper.java, line(s) 44 com/swmansion/reanimated/ReanimatedModule.java, line(s) 107 com/swmansion/reanimated/ReanimatedUIManagerFactory.java, line(s) 21 com/swmansion/reanimated/layoutReanimation/AnimationsManager.java, line(s) 198,212 com/swmansion/reanimated/layoutReanimation/ReanimatedNativeHierarchyManager.java, line(s) 36 com/swmansion/reanimated/layoutReanimation/SharedTransitionManager.java, line(s) 92 com/swmansion/reanimated/nativeProxy/NativeProxyCommon.java, line(s) 189 com/swmansion/reanimated/sensor/ReanimatedSensorContainer.java, line(s) 35 com/th3rdwave/safeareacontext/SafeAreaView.java, line(s) 107 com/zoontek/rnpermissions/RNPermissionsModuleImpl.java, line(s) 282 io/grpc/android/AndroidChannelBuilder.java, line(s) 44,47,51,55,124 io/grpc/okhttp/internal/Platform.java, line(s) 70 io/invertase/firebase/app/ReactNativeFirebaseApp.java, line(s) 16 io/invertase/firebase/app/ReactNativeFirebaseAppModule.java, line(s) 53 io/invertase/firebase/auth/ReactNativeFirebaseAuthModule.java, line(s) 103,109,128,131,139,145,169,175,186,218,229,236,243,251,263,278,289,304,306,316,331,342,357,368,383,394,401,418,429,441,453,469,482,498,511,532,545,566,579,595,608,624,647,659,672,696,712,724,786,791,796,801,807,850,875,1001,1048,1055,1066,1078,1093,1101,1112,1129,1140,1151,1163,1174,1185,1211,1226,1245,1294,1299,1304,1309,1316,1331,1349,1364,1383,1432,1437,1442,1447,1551,1567,1578,1594,1614,1625,1638,1664,1675,283,310,336,362,388,395,422,445,462,473,485,502,514,536,548,570,582,599,611,628,645,663,675,700,728,866,1005,1059,1144,1167,1198,1230,1335,1368,1571,1607,1679 io/invertase/firebase/common/RCTConvertFirebase.java, line(s) 159 io/invertase/firebase/common/ReactNativeFirebaseEventEmitter.java, line(s) 147 io/invertase/firebase/common/SharedUtils.java, line(s) 88,340,448,147 io/invertase/firebase/firestore/ReactNativeFirebaseFirestoreSerialize.java, line(s) 292 io/invertase/firebase/messaging/ReactNativeFirebaseMessagingModule.java, line(s) 82 io/invertase/firebase/messaging/ReactNativeFirebaseMessagingReceiver.java, line(s) 20,41 io/invertase/firebase/utils/ReactNativeFirebaseUtilsModule.java, line(s) 70 net/time4j/android/ApplicationStarter.java, line(s) 105,54,58,84,100,101,102,103 net/time4j/base/ResourceLoader.java, line(s) 87,113 net/time4j/format/expert/ChronoFormatter.java, line(s) 499,540,589,593,1005,1032,1062,1081,1102,1393,1399,562,587,590,949,952,1010,1025,1033,1072,1076,1082,1097,1149,1153,1266,1286,1292,1336,1417,1450 net/time4j/format/expert/CustomizedProcessor.java, line(s) 101,107 net/time4j/format/expert/DecimalProcessor.java, line(s) 174,136,137,164,169,172,190,192 net/time4j/format/expert/FormatStep.java, line(s) 181,176,179,187,195,331 net/time4j/format/expert/FractionProcessor.java, line(s) 146,139,158,171,182,191 net/time4j/format/expert/IgnorableWhitespaceProcessor.java, line(s) 49 net/time4j/format/expert/Iso8601Format.java, line(s) 79,93 net/time4j/format/expert/LiteralProcessor.java, line(s) 114,177,180,201,343 net/time4j/format/expert/LocalizedGMTProcessor.java, line(s) 194,238,241,255,258,271,283,286,305,308,313,350,353 net/time4j/format/expert/LookupProcessor.java, line(s) 78,79,98,110,118 net/time4j/format/expert/MultiFormatParser.java, line(s) 37,50,65,35,48,54,63,69 net/time4j/format/expert/NumberProcessor.java, line(s) 376,326,327,332,348,353,356,360,368,369,377,381,425,429,437,445,502,511,517,520,526,533,535,549,555,560 net/time4j/format/expert/OrdinalProcessor.java, line(s) 121,122,154,158,165,172,176 net/time4j/format/expert/SkipProcessor.java, line(s) 75 net/time4j/format/expert/StyleProcessor.java, line(s) 79 net/time4j/format/expert/TextProcessor.java, line(s) 97,83,84,99,111,114 net/time4j/format/expert/TimezoneGenericProcessor.java, line(s) 121,143,184,189,192 net/time4j/format/expert/TimezoneIDProcessor.java, line(s) 44,59,63,68,73,78,94,100 net/time4j/format/expert/TimezoneNameProcessor.java, line(s) 116,142,213,230,232 net/time4j/format/expert/TimezoneOffsetProcessor.java, line(s) 175,190,206,219,222,233,236,247,250,261,273,295,302,322,325 net/time4j/format/expert/TwoDigitYearProcessor.java, line(s) 99,100,129,133,140 net/time4j/i18n/WeekdataProviderSPI.java, line(s) 141 net/time4j/tz/spi/ZoneNameProviderSPI.java, line(s) 151 org/reactnative/facedetector/tasks/FileFaceDetectionAsyncTask.java, line(s) 86
安全 此应用程序使用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: io/grpc/okhttp/OkHttpChannelBuilder.java, line(s) 418,419,506,432,504,504 io/grpc/okhttp/OkHttpServerBuilder.java, line(s) 263,264,277 io/grpc/util/AdvancedTlsX509TrustManager.java, line(s) 109,99,107,107,125
安全 此应用程序没有隐私跟踪程序
此应用程序不包括任何用户或设备跟踪器。在静态分析期间没有找到任何跟踪器。
关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (docs.swmansion.com) 通信。
{'ip': '180.163.151.162', 'country_short': 'CN', 'country_long': '中国', 'region': '江苏', 'city': '无锡', 'latitude': '31.569349', 'longitude': '120.288788'}
关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (www.recaptcha.net) 通信。
{'ip': '180.163.151.162', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}
关注 应用程序可能与位于OFAC制裁国家 (中国) 的服务器 (www.gstatic.cn) 通信。
{'ip': '180.163.151.162', 'country_short': 'CN', 'country_long': '中国', 'region': '上海', 'city': '上海', 'latitude': '31.224333', 'longitude': '121.468948'}