freerasp-react-native 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [3.12.0] - 2024-12-06
9
+
10
+ - iOS SDK version: 6.6.3
11
+ - Android SDK version: 13.0.0
12
+
13
+ ### React Native
14
+
15
+ #### Changed
16
+
17
+ - App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the `getAppIcon` method
18
+ - Parsing of malware data is now async
19
+
20
+ ### Android
21
+
22
+ #### Changed
23
+
24
+ - Malware data is now parsed on background thread to improve responsiveness
25
+
8
26
  ## [3.11.0] - 2024-11-19
9
27
 
10
28
  ### React Native
@@ -1,10 +1,14 @@
1
1
  package com.freeraspreactnative
2
2
 
3
+ import android.os.Handler
4
+ import android.os.HandlerThread
5
+ import android.os.Looper
3
6
  import com.aheaditec.talsec_security.security.api.SuspiciousAppInfo
4
7
  import com.aheaditec.talsec_security.security.api.Talsec
5
8
  import com.aheaditec.talsec_security.security.api.TalsecConfig
6
9
  import com.aheaditec.talsec_security.security.api.ThreatListener
7
10
  import com.facebook.react.bridge.Arguments
11
+ import com.facebook.react.bridge.LifecycleEventListener
8
12
  import com.facebook.react.bridge.Promise
9
13
  import com.facebook.react.bridge.ReactApplicationContext
10
14
  import com.facebook.react.bridge.ReactContextBaseJavaModule
@@ -13,6 +17,7 @@ import com.facebook.react.bridge.ReadableMap
13
17
  import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
14
18
  import com.facebook.react.bridge.WritableArray
15
19
  import com.facebook.react.modules.core.DeviceEventManagerModule
20
+ import com.freeraspreactnative.utils.Utils
16
21
  import com.freeraspreactnative.utils.getArraySafe
17
22
  import com.freeraspreactnative.utils.getBooleanSafe
18
23
  import com.freeraspreactnative.utils.getMapThrowing
@@ -24,6 +29,19 @@ class FreeraspReactNativeModule(private val reactContext: ReactApplicationContex
24
29
  ReactContextBaseJavaModule(reactContext) {
25
30
 
26
31
  private val listener = ThreatListener(FreeraspThreatHandler, FreeraspThreatHandler)
32
+ private val lifecycleListener = object : LifecycleEventListener {
33
+ override fun onHostResume() {
34
+ // do nothing
35
+ }
36
+
37
+ override fun onHostPause() {
38
+ // do nothing
39
+ }
40
+
41
+ override fun onHostDestroy() {
42
+ backgroundHandlerThread.quitSafely()
43
+ }
44
+ }
27
45
 
28
46
  override fun getName(): String {
29
47
  return NAME
@@ -31,6 +49,7 @@ class FreeraspReactNativeModule(private val reactContext: ReactApplicationContex
31
49
 
32
50
  init {
33
51
  appReactContext = reactContext
52
+ reactContext.addLifecycleEventListener(lifecycleListener)
34
53
  }
35
54
 
36
55
  @ReactMethod
@@ -103,6 +122,20 @@ class FreeraspReactNativeModule(private val reactContext: ReactApplicationContex
103
122
  promise.resolve(true)
104
123
  }
105
124
 
125
+ /**
126
+ * Method retrieves app icon for the given parameter
127
+ * @param packageName package name of the app we want to retrieve icon for
128
+ * @return PNG with app icon encoded as a base64 string
129
+ */
130
+ @ReactMethod
131
+ fun getAppIcon(packageName: String, promise: Promise) {
132
+ // Perform the app icon encoding on a background thread
133
+ backgroundHandler.post {
134
+ val encodedData = Utils.getAppIconAsBase64String(reactContext, packageName)
135
+ mainHandler.post { promise.resolve(encodedData) }
136
+ }
137
+ }
138
+
106
139
  private fun buildTalsecConfig(config: ReadableMap): TalsecConfig {
107
140
  val androidConfig = config.getMapThrowing("androidConfig")
108
141
  val packageName = androidConfig.getStringThrowing("packageName")
@@ -126,13 +159,19 @@ class FreeraspReactNativeModule(private val reactContext: ReactApplicationContex
126
159
 
127
160
  companion object {
128
161
  const val NAME = "FreeraspReactNative"
129
- val THREAT_CHANNEL_NAME = (10000..999999999).random()
162
+ private val THREAT_CHANNEL_NAME = (10000..999999999).random()
130
163
  .toString() // name of the channel over which threat callbacks are sent
131
- val THREAT_CHANNEL_KEY = (10000..999999999).random()
164
+ private val THREAT_CHANNEL_KEY = (10000..999999999).random()
132
165
  .toString() // key of the argument map under which threats are expected
133
- val MALWARE_CHANNEL_KEY = (10000..999999999).random()
166
+ private val MALWARE_CHANNEL_KEY = (10000..999999999).random()
134
167
  .toString() // key of the argument map under which malware data is expected
168
+
169
+ private val backgroundHandlerThread = HandlerThread("BackgroundThread").apply { start() }
170
+ private val backgroundHandler = Handler(backgroundHandlerThread.looper)
171
+ private val mainHandler = Handler(Looper.getMainLooper())
172
+
135
173
  private lateinit var appReactContext: ReactApplicationContext
174
+
136
175
  private fun notifyListeners(threat: Threat) {
137
176
  val params = Arguments.createMap()
138
177
  params.putInt(THREAT_CHANNEL_KEY, threat.value)
@@ -145,15 +184,23 @@ class FreeraspReactNativeModule(private val reactContext: ReactApplicationContex
145
184
  * Sends malware detected event to React Native
146
185
  */
147
186
  private fun notifyMalware(suspiciousApps: MutableList<SuspiciousAppInfo>) {
148
- val params = Arguments.createMap()
149
- params.putInt(THREAT_CHANNEL_KEY, Threat.Malware.value)
150
- params.putArray(
151
- MALWARE_CHANNEL_KEY, suspiciousApps.toEncodedWritableArray(appReactContext)
152
- )
153
-
154
- appReactContext
155
- .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
156
- .emit(THREAT_CHANNEL_NAME, params)
187
+ // Perform the malware encoding on a background thread
188
+ backgroundHandler.post {
189
+
190
+ val encodedSuspiciousApps = suspiciousApps.toEncodedWritableArray(appReactContext)
191
+
192
+ mainHandler.post {
193
+ val params = Arguments.createMap()
194
+ params.putInt(THREAT_CHANNEL_KEY, Threat.Malware.value)
195
+ params.putArray(
196
+ MALWARE_CHANNEL_KEY, encodedSuspiciousApps
197
+ )
198
+
199
+ appReactContext
200
+ .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
201
+ .emit(THREAT_CHANNEL_NAME, params)
202
+ }
203
+ }
157
204
  }
158
205
  }
159
206
 
@@ -86,7 +86,7 @@ internal fun PackageInfo.toRNPackageInfo(context: ReactContext): RNPackageInfo {
86
86
  packageName = this.packageName,
87
87
  appName = Utils.getAppName(context, this.applicationInfo),
88
88
  version = this.versionName,
89
- appIcon = Utils.getAppIconAsBase64String(context, this.packageName),
89
+ appIcon = null, // this requires heavier computations, so appIcon has to be retrieved separately
90
90
  installerStore = Utils.getInstallationSource(context, this.packageName)
91
91
  )
92
92
  }
@@ -75,7 +75,10 @@ internal object Utils {
75
75
  context.packageManager.getInstallerPackageName(packageName)
76
76
  }
77
77
  } catch (e: Exception) {
78
- Log.e("Talsec", "Could not retrieve app installation source for ${packageName}: ${e.message}")
78
+ Log.e(
79
+ "Talsec",
80
+ "Could not retrieve app installation source for ${packageName}: ${e.message}",
81
+ )
79
82
  null
80
83
  }
81
84
  }
@@ -1,8 +1,12 @@
1
1
  import { Button, HStack } from '@react-native-material/core';
2
- import { addToWhitelist, type SuspiciousAppInfo } from 'freerasp-react-native';
2
+ import {
3
+ addToWhitelist,
4
+ getAppIcon,
5
+ type SuspiciousAppInfo,
6
+ } from 'freerasp-react-native';
3
7
  import ArrowUp from '../assets/arrow-up.png';
4
8
  import ArrowDown from '../assets/arrow-down.png';
5
- import React from 'react';
9
+ import React, { useEffect } from 'react';
6
10
  import { useState } from 'react';
7
11
  import { TouchableOpacity, View, Text, Image, StyleSheet } from 'react-native';
8
12
  import { Colors } from './styles';
@@ -10,6 +14,14 @@ import { Colors } from './styles';
10
14
  export const MalwareItem: React.FC<{ app: SuspiciousAppInfo }> = ({ app }) => {
11
15
  const [expanded, setExpanded] = useState(false);
12
16
 
17
+ useEffect(() => {
18
+ (async () => {
19
+ // retrieve app icons for detected malware
20
+ const appIcon = await getAppIcon(app.packageInfo.packageName);
21
+ app.packageInfo.appIcon = appIcon;
22
+ })();
23
+ }, [app.packageInfo]);
24
+
13
25
  const appUninstall = async () => {
14
26
  alert('Implement yourself!');
15
27
  };
@@ -94,19 +106,6 @@ export const MalwareItem: React.FC<{ app: SuspiciousAppInfo }> = ({ app }) => {
94
106
  };
95
107
 
96
108
  const styles = StyleSheet.create({
97
- button: {
98
- borderRadius: 20,
99
- paddingHorizontal: 30,
100
- paddingVertical: 10,
101
- marginTop: 15,
102
- elevation: 2,
103
- },
104
- buttonOpen: {
105
- backgroundColor: '#F194FF',
106
- },
107
- buttonClose: {
108
- backgroundColor: '#2196F3',
109
- },
110
109
  item: {
111
110
  backgroundColor: '#d4e4ff',
112
111
  borderRadius: 20,
@@ -8,9 +8,10 @@ var _exportNames = {
8
8
  removeThreatListeners: true,
9
9
  talsecStart: true,
10
10
  useFreeRasp: true,
11
- addToWhitelist: true
11
+ addToWhitelist: true,
12
+ getAppIcon: true
12
13
  };
13
- exports.useFreeRasp = exports.talsecStart = exports.setThreatListeners = exports.removeThreatListeners = exports.default = exports.addToWhitelist = void 0;
14
+ exports.useFreeRasp = exports.talsecStart = exports.setThreatListeners = exports.removeThreatListeners = exports.getAppIcon = exports.default = exports.addToWhitelist = void 0;
14
15
  var _react = require("react");
15
16
  var _reactNative = require("react-native");
16
17
  var _utils = require("./utils");
@@ -60,8 +61,14 @@ const prepareMapping = async () => {
60
61
  };
61
62
 
62
63
  // parses base64-encoded malware data to SuspiciousAppInfo[]
63
- const parseMalwareData = data => {
64
- return data.map(entry => toSuspiciousAppInfo(entry));
64
+ const parseMalwareData = async data => {
65
+ return new Promise((resolve, reject) => {
66
+ try {
67
+ resolve(data.map(entry => toSuspiciousAppInfo(entry)));
68
+ } catch (error) {
69
+ reject(`Error while parsing app data: ${error}`);
70
+ }
71
+ });
65
72
  };
66
73
  const toSuspiciousAppInfo = base64Value => {
67
74
  const data = JSON.parse(_buffer.Buffer.from(base64Value, 'base64').toString('utf8'));
@@ -74,7 +81,7 @@ const toSuspiciousAppInfo = base64Value => {
74
81
  const setThreatListeners = async config => {
75
82
  const [channel, key, malwareKey] = await getThreatChannelData();
76
83
  await prepareMapping();
77
- eventsListener = eventEmitter.addListener(channel, event => {
84
+ eventsListener = eventEmitter.addListener(channel, async event => {
78
85
  var _config$privilegedAcc, _config$debug, _config$simulator, _config$appIntegrity, _config$unofficialSto, _config$hooks, _config$deviceBinding, _config$passcode, _config$secureHardwar, _config$obfuscationIs, _config$deviceID, _config$devMode, _config$systemVPN, _config$malware, _config$adbEnabled;
79
86
  if (event[key] === undefined) {
80
87
  onInvalidCallback();
@@ -120,7 +127,7 @@ const setThreatListeners = async config => {
120
127
  (_config$systemVPN = config.systemVPN) === null || _config$systemVPN === void 0 || _config$systemVPN.call(config);
121
128
  break;
122
129
  case _threat.Threat.Malware.value:
123
- (_config$malware = config.malware) === null || _config$malware === void 0 || _config$malware.call(config, parseMalwareData(event[malwareKey]));
130
+ (_config$malware = config.malware) === null || _config$malware === void 0 || _config$malware.call(config, await parseMalwareData(event[malwareKey]));
124
131
  break;
125
132
  case _threat.Threat.ADBEnabled.value:
126
133
  (_config$adbEnabled = config.adbEnabled) === null || _config$adbEnabled === void 0 || _config$adbEnabled.call(config);
@@ -168,5 +175,12 @@ const addToWhitelist = async packageName => {
168
175
  return FreeraspReactNative.addToWhitelist(packageName);
169
176
  };
170
177
  exports.addToWhitelist = addToWhitelist;
178
+ const getAppIcon = packageName => {
179
+ if (_reactNative.Platform.OS === 'ios') {
180
+ return Promise.reject('App icon retrieval for Malware detection not available on iOS');
181
+ }
182
+ return FreeraspReactNative.getAppIcon(packageName);
183
+ };
184
+ exports.getAppIcon = getAppIcon;
171
185
  var _default = exports.default = FreeraspReactNative;
172
186
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_utils","_buffer","_threat","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","FreeraspReactNative","NativeModules","eventEmitter","NativeEventEmitter","eventsListener","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatCount","itemsHaveType","getThreatChannelData","dataLength","Platform","OS","data","prepareMapping","newValues","threats","Threat","getValues","map","threat","index","value","parseMalwareData","entry","toSuspiciousAppInfo","base64Value","JSON","parse","Buffer","from","toString","packageInfo","reason","setThreatListeners","config","channel","malwareKey","addListener","event","_config$privilegedAcc","_config$debug","_config$simulator","_config$appIntegrity","_config$unofficialSto","_config$hooks","_config$deviceBinding","_config$passcode","_config$secureHardwar","_config$obfuscationIs","_config$deviceID","_config$devMode","_config$systemVPN","_config$malware","_config$adbEnabled","undefined","PrivilegedAccess","privilegedAccess","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","DeviceID","deviceID","DevMode","devMode","SystemVPN","systemVPN","Malware","malware","ADBEnabled","adbEnabled","removeThreatListeners","remove","talsecStart","options","useFreeRasp","actions","useEffect","response","console","log","e","error","code","message","addToWhitelist","packageName","Promise","reject","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAYA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AA0JA,IAAAK,MAAA,GAAAL,OAAA;AAAAM,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAxJA,MAAM;EAAES;AAAoB,CAAC,GAAGC,0BAAa;AAE7C,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAACH,mBAAmB,CAAC;AAChE,IAAII,cAAmC;AAEvC,MAAMC,iBAAiB,GAAGA,CAAA,KAAY;EACpCL,mBAAmB,CAACK,iBAAiB,CAAC,CAAC;AACzC,CAAC;AAED,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAA+B;EAC1D,IAAIC,WAAW,GAAG,MAAMP,mBAAmB,CAACM,oBAAoB,CAAC,CAAC;EAClE,IACEC,WAAW,CAACC,MAAM,KAAK,IAAAC,qBAAc,EAAC,CAAC,IACvC,CAAC,IAAAC,oBAAa,EAACH,WAAW,EAAE,QAAQ,CAAC,EACrC;IACAF,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOE,WAAW;AACpB,CAAC;AAED,MAAMI,oBAAoB,GAAG,MAAAA,CAAA,KAA+C;EAC1E,MAAMC,UAAU,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;EAChD,IAAIC,IAAI,GAAG,MAAMf,mBAAmB,CAACW,oBAAoB,CAAC,CAAC;EAC3D,IAAII,IAAI,CAACP,MAAM,KAAKI,UAAU,IAAI,CAAC,IAAAF,oBAAa,EAACK,IAAI,EAAE,QAAQ,CAAC,EAAE;IAChEV,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOU,IAAI;AACb,CAAC;AAED,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAA2B;EAChD,MAAMC,SAAS,GAAG,MAAMX,oBAAoB,CAAC,CAAC;EAC9C,MAAMY,OAAO,GAAGC,cAAM,CAACC,SAAS,CAAC,CAAC;EAElCF,OAAO,CAACG,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC7BD,MAAM,CAACE,KAAK,GAAGP,SAAS,CAACM,KAAK,CAAE;EAClC,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,MAAME,gBAAgB,GAAIV,IAAc,IAA0B;EAChE,OAAOA,IAAI,CAACM,GAAG,CAAEK,KAAK,IAAKC,mBAAmB,CAACD,KAAK,CAAC,CAAC;AACxD,CAAC;AAED,MAAMC,mBAAmB,GAAIC,WAAmB,IAAwB;EACtE,MAAMb,IAAI,GAAGc,IAAI,CAACC,KAAK,CAACC,cAAM,CAACC,IAAI,CAACJ,WAAW,EAAE,QAAQ,CAAC,CAACK,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGnB,IAAI,CAACmB,WAA0B;EACnD,OAAO;IAAEA,WAAW;IAAEC,MAAM,EAAEpB,IAAI,CAACoB;EAAO,CAAC;AAC7C,CAAC;AAEM,MAAMC,kBAAkB,GAAG,MAChCC,MAAyE,IACtE;EACH,MAAM,CAACC,OAAO,EAAE/C,GAAG,EAAEgD,UAAU,CAAC,GAAG,MAAM5B,oBAAoB,CAAC,CAAC;EAC/D,MAAMK,cAAc,CAAC,CAAC;EAEtBZ,cAAc,GAAGF,YAAY,CAACsC,WAAW,CAACF,OAAO,EAAGG,KAAK,IAAK;IAAA,IAAAC,qBAAA,EAAAC,aAAA,EAAAC,iBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,kBAAA;IAC5D,IAAIf,KAAK,CAAClD,GAAG,CAAC,KAAKkE,SAAS,EAAE;MAC5BpD,iBAAiB,CAAC,CAAC;IACrB;IACA,QAAQoC,KAAK,CAAClD,GAAG,CAAC;MAChB,KAAK4B,cAAM,CAACuC,gBAAgB,CAAClC,KAAK;QAChC,CAAAkB,qBAAA,GAAAL,MAAM,CAACsB,gBAAgB,cAAAjB,qBAAA,eAAvBA,qBAAA,CAAAhD,IAAA,CAAA2C,MAA0B,CAAC;QAC3B;MACF,KAAKlB,cAAM,CAACyC,KAAK,CAACpC,KAAK;QACrB,CAAAmB,aAAA,GAAAN,MAAM,CAACwB,KAAK,cAAAlB,aAAA,eAAZA,aAAA,CAAAjD,IAAA,CAAA2C,MAAe,CAAC;QAChB;MACF,KAAKlB,cAAM,CAAC2C,SAAS,CAACtC,KAAK;QACzB,CAAAoB,iBAAA,GAAAP,MAAM,CAAC0B,SAAS,cAAAnB,iBAAA,eAAhBA,iBAAA,CAAAlD,IAAA,CAAA2C,MAAmB,CAAC;QACpB;MACF,KAAKlB,cAAM,CAAC6C,YAAY,CAACxC,KAAK;QAC5B,CAAAqB,oBAAA,GAAAR,MAAM,CAAC4B,YAAY,cAAApB,oBAAA,eAAnBA,oBAAA,CAAAnD,IAAA,CAAA2C,MAAsB,CAAC;QACvB;MACF,KAAKlB,cAAM,CAAC+C,eAAe,CAAC1C,KAAK;QAC/B,CAAAsB,qBAAA,GAAAT,MAAM,CAAC8B,eAAe,cAAArB,qBAAA,eAAtBA,qBAAA,CAAApD,IAAA,CAAA2C,MAAyB,CAAC;QAC1B;MACF,KAAKlB,cAAM,CAACiD,KAAK,CAAC5C,KAAK;QACrB,CAAAuB,aAAA,GAAAV,MAAM,CAACgC,KAAK,cAAAtB,aAAA,eAAZA,aAAA,CAAArD,IAAA,CAAA2C,MAAe,CAAC;QAChB;MACF,KAAKlB,cAAM,CAACmD,aAAa,CAAC9C,KAAK;QAC7B,CAAAwB,qBAAA,GAAAX,MAAM,CAACkC,aAAa,cAAAvB,qBAAA,eAApBA,qBAAA,CAAAtD,IAAA,CAAA2C,MAAuB,CAAC;QACxB;MACF,KAAKlB,cAAM,CAACqD,QAAQ,CAAChD,KAAK;QACxB,CAAAyB,gBAAA,GAAAZ,MAAM,CAACoC,QAAQ,cAAAxB,gBAAA,eAAfA,gBAAA,CAAAvD,IAAA,CAAA2C,MAAkB,CAAC;QACnB;MACF,KAAKlB,cAAM,CAACuD,0BAA0B,CAAClD,KAAK;QAC1C,CAAA0B,qBAAA,GAAAb,MAAM,CAACsC,0BAA0B,cAAAzB,qBAAA,eAAjCA,qBAAA,CAAAxD,IAAA,CAAA2C,MAAoC,CAAC;QACrC;MACF,KAAKlB,cAAM,CAACyD,iBAAiB,CAACpD,KAAK;QACjC,CAAA2B,qBAAA,GAAAd,MAAM,CAACwC,iBAAiB,cAAA1B,qBAAA,eAAxBA,qBAAA,CAAAzD,IAAA,CAAA2C,MAA2B,CAAC;QAC5B;MACF,KAAKlB,cAAM,CAAC2D,QAAQ,CAACtD,KAAK;QACxB,CAAA4B,gBAAA,GAAAf,MAAM,CAAC0C,QAAQ,cAAA3B,gBAAA,eAAfA,gBAAA,CAAA1D,IAAA,CAAA2C,MAAkB,CAAC;QACnB;MACF,KAAKlB,cAAM,CAAC6D,OAAO,CAACxD,KAAK;QACvB,CAAA6B,eAAA,GAAAhB,MAAM,CAAC4C,OAAO,cAAA5B,eAAA,eAAdA,eAAA,CAAA3D,IAAA,CAAA2C,MAAiB,CAAC;QAClB;MACF,KAAKlB,cAAM,CAAC+D,SAAS,CAAC1D,KAAK;QACzB,CAAA8B,iBAAA,GAAAjB,MAAM,CAAC8C,SAAS,cAAA7B,iBAAA,eAAhBA,iBAAA,CAAA5D,IAAA,CAAA2C,MAAmB,CAAC;QACpB;MACF,KAAKlB,cAAM,CAACiE,OAAO,CAAC5D,KAAK;QACvB,CAAA+B,eAAA,GAAAlB,MAAM,CAACgD,OAAO,cAAA9B,eAAA,eAAdA,eAAA,CAAA7D,IAAA,CAAA2C,MAAM,EAAWZ,gBAAgB,CAACgB,KAAK,CAACF,UAAU,CAAC,CAAC,CAAC;QACrD;MACF,KAAKpB,cAAM,CAACmE,UAAU,CAAC9D,KAAK;QAC1B,CAAAgC,kBAAA,GAAAnB,MAAM,CAACkD,UAAU,cAAA/B,kBAAA,eAAjBA,kBAAA,CAAA9D,IAAA,CAAA2C,MAAoB,CAAC;QACrB;MACF;QACEhC,iBAAiB,CAAC,CAAC;QACnB;IACJ;EACF,CAAC,CAAC;AACJ,CAAC;AAACT,OAAA,CAAAwC,kBAAA,GAAAA,kBAAA;AAEK,MAAMoD,qBAAqB,GAAGA,CAAA,KAAY;EAC/CpF,cAAc,CAACqF,MAAM,CAAC,CAAC;AACzB,CAAC;AAAC7F,OAAA,CAAA4F,qBAAA,GAAAA,qBAAA;AAEK,MAAME,WAAW,GAAG,MAAOC,OAAqB,IAAsB;EAC3E,OAAO3F,mBAAmB,CAAC0F,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAAC/F,OAAA,CAAA8F,WAAA,GAAAA,WAAA;AAEK,MAAME,WAAW,GAAGA,CACzBvD,MAAoB,EACpBwD,OAA0E,KACvE;EACH,IAAAC,gBAAS,EAAC,MAAM;IACd,CAAC,YAAY;MACX,MAAM1D,kBAAkB,CAACyD,OAAO,CAAC;MACjC,IAAI;QACF,IAAIE,QAAQ,GAAG,MAAML,WAAW,CAACrD,MAAM,CAAC;QACxC,IAAI0D,QAAQ,KAAK,kBAAkB,EAAE;UACnC1F,iBAAiB,CAAC,CAAC;QACrB;QACA2F,OAAO,CAACC,GAAG,CAACF,QAAQ,CAAC;MACvB,CAAC,CAAC,OAAOG,CAAM,EAAE;QACfF,OAAO,CAACG,KAAK,CAAE,GAAED,CAAC,CAACE,IAAK,KAAIF,CAAC,CAACG,OAAQ,EAAC,CAAC;MAC1C;MAEA,OAAO,MAAM;QACXb,qBAAqB,CAAC,CAAC;MACzB,CAAC;IACH,CAAC,EAAE,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAC5F,OAAA,CAAAgG,WAAA,GAAAA,WAAA;AAEK,MAAMU,cAAc,GAAG,MAAOC,WAAmB,IAAuB;EAC7E,IAAI1F,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO0F,OAAO,CAACC,MAAM,CAAC,wCAAwC,CAAC;EACjE;EACA,OAAOzG,mBAAmB,CAACsG,cAAc,CAACC,WAAW,CAAC;AACxD,CAAC;AAAC3G,OAAA,CAAA0G,cAAA,GAAAA,cAAA;AAAA,IAAAI,QAAA,GAAA9G,OAAA,CAAA+G,OAAA,GAGa3G,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_utils","_buffer","_threat","_types","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","FreeraspReactNative","NativeModules","eventEmitter","NativeEventEmitter","eventsListener","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatCount","itemsHaveType","getThreatChannelData","dataLength","Platform","OS","data","prepareMapping","newValues","threats","Threat","getValues","map","threat","index","value","parseMalwareData","Promise","resolve","reject","entry","toSuspiciousAppInfo","error","base64Value","JSON","parse","Buffer","from","toString","packageInfo","reason","setThreatListeners","config","channel","malwareKey","addListener","event","_config$privilegedAcc","_config$debug","_config$simulator","_config$appIntegrity","_config$unofficialSto","_config$hooks","_config$deviceBinding","_config$passcode","_config$secureHardwar","_config$obfuscationIs","_config$deviceID","_config$devMode","_config$systemVPN","_config$malware","_config$adbEnabled","undefined","PrivilegedAccess","privilegedAccess","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","DeviceID","deviceID","DevMode","devMode","SystemVPN","systemVPN","Malware","malware","ADBEnabled","adbEnabled","removeThreatListeners","remove","talsecStart","options","useFreeRasp","actions","useEffect","response","console","log","e","code","message","addToWhitelist","packageName","getAppIcon","_default","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAYA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AA2KA,IAAAK,MAAA,GAAAL,OAAA;AAAAM,MAAA,CAAAC,IAAA,CAAAF,MAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,MAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,MAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAzKA,MAAM;EAAES;AAAoB,CAAC,GAAGC,0BAAa;AAE7C,MAAMC,YAAY,GAAG,IAAIC,+BAAkB,CAACH,mBAAmB,CAAC;AAChE,IAAII,cAAmC;AAEvC,MAAMC,iBAAiB,GAAGA,CAAA,KAAY;EACpCL,mBAAmB,CAACK,iBAAiB,CAAC,CAAC;AACzC,CAAC;AAED,MAAMC,oBAAoB,GAAG,MAAAA,CAAA,KAA+B;EAC1D,IAAIC,WAAW,GAAG,MAAMP,mBAAmB,CAACM,oBAAoB,CAAC,CAAC;EAClE,IACEC,WAAW,CAACC,MAAM,KAAK,IAAAC,qBAAc,EAAC,CAAC,IACvC,CAAC,IAAAC,oBAAa,EAACH,WAAW,EAAE,QAAQ,CAAC,EACrC;IACAF,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOE,WAAW;AACpB,CAAC;AAED,MAAMI,oBAAoB,GAAG,MAAAA,CAAA,KAA+C;EAC1E,MAAMC,UAAU,GAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC;EAChD,IAAIC,IAAI,GAAG,MAAMf,mBAAmB,CAACW,oBAAoB,CAAC,CAAC;EAC3D,IAAII,IAAI,CAACP,MAAM,KAAKI,UAAU,IAAI,CAAC,IAAAF,oBAAa,EAACK,IAAI,EAAE,QAAQ,CAAC,EAAE;IAChEV,iBAAiB,CAAC,CAAC;EACrB;EACA,OAAOU,IAAI;AACb,CAAC;AAED,MAAMC,cAAc,GAAG,MAAAA,CAAA,KAA2B;EAChD,MAAMC,SAAS,GAAG,MAAMX,oBAAoB,CAAC,CAAC;EAC9C,MAAMY,OAAO,GAAGC,cAAM,CAACC,SAAS,CAAC,CAAC;EAElCF,OAAO,CAACG,GAAG,CAAC,CAACC,MAAM,EAAEC,KAAK,KAAK;IAC7BD,MAAM,CAACE,KAAK,GAAGP,SAAS,CAACM,KAAK,CAAE;EAClC,CAAC,CAAC;AACJ,CAAC;;AAED;AACA,MAAME,gBAAgB,GAAG,MACvBV,IAAc,IACmB;EACjC,OAAO,IAAIW,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI;MACFD,OAAO,CAACZ,IAAI,CAACM,GAAG,CAAEQ,KAAK,IAAKC,mBAAmB,CAACD,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,OAAOE,KAAU,EAAE;MACnBH,MAAM,CAAE,iCAAgCG,KAAM,EAAC,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAED,MAAMD,mBAAmB,GAAIE,WAAmB,IAAwB;EACtE,MAAMjB,IAAI,GAAGkB,IAAI,CAACC,KAAK,CAACC,cAAM,CAACC,IAAI,CAACJ,WAAW,EAAE,QAAQ,CAAC,CAACK,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGvB,IAAI,CAACuB,WAA0B;EACnD,OAAO;IAAEA,WAAW;IAAEC,MAAM,EAAExB,IAAI,CAACwB;EAAO,CAAC;AAC7C,CAAC;AAEM,MAAMC,kBAAkB,GAAG,MAChCC,MAAyE,IACtE;EACH,MAAM,CAACC,OAAO,EAAEnD,GAAG,EAAEoD,UAAU,CAAC,GAAG,MAAMhC,oBAAoB,CAAC,CAAC;EAC/D,MAAMK,cAAc,CAAC,CAAC;EAEtBZ,cAAc,GAAGF,YAAY,CAAC0C,WAAW,CAACF,OAAO,EAAE,MAAOG,KAAK,IAAK;IAAA,IAAAC,qBAAA,EAAAC,aAAA,EAAAC,iBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,aAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,kBAAA;IAClE,IAAIf,KAAK,CAACtD,GAAG,CAAC,KAAKsE,SAAS,EAAE;MAC5BxD,iBAAiB,CAAC,CAAC;IACrB;IACA,QAAQwC,KAAK,CAACtD,GAAG,CAAC;MAChB,KAAK4B,cAAM,CAAC2C,gBAAgB,CAACtC,KAAK;QAChC,CAAAsB,qBAAA,GAAAL,MAAM,CAACsB,gBAAgB,cAAAjB,qBAAA,eAAvBA,qBAAA,CAAApD,IAAA,CAAA+C,MAA0B,CAAC;QAC3B;MACF,KAAKtB,cAAM,CAAC6C,KAAK,CAACxC,KAAK;QACrB,CAAAuB,aAAA,GAAAN,MAAM,CAACwB,KAAK,cAAAlB,aAAA,eAAZA,aAAA,CAAArD,IAAA,CAAA+C,MAAe,CAAC;QAChB;MACF,KAAKtB,cAAM,CAAC+C,SAAS,CAAC1C,KAAK;QACzB,CAAAwB,iBAAA,GAAAP,MAAM,CAAC0B,SAAS,cAAAnB,iBAAA,eAAhBA,iBAAA,CAAAtD,IAAA,CAAA+C,MAAmB,CAAC;QACpB;MACF,KAAKtB,cAAM,CAACiD,YAAY,CAAC5C,KAAK;QAC5B,CAAAyB,oBAAA,GAAAR,MAAM,CAAC4B,YAAY,cAAApB,oBAAA,eAAnBA,oBAAA,CAAAvD,IAAA,CAAA+C,MAAsB,CAAC;QACvB;MACF,KAAKtB,cAAM,CAACmD,eAAe,CAAC9C,KAAK;QAC/B,CAAA0B,qBAAA,GAAAT,MAAM,CAAC8B,eAAe,cAAArB,qBAAA,eAAtBA,qBAAA,CAAAxD,IAAA,CAAA+C,MAAyB,CAAC;QAC1B;MACF,KAAKtB,cAAM,CAACqD,KAAK,CAAChD,KAAK;QACrB,CAAA2B,aAAA,GAAAV,MAAM,CAACgC,KAAK,cAAAtB,aAAA,eAAZA,aAAA,CAAAzD,IAAA,CAAA+C,MAAe,CAAC;QAChB;MACF,KAAKtB,cAAM,CAACuD,aAAa,CAAClD,KAAK;QAC7B,CAAA4B,qBAAA,GAAAX,MAAM,CAACkC,aAAa,cAAAvB,qBAAA,eAApBA,qBAAA,CAAA1D,IAAA,CAAA+C,MAAuB,CAAC;QACxB;MACF,KAAKtB,cAAM,CAACyD,QAAQ,CAACpD,KAAK;QACxB,CAAA6B,gBAAA,GAAAZ,MAAM,CAACoC,QAAQ,cAAAxB,gBAAA,eAAfA,gBAAA,CAAA3D,IAAA,CAAA+C,MAAkB,CAAC;QACnB;MACF,KAAKtB,cAAM,CAAC2D,0BAA0B,CAACtD,KAAK;QAC1C,CAAA8B,qBAAA,GAAAb,MAAM,CAACsC,0BAA0B,cAAAzB,qBAAA,eAAjCA,qBAAA,CAAA5D,IAAA,CAAA+C,MAAoC,CAAC;QACrC;MACF,KAAKtB,cAAM,CAAC6D,iBAAiB,CAACxD,KAAK;QACjC,CAAA+B,qBAAA,GAAAd,MAAM,CAACwC,iBAAiB,cAAA1B,qBAAA,eAAxBA,qBAAA,CAAA7D,IAAA,CAAA+C,MAA2B,CAAC;QAC5B;MACF,KAAKtB,cAAM,CAAC+D,QAAQ,CAAC1D,KAAK;QACxB,CAAAgC,gBAAA,GAAAf,MAAM,CAAC0C,QAAQ,cAAA3B,gBAAA,eAAfA,gBAAA,CAAA9D,IAAA,CAAA+C,MAAkB,CAAC;QACnB;MACF,KAAKtB,cAAM,CAACiE,OAAO,CAAC5D,KAAK;QACvB,CAAAiC,eAAA,GAAAhB,MAAM,CAAC4C,OAAO,cAAA5B,eAAA,eAAdA,eAAA,CAAA/D,IAAA,CAAA+C,MAAiB,CAAC;QAClB;MACF,KAAKtB,cAAM,CAACmE,SAAS,CAAC9D,KAAK;QACzB,CAAAkC,iBAAA,GAAAjB,MAAM,CAAC8C,SAAS,cAAA7B,iBAAA,eAAhBA,iBAAA,CAAAhE,IAAA,CAAA+C,MAAmB,CAAC;QACpB;MACF,KAAKtB,cAAM,CAACqE,OAAO,CAAChE,KAAK;QACvB,CAAAmC,eAAA,GAAAlB,MAAM,CAACgD,OAAO,cAAA9B,eAAA,eAAdA,eAAA,CAAAjE,IAAA,CAAA+C,MAAM,EAAW,MAAMhB,gBAAgB,CAACoB,KAAK,CAACF,UAAU,CAAC,CAAC,CAAC;QAC3D;MACF,KAAKxB,cAAM,CAACuE,UAAU,CAAClE,KAAK;QAC1B,CAAAoC,kBAAA,GAAAnB,MAAM,CAACkD,UAAU,cAAA/B,kBAAA,eAAjBA,kBAAA,CAAAlE,IAAA,CAAA+C,MAAoB,CAAC;QACrB;MACF;QACEpC,iBAAiB,CAAC,CAAC;QACnB;IACJ;EACF,CAAC,CAAC;AACJ,CAAC;AAACT,OAAA,CAAA4C,kBAAA,GAAAA,kBAAA;AAEK,MAAMoD,qBAAqB,GAAGA,CAAA,KAAY;EAC/CxF,cAAc,CAACyF,MAAM,CAAC,CAAC;AACzB,CAAC;AAACjG,OAAA,CAAAgG,qBAAA,GAAAA,qBAAA;AAEK,MAAME,WAAW,GAAG,MAAOC,OAAqB,IAAsB;EAC3E,OAAO/F,mBAAmB,CAAC8F,WAAW,CAACC,OAAO,CAAC;AACjD,CAAC;AAACnG,OAAA,CAAAkG,WAAA,GAAAA,WAAA;AAEK,MAAME,WAAW,GAAGA,CACzBvD,MAAoB,EACpBwD,OAA0E,KACvE;EACH,IAAAC,gBAAS,EAAC,MAAM;IACd,CAAC,YAAY;MACX,MAAM1D,kBAAkB,CAACyD,OAAO,CAAC;MACjC,IAAI;QACF,IAAIE,QAAQ,GAAG,MAAML,WAAW,CAACrD,MAAM,CAAC;QACxC,IAAI0D,QAAQ,KAAK,kBAAkB,EAAE;UACnC9F,iBAAiB,CAAC,CAAC;QACrB;QACA+F,OAAO,CAACC,GAAG,CAACF,QAAQ,CAAC;MACvB,CAAC,CAAC,OAAOG,CAAM,EAAE;QACfF,OAAO,CAACrE,KAAK,CAAE,GAAEuE,CAAC,CAACC,IAAK,KAAID,CAAC,CAACE,OAAQ,EAAC,CAAC;MAC1C;MAEA,OAAO,MAAM;QACXZ,qBAAqB,CAAC,CAAC;MACzB,CAAC;IACH,CAAC,EAAE,CAAC;IACJ;EACF,CAAC,EAAE,EAAE,CAAC;AACR,CAAC;AAAChG,OAAA,CAAAoG,WAAA,GAAAA,WAAA;AAEK,MAAMS,cAAc,GAAG,MAAOC,WAAmB,IAAuB;EAC7E,IAAI7F,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOY,OAAO,CAACE,MAAM,CAAC,wCAAwC,CAAC;EACjE;EACA,OAAO5B,mBAAmB,CAACyG,cAAc,CAACC,WAAW,CAAC;AACxD,CAAC;AAAC9G,OAAA,CAAA6G,cAAA,GAAAA,cAAA;AAEK,MAAME,UAAU,GAAID,WAAmB,IAAsB;EAClE,IAAI7F,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOY,OAAO,CAACE,MAAM,CACnB,+DACF,CAAC;EACH;EACA,OAAO5B,mBAAmB,CAAC2G,UAAU,CAACD,WAAW,CAAC;AACpD,CAAC;AAAC9G,OAAA,CAAA+G,UAAA,GAAAA,UAAA;AAAA,IAAAC,QAAA,GAAAhH,OAAA,CAAAiH,OAAA,GAGa7G,mBAAmB","ignoreList":[]}
@@ -35,8 +35,14 @@ const prepareMapping = async () => {
35
35
  };
36
36
 
37
37
  // parses base64-encoded malware data to SuspiciousAppInfo[]
38
- const parseMalwareData = data => {
39
- return data.map(entry => toSuspiciousAppInfo(entry));
38
+ const parseMalwareData = async data => {
39
+ return new Promise((resolve, reject) => {
40
+ try {
41
+ resolve(data.map(entry => toSuspiciousAppInfo(entry)));
42
+ } catch (error) {
43
+ reject(`Error while parsing app data: ${error}`);
44
+ }
45
+ });
40
46
  };
41
47
  const toSuspiciousAppInfo = base64Value => {
42
48
  const data = JSON.parse(Buffer.from(base64Value, 'base64').toString('utf8'));
@@ -49,7 +55,7 @@ const toSuspiciousAppInfo = base64Value => {
49
55
  export const setThreatListeners = async config => {
50
56
  const [channel, key, malwareKey] = await getThreatChannelData();
51
57
  await prepareMapping();
52
- eventsListener = eventEmitter.addListener(channel, event => {
58
+ eventsListener = eventEmitter.addListener(channel, async event => {
53
59
  var _config$privilegedAcc, _config$debug, _config$simulator, _config$appIntegrity, _config$unofficialSto, _config$hooks, _config$deviceBinding, _config$passcode, _config$secureHardwar, _config$obfuscationIs, _config$deviceID, _config$devMode, _config$systemVPN, _config$malware, _config$adbEnabled;
54
60
  if (event[key] === undefined) {
55
61
  onInvalidCallback();
@@ -95,7 +101,7 @@ export const setThreatListeners = async config => {
95
101
  (_config$systemVPN = config.systemVPN) === null || _config$systemVPN === void 0 || _config$systemVPN.call(config);
96
102
  break;
97
103
  case Threat.Malware.value:
98
- (_config$malware = config.malware) === null || _config$malware === void 0 || _config$malware.call(config, parseMalwareData(event[malwareKey]));
104
+ (_config$malware = config.malware) === null || _config$malware === void 0 || _config$malware.call(config, await parseMalwareData(event[malwareKey]));
99
105
  break;
100
106
  case Threat.ADBEnabled.value:
101
107
  (_config$adbEnabled = config.adbEnabled) === null || _config$adbEnabled === void 0 || _config$adbEnabled.call(config);
@@ -138,6 +144,12 @@ export const addToWhitelist = async packageName => {
138
144
  }
139
145
  return FreeraspReactNative.addToWhitelist(packageName);
140
146
  };
147
+ export const getAppIcon = packageName => {
148
+ if (Platform.OS === 'ios') {
149
+ return Promise.reject('App icon retrieval for Malware detection not available on iOS');
150
+ }
151
+ return FreeraspReactNative.getAppIcon(packageName);
152
+ };
141
153
  export * from './types';
142
154
  export default FreeraspReactNative;
143
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","NativeEventEmitter","NativeModules","Platform","getThreatCount","itemsHaveType","Buffer","Threat","FreeraspReactNative","eventEmitter","eventsListener","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatChannelData","dataLength","OS","data","prepareMapping","newValues","threats","getValues","map","threat","index","value","parseMalwareData","entry","toSuspiciousAppInfo","base64Value","JSON","parse","from","toString","packageInfo","reason","setThreatListeners","config","channel","key","malwareKey","addListener","event","_config$privilegedAcc","_config$debug","_config$simulator","_config$appIntegrity","_config$unofficialSto","_config$hooks","_config$deviceBinding","_config$passcode","_config$secureHardwar","_config$obfuscationIs","_config$deviceID","_config$devMode","_config$systemVPN","_config$malware","_config$adbEnabled","undefined","PrivilegedAccess","privilegedAccess","call","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","DeviceID","deviceID","DevMode","devMode","SystemVPN","systemVPN","Malware","malware","ADBEnabled","adbEnabled","removeThreatListeners","remove","talsecStart","options","useFreeRasp","actions","response","console","log","e","error","code","message","addToWhitelist","packageName","Promise","reject"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","NativeEventEmitter","NativeModules","Platform","getThreatCount","itemsHaveType","Buffer","Threat","FreeraspReactNative","eventEmitter","eventsListener","onInvalidCallback","getThreatIdentifiers","identifiers","length","getThreatChannelData","dataLength","OS","data","prepareMapping","newValues","threats","getValues","map","threat","index","value","parseMalwareData","Promise","resolve","reject","entry","toSuspiciousAppInfo","error","base64Value","JSON","parse","from","toString","packageInfo","reason","setThreatListeners","config","channel","key","malwareKey","addListener","event","_config$privilegedAcc","_config$debug","_config$simulator","_config$appIntegrity","_config$unofficialSto","_config$hooks","_config$deviceBinding","_config$passcode","_config$secureHardwar","_config$obfuscationIs","_config$deviceID","_config$devMode","_config$systemVPN","_config$malware","_config$adbEnabled","undefined","PrivilegedAccess","privilegedAccess","call","Debug","debug","Simulator","simulator","AppIntegrity","appIntegrity","UnofficialStore","unofficialStore","Hooks","hooks","DeviceBinding","deviceBinding","Passcode","passcode","SecureHardwareNotAvailable","secureHardwareNotAvailable","ObfuscationIssues","obfuscationIssues","DeviceID","deviceID","DevMode","devMode","SystemVPN","systemVPN","Malware","malware","ADBEnabled","adbEnabled","removeThreatListeners","remove","talsecStart","options","useFreeRasp","actions","response","console","log","e","code","message","addToWhitelist","packageName","getAppIcon"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ export declare const removeThreatListeners: () => void;
5
5
  export declare const talsecStart: (options: TalsecConfig) => Promise<string>;
6
6
  export declare const useFreeRasp: <T extends NativeEventEmitterActions>(config: TalsecConfig, actions: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>) => void;
7
7
  export declare const addToWhitelist: (packageName: string) => Promise<boolean>;
8
+ export declare const getAppIcon: (packageName: string) => Promise<string>;
8
9
  export * from './types';
9
10
  export default FreeraspReactNative;
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,yBAAyB,EAGzB,YAAY,EACb,MAAM,SAAS,CAAC;AAKjB,QAAA,MAAQ,mBAAmB,KAAkB,CAAC;AAiD9C,eAAO,MAAM,kBAAkB,gDACrB,CAAC,GAAG,OAAO,QAAQ,MAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,EAAE,EAAE,CAAC,kBA4D1E,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,IAExC,CAAC;AAEF,eAAO,MAAM,WAAW,YAAmB,YAAY,KAAG,QAAQ,MAAM,CAEvE,CAAC;AAEF,eAAO,MAAM,WAAW,gDACd,YAAY,WACX,CAAC,GAAG,OAAO,QAAQ,MAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,EAAE,EAAE,CAAC,SAqB3E,CAAC;AAEF,eAAO,MAAM,cAAc,gBAAuB,MAAM,KAAG,QAAQ,OAAO,CAKzE,CAAC;AAEF,cAAc,SAAS,CAAC;AACxB,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,yBAAyB,EAGzB,YAAY,EACb,MAAM,SAAS,CAAC;AAKjB,QAAA,MAAQ,mBAAmB,KAAkB,CAAC;AAyD9C,eAAO,MAAM,kBAAkB,gDACrB,CAAC,GAAG,OAAO,QAAQ,MAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,EAAE,EAAE,CAAC,kBA4D1E,CAAC;AAEF,eAAO,MAAM,qBAAqB,QAAO,IAExC,CAAC;AAEF,eAAO,MAAM,WAAW,YAAmB,YAAY,KAAG,QAAQ,MAAM,CAEvE,CAAC;AAEF,eAAO,MAAM,WAAW,gDACd,YAAY,WACX,CAAC,GAAG,OAAO,QAAQ,MAAM,CAAC,EAAE,MAAM,yBAAyB,CAAC,EAAE,EAAE,CAAC,SAqB3E,CAAC;AAEF,eAAO,MAAM,cAAc,gBAAuB,MAAM,KAAG,QAAQ,OAAO,CAKzE,CAAC;AAEF,eAAO,MAAM,UAAU,gBAAiB,MAAM,KAAG,QAAQ,MAAM,CAO9D,CAAC;AAEF,cAAc,SAAS,CAAC;AACxB,eAAe,mBAAmB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "freerasp-react-native",
3
- "version": "3.11.0",
3
+ "version": "3.12.0",
4
4
  "description": "React Native plugin for improving app security and threat monitoring on Android and iOS mobile devices.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -1,3 +1,4 @@
1
+ import { type ConfigPlugin } from '@expo/config-plugins';
1
2
  import { type PluginConfigType } from './pluginConfig';
2
3
  declare const _default: ConfigPlugin<PluginConfigType>;
3
4
  export default _default;
package/src/index.tsx CHANGED
@@ -54,8 +54,16 @@ const prepareMapping = async (): Promise<void> => {
54
54
  };
55
55
 
56
56
  // parses base64-encoded malware data to SuspiciousAppInfo[]
57
- const parseMalwareData = (data: string[]): SuspiciousAppInfo[] => {
58
- return data.map((entry) => toSuspiciousAppInfo(entry));
57
+ const parseMalwareData = async (
58
+ data: string[]
59
+ ): Promise<SuspiciousAppInfo[]> => {
60
+ return new Promise((resolve, reject) => {
61
+ try {
62
+ resolve(data.map((entry) => toSuspiciousAppInfo(entry)));
63
+ } catch (error: any) {
64
+ reject(`Error while parsing app data: ${error}`);
65
+ }
66
+ });
59
67
  };
60
68
 
61
69
  const toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {
@@ -70,7 +78,7 @@ export const setThreatListeners = async <T extends NativeEventEmitterActions>(
70
78
  const [channel, key, malwareKey] = await getThreatChannelData();
71
79
  await prepareMapping();
72
80
 
73
- eventsListener = eventEmitter.addListener(channel, (event) => {
81
+ eventsListener = eventEmitter.addListener(channel, async (event) => {
74
82
  if (event[key] === undefined) {
75
83
  onInvalidCallback();
76
84
  }
@@ -115,7 +123,7 @@ export const setThreatListeners = async <T extends NativeEventEmitterActions>(
115
123
  config.systemVPN?.();
116
124
  break;
117
125
  case Threat.Malware.value:
118
- config.malware?.(parseMalwareData(event[malwareKey]));
126
+ config.malware?.(await parseMalwareData(event[malwareKey]));
119
127
  break;
120
128
  case Threat.ADBEnabled.value:
121
129
  config.adbEnabled?.();
@@ -167,5 +175,14 @@ export const addToWhitelist = async (packageName: string): Promise<boolean> => {
167
175
  return FreeraspReactNative.addToWhitelist(packageName);
168
176
  };
169
177
 
178
+ export const getAppIcon = (packageName: string): Promise<string> => {
179
+ if (Platform.OS === 'ios') {
180
+ return Promise.reject(
181
+ 'App icon retrieval for Malware detection not available on iOS'
182
+ );
183
+ }
184
+ return FreeraspReactNative.getAppIcon(packageName);
185
+ };
186
+
170
187
  export * from './types';
171
188
  export default FreeraspReactNative;