freerasp-react-native 4.5.1 → 5.0.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 +56 -0
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +4 -7
- package/android/src/main/java/com/freeraspreactnative/PluginThreatHandler.kt +0 -5
- package/android/src/main/java/com/freeraspreactnative/dispatchers/ExecutionStateDispatcher.kt +1 -1
- package/android/src/main/java/com/freeraspreactnative/dispatchers/ThreatDispatcher.kt +1 -1
- package/android/src/main/java/com/freeraspreactnative/models/RNSuspiciousAppInfo.kt +1 -1
- package/android/src/main/java/com/freeraspreactnative/utils/Extensions.kt +22 -2
- package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources +51 -40
- package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +7 -7
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +4 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +193 -193
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/_CodeSignature/CodeResources +377 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +7 -7
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +4 -4
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +1 -1
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +124 -124
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +124 -124
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
- package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +17 -39
- package/lib/commonjs/api/methods/native.js +2 -1
- package/lib/commonjs/api/methods/native.js.map +1 -1
- package/lib/commonjs/utils/config.js +31 -0
- package/lib/commonjs/utils/config.js.map +1 -0
- package/lib/commonjs/utils/malware.js +1 -1
- package/lib/commonjs/utils/malware.js.map +1 -1
- package/lib/module/api/methods/native.js +2 -1
- package/lib/module/api/methods/native.js.map +1 -1
- package/lib/module/utils/config.js +23 -0
- package/lib/module/utils/config.js.map +1 -0
- package/lib/module/utils/malware.js +1 -1
- package/lib/module/utils/malware.js.map +1 -1
- package/lib/typescript/src/api/methods/native.d.ts.map +1 -1
- package/lib/typescript/src/types/types.d.ts +16 -8
- package/lib/typescript/src/types/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/config.d.ts +4 -0
- package/lib/typescript/src/utils/config.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/api/methods/native.ts +2 -1
- package/src/types/types.ts +25 -9
- package/src/utils/config.ts +42 -0
- package/src/utils/malware.ts +1 -1
- package/example/Gemfile +0 -10
- package/example/Gemfile.lock +0 -121
- package/example/android/app/build.gradle +0 -120
- package/example/android/app/debug.keystore +0 -0
- package/example/android/app/proguard-rules.pro +0 -10
- package/example/android/app/src/debug/AndroidManifest.xml +0 -9
- package/example/android/app/src/main/AndroidManifest.xml +0 -35
- package/example/android/app/src/main/java/com/freerasp/rn/example/MainActivity.kt +0 -22
- package/example/android/app/src/main/java/com/freerasp/rn/example/MainApplication.kt +0 -44
- package/example/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/example/android/app/src/main/res/values/strings.xml +0 -3
- package/example/android/app/src/main/res/values/styles.xml +0 -9
- package/example/android/build.gradle +0 -21
- package/example/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/example/android/gradle/wrapper/gradle-wrapper.properties +0 -7
- package/example/android/gradle.properties +0 -39
- package/example/android/gradlew +0 -251
- package/example/android/gradlew.bat +0 -94
- package/example/android/settings.gradle +0 -6
- package/example/app.json +0 -4
- package/example/assets/arrow-down.png +0 -0
- package/example/assets/arrow-up.png +0 -0
- package/example/assets/checkmark-circle-outline.png +0 -0
- package/example/assets/checkmark-circle-outline.svg +0 -1
- package/example/assets/close-circle-outline.png +0 -0
- package/example/assets/close-circle-outline.svg +0 -1
- package/example/assets/talsec-logo.png +0 -0
- package/example/index.d.ts +0 -1
- package/example/index.js +0 -9
- package/example/ios/FreeraspRNExample/AppDelegate.swift +0 -30
- package/example/ios/FreeraspRNExample/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
- package/example/ios/FreeraspRNExample/Images.xcassets/Contents.json +0 -6
- package/example/ios/FreeraspRNExample/Info.plist +0 -51
- package/example/ios/FreeraspRNExample/LaunchScreen.storyboard +0 -47
- package/example/ios/FreeraspRNExample/PrivacyInfo.xcprivacy +0 -37
- package/example/ios/FreeraspRNExample.xcodeproj/project.pbxproj +0 -488
- package/example/ios/FreeraspRNExample.xcodeproj/xcshareddata/xcschemes/FreeraspRNExample.xcscheme +0 -88
- package/example/ios/FreeraspRNExample.xcworkspace/contents.xcworkspacedata +0 -10
- package/example/ios/Podfile +0 -35
- package/example/metro.config.js +0 -39
- package/example/package.json +0 -42
- package/example/react-native.config.js +0 -10
- package/example/src/App.tsx +0 -329
- package/example/src/DemoApp.tsx +0 -392
- package/example/src/MalwareItem.tsx +0 -161
- package/example/src/MalwareModal.tsx +0 -116
- package/example/src/checks.ts +0 -28
- package/example/src/styles.ts +0 -10
- package/example/yarn.lock +0 -6263
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
</data>
|
|
15
15
|
<key>Headers/CurlWrapper.h</key>
|
|
16
16
|
<data>
|
|
17
|
-
|
|
17
|
+
+/BZdehMbZTktyXpd1TfVf9L1TE=
|
|
18
18
|
</data>
|
|
19
19
|
<key>Headers/TalsecRuntime-Swift.h</key>
|
|
20
20
|
<data>
|
|
21
|
-
|
|
21
|
+
/hUoXGGTi7vIdiKBlqtxp5Iwz54=
|
|
22
22
|
</data>
|
|
23
23
|
<key>Headers/TalsecRuntime_iOS.h</key>
|
|
24
24
|
<data>
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
</data>
|
|
27
27
|
<key>Headers/curl.h</key>
|
|
28
28
|
<data>
|
|
29
|
-
|
|
29
|
+
LvMb8KdGM9H1BRrKId0CgKpQD/I=
|
|
30
30
|
</data>
|
|
31
31
|
<key>Headers/curlver.h</key>
|
|
32
32
|
<data>
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
</data>
|
|
47
47
|
<key>Headers/multi.h</key>
|
|
48
48
|
<data>
|
|
49
|
-
|
|
49
|
+
WvSLoI6h5jIKte3k+mNbUFuFVpk=
|
|
50
50
|
</data>
|
|
51
51
|
<key>Headers/options.h</key>
|
|
52
52
|
<data>
|
|
53
|
-
|
|
53
|
+
GOKMw3bGfxoMmsny/FkGY3putw8=
|
|
54
54
|
</data>
|
|
55
55
|
<key>Headers/stdcheaders.h</key>
|
|
56
56
|
<data>
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
</data>
|
|
67
67
|
<key>Headers/urlapi.h</key>
|
|
68
68
|
<data>
|
|
69
|
-
|
|
69
|
+
VQyVIjrt8oYo9v0Xdb8pUFMMcK8=
|
|
70
70
|
</data>
|
|
71
71
|
<key>Headers/websockets.h</key>
|
|
72
72
|
<data>
|
|
@@ -74,11 +74,11 @@
|
|
|
74
74
|
</data>
|
|
75
75
|
<key>Info.plist</key>
|
|
76
76
|
<data>
|
|
77
|
-
|
|
77
|
+
eL5oFlB6wq1n2HB8CtBm1T2ZgRw=
|
|
78
78
|
</data>
|
|
79
79
|
<key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
|
|
80
80
|
<data>
|
|
81
|
-
|
|
81
|
+
pMnu+U/rFxEOr6qt1QqIToB3V+k=
|
|
82
82
|
</data>
|
|
83
83
|
<key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
84
84
|
<data>
|
|
@@ -92,13 +92,9 @@
|
|
|
92
92
|
<data>
|
|
93
93
|
llw484UKAnWPJb8CJpVj2CaHHDE=
|
|
94
94
|
</data>
|
|
95
|
-
<key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
|
|
96
|
-
<data>
|
|
97
|
-
LttgRhq4o3yYcdHcy5cq5RAOdXc=
|
|
98
|
-
</data>
|
|
99
95
|
<key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
100
96
|
<data>
|
|
101
|
-
|
|
97
|
+
pMnu+U/rFxEOr6qt1QqIToB3V+k=
|
|
102
98
|
</data>
|
|
103
99
|
<key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
104
100
|
<data>
|
|
@@ -112,10 +108,6 @@
|
|
|
112
108
|
<data>
|
|
113
109
|
4I0pGIDaoA0k3axTQo3rbxN5Nyc=
|
|
114
110
|
</data>
|
|
115
|
-
<key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
|
|
116
|
-
<data>
|
|
117
|
-
vOcUJx3m66QXlRxN6lAY0znCePM=
|
|
118
|
-
</data>
|
|
119
111
|
<key>Modules/module.modulemap</key>
|
|
120
112
|
<data>
|
|
121
113
|
5Cqpp15x1ZBnDyj7LgQmZiSGNYI=
|
|
@@ -153,14 +145,14 @@
|
|
|
153
145
|
<dict>
|
|
154
146
|
<key>hash2</key>
|
|
155
147
|
<data>
|
|
156
|
-
|
|
148
|
+
wPSwe3k7PIhN59OveXzb7euBGLsZpNDCe3rxi3qSacY=
|
|
157
149
|
</data>
|
|
158
150
|
</dict>
|
|
159
151
|
<key>Headers/TalsecRuntime-Swift.h</key>
|
|
160
152
|
<dict>
|
|
161
153
|
<key>hash2</key>
|
|
162
154
|
<data>
|
|
163
|
-
|
|
155
|
+
adt8Xcyxs1KLY/8S2qf012ln9H6nElyeVP+HNFcjHM4=
|
|
164
156
|
</data>
|
|
165
157
|
</dict>
|
|
166
158
|
<key>Headers/TalsecRuntime_iOS.h</key>
|
|
@@ -174,7 +166,7 @@
|
|
|
174
166
|
<dict>
|
|
175
167
|
<key>hash2</key>
|
|
176
168
|
<data>
|
|
177
|
-
|
|
169
|
+
u/SMN3beuzx0i2dt5e+l0JuybPQnoQxyGFOidtmUiuI=
|
|
178
170
|
</data>
|
|
179
171
|
</dict>
|
|
180
172
|
<key>Headers/curlver.h</key>
|
|
@@ -209,14 +201,14 @@
|
|
|
209
201
|
<dict>
|
|
210
202
|
<key>hash2</key>
|
|
211
203
|
<data>
|
|
212
|
-
|
|
204
|
+
yk/hky4WUCrFatYr3HMyyCgfMOytFyCTbgN8q7cxxdc=
|
|
213
205
|
</data>
|
|
214
206
|
</dict>
|
|
215
207
|
<key>Headers/options.h</key>
|
|
216
208
|
<dict>
|
|
217
209
|
<key>hash2</key>
|
|
218
210
|
<data>
|
|
219
|
-
|
|
211
|
+
cJIaFXm+hGzgpoSmWUWKB06w1VdqPmWQvY70kcfbGBg=
|
|
220
212
|
</data>
|
|
221
213
|
</dict>
|
|
222
214
|
<key>Headers/stdcheaders.h</key>
|
|
@@ -244,7 +236,7 @@
|
|
|
244
236
|
<dict>
|
|
245
237
|
<key>hash2</key>
|
|
246
238
|
<data>
|
|
247
|
-
|
|
239
|
+
E7gKC6f/76z3wisiOh4O5LEK4UPtG8h7qY2QGjvOctE=
|
|
248
240
|
</data>
|
|
249
241
|
</dict>
|
|
250
242
|
<key>Headers/websockets.h</key>
|
|
@@ -258,7 +250,7 @@
|
|
|
258
250
|
<dict>
|
|
259
251
|
<key>hash2</key>
|
|
260
252
|
<data>
|
|
261
|
-
|
|
253
|
+
M2tkP6t2EGgayYHcgC1xOjoiFwWwoBeyiI8jVBJ6ya0=
|
|
262
254
|
</data>
|
|
263
255
|
</dict>
|
|
264
256
|
<key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
@@ -282,18 +274,11 @@
|
|
|
282
274
|
haSQY3upZ2WR6JkXg/Jxpph+ny4EtTDUg9TVsWeNUoU=
|
|
283
275
|
</data>
|
|
284
276
|
</dict>
|
|
285
|
-
<key>Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
|
|
286
|
-
<dict>
|
|
287
|
-
<key>hash2</key>
|
|
288
|
-
<data>
|
|
289
|
-
tNrv+TUhk0hLua39mizAcIc5slauiky7fxSAR1jmXd0=
|
|
290
|
-
</data>
|
|
291
|
-
</dict>
|
|
292
277
|
<key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
293
278
|
<dict>
|
|
294
279
|
<key>hash2</key>
|
|
295
280
|
<data>
|
|
296
|
-
|
|
281
|
+
M2tkP6t2EGgayYHcgC1xOjoiFwWwoBeyiI8jVBJ6ya0=
|
|
297
282
|
</data>
|
|
298
283
|
</dict>
|
|
299
284
|
<key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
@@ -317,13 +302,6 @@
|
|
|
317
302
|
1mruU/68fB6bnmgfh09YUKQnRXtJD6ahwH7mRkndURw=
|
|
318
303
|
</data>
|
|
319
304
|
</dict>
|
|
320
|
-
<key>Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
|
|
321
|
-
<dict>
|
|
322
|
-
<key>hash2</key>
|
|
323
|
-
<data>
|
|
324
|
-
319zfBpqehW38ijFsp2TMSYX+bwCbKY2TrBW52cK1IM=
|
|
325
|
-
</data>
|
|
326
|
-
</dict>
|
|
327
305
|
<key>Modules/module.modulemap</key>
|
|
328
306
|
<dict>
|
|
329
307
|
<key>hash2</key>
|
|
@@ -6,8 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.talsecStart = exports.storeExternalId = exports.removeListenerForEvent = exports.removeExternalId = exports.onInvalidCallback = exports.isScreenCaptureBlocked = exports.getAppIcon = exports.blockScreenCapture = exports.addToWhitelist = void 0;
|
|
7
7
|
var _reactNative = require("react-native");
|
|
8
8
|
var _nativeModules = require("../nativeModules");
|
|
9
|
+
var _config = require("../../utils/config");
|
|
9
10
|
const talsecStart = async options => {
|
|
10
|
-
return _nativeModules.FreeraspReactNative.talsecStart(options);
|
|
11
|
+
return _nativeModules.FreeraspReactNative.talsecStart((0, _config.withDefaults)(options));
|
|
11
12
|
};
|
|
12
13
|
exports.talsecStart = talsecStart;
|
|
13
14
|
const addToWhitelist = async packageName => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_nativeModules","talsecStart","options","FreeraspReactNative","exports","addToWhitelist","packageName","Platform","OS","Promise","reject","blockScreenCapture","enable","isScreenCaptureBlocked","storeExternalId","data","removeExternalId","getAppIcon","onInvalidCallback","removeListenerForEvent","channel"],"sourceRoot":"../../../../src","sources":["api/methods/native.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_nativeModules","_config","talsecStart","options","FreeraspReactNative","withDefaults","exports","addToWhitelist","packageName","Platform","OS","Promise","reject","blockScreenCapture","enable","isScreenCaptureBlocked","storeExternalId","data","removeExternalId","getAppIcon","onInvalidCallback","removeListenerForEvent","channel"],"sourceRoot":"../../../../src","sources":["api/methods/native.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAEO,MAAMG,WAAW,GAAG,MAAOC,OAAqB,IAAsB;EAC3E,OAAOC,kCAAmB,CAACF,WAAW,CAAC,IAAAG,oBAAY,EAACF,OAAO,CAAC,CAAC;AAC/D,CAAC;AAACG,OAAA,CAAAJ,WAAA,GAAAA,WAAA;AAEK,MAAMK,cAAc,GAAG,MAAOC,WAAmB,IAAuB;EAC7E,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,OAAO,CAACC,MAAM,CAAC,wCAAwC,CAAC;EACjE;EACA,OAAOR,kCAAmB,CAACG,cAAc,CAACC,WAAW,CAAC;AACxD,CAAC;AAACF,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAEK,MAAMM,kBAAkB,GAAIC,MAAe,IAAsB;EACtE,OAAOV,kCAAmB,CAACS,kBAAkB,CAACC,MAAM,CAAC;AACvD,CAAC;AAACR,OAAA,CAAAO,kBAAA,GAAAA,kBAAA;AAEK,MAAME,sBAAsB,GAAGA,CAAA,KAAwB;EAC5D,OAAOX,kCAAmB,CAACW,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAACT,OAAA,CAAAS,sBAAA,GAAAA,sBAAA;AAEK,MAAMC,eAAe,GAAIC,IAAY,IAAsB;EAChE,OAAOb,kCAAmB,CAACY,eAAe,CAACC,IAAI,CAAC;AAClD,CAAC;AAACX,OAAA,CAAAU,eAAA,GAAAA,eAAA;AAEK,MAAME,gBAAgB,GAAGA,CAAA,KAAuB;EACrD,OAAOd,kCAAmB,CAACc,gBAAgB,CAAC,CAAC;AAC/C,CAAC;AAACZ,OAAA,CAAAY,gBAAA,GAAAA,gBAAA;AAEK,MAAMC,UAAU,GAAIX,WAAmB,IAAsB;EAClE,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,OAAO,CAACC,MAAM,CACnB,+DACF,CAAC;EACH;EACA,OAAOR,kCAAmB,CAACe,UAAU,CAACX,WAAW,CAAC;AACpD,CAAC;AAACF,OAAA,CAAAa,UAAA,GAAAA,UAAA;AAEK,MAAMC,iBAAiB,GAAGA,CAAA,KAAY;EAC3ChB,kCAAmB,CAACgB,iBAAiB,CAAC,CAAC;AACzC,CAAC;AAACd,OAAA,CAAAc,iBAAA,GAAAA,iBAAA;AAEK,MAAMC,sBAAsB,GAAIC,OAAe,IAAsB;EAC1E,OAAOlB,kCAAmB,CAACiB,sBAAsB,CAACC,OAAO,CAAC;AAC5D,CAAC;AAAChB,OAAA,CAAAe,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withDefaults = exports.normalizeAndroidConfig = void 0;
|
|
7
|
+
const DEFAULT_SCAN_SCOPE = {
|
|
8
|
+
scopeType: 'SIDELOADED_ONLY'
|
|
9
|
+
};
|
|
10
|
+
const DEFAULT_REASON_MODE = 'HIGHEST_CONFIDENCE';
|
|
11
|
+
const withDetectionDefaults = config => ({
|
|
12
|
+
...config,
|
|
13
|
+
scanScope: config.scanScope ?? DEFAULT_SCAN_SCOPE,
|
|
14
|
+
reasonMode: config.reasonMode ?? DEFAULT_REASON_MODE
|
|
15
|
+
});
|
|
16
|
+
const normalizeAndroidConfig = androidConfig => {
|
|
17
|
+
if (!androidConfig.suspiciousAppDetectionConfig) {
|
|
18
|
+
return androidConfig;
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
...androidConfig,
|
|
22
|
+
suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig)
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.normalizeAndroidConfig = normalizeAndroidConfig;
|
|
26
|
+
const withDefaults = options => ({
|
|
27
|
+
...options,
|
|
28
|
+
androidConfig: options.androidConfig ? normalizeAndroidConfig(options.androidConfig) : undefined
|
|
29
|
+
});
|
|
30
|
+
exports.withDefaults = withDefaults;
|
|
31
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_SCAN_SCOPE","scopeType","DEFAULT_REASON_MODE","withDetectionDefaults","config","scanScope","reasonMode","normalizeAndroidConfig","androidConfig","suspiciousAppDetectionConfig","exports","withDefaults","options","undefined"],"sourceRoot":"../../../src","sources":["utils/config.ts"],"mappings":";;;;;;AAQA,MAAMA,kBAA6B,GAAG;EACpCC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,mBAA+B,GAAG,oBAAoB;AAE5D,MAAMC,qBAAqB,GACzBC,MAAoC,KACF;EAClC,GAAGA,MAAM;EACTC,SAAS,EAAED,MAAM,CAACC,SAAS,IAAIL,kBAAkB;EACjDM,UAAU,EAAEF,MAAM,CAACE,UAAU,IAAIJ;AACnC,CAAC,CAAC;AAEK,MAAMK,sBAAsB,GACjCC,aAAkC,IACV;EACxB,IAAI,CAACA,aAAa,CAACC,4BAA4B,EAAE;IAC/C,OAAOD,aAAa;EACtB;EACA,OAAO;IACL,GAAGA,aAAa;IAChBC,4BAA4B,EAAEN,qBAAqB,CACjDK,aAAa,CAACC,4BAChB;EACF,CAAC;AACH,CAAC;AAACC,OAAA,CAAAH,sBAAA,GAAAA,sBAAA;AAEK,MAAMI,YAAY,GAAIC,OAAqB,KAAoB;EACpE,GAAGA,OAAO;EACVJ,aAAa,EAAEI,OAAO,CAACJ,aAAa,GAChCD,sBAAsB,CAACK,OAAO,CAACJ,aAAa,CAAC,GAC7CK;AACN,CAAC,CAAC;AAACH,OAAA,CAAAC,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_buffer","require","parseMalwareData","data","Promise","resolve","reject","map","entry","toSuspiciousAppInfo","error","exports","base64Value","JSON","parse","Buffer","from","toString","packageInfo","
|
|
1
|
+
{"version":3,"names":["_buffer","require","parseMalwareData","data","Promise","resolve","reject","map","entry","toSuspiciousAppInfo","error","exports","base64Value","JSON","parse","Buffer","from","toString","packageInfo","reasons","permissions"],"sourceRoot":"../../../src","sources":["utils/malware.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEO,MAAMC,gBAAgB,GAAG,MAC9BC,IAAc,IACmB;EACjC,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI;MACFD,OAAO,CAACF,IAAI,CAACI,GAAG,CAAEC,KAAK,IAAKC,mBAAmB,CAACD,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,OAAOE,KAAU,EAAE;MACnBJ,MAAM,CAAE,iCAAgCI,KAAM,EAAC,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAACC,OAAA,CAAAT,gBAAA,GAAAA,gBAAA;AAEK,MAAMO,mBAAmB,GAAIG,WAAmB,IAAwB;EAC7E,MAAMT,IAAI,GAAGU,IAAI,CAACC,KAAK,CAACC,cAAM,CAACC,IAAI,CAACJ,WAAW,EAAE,QAAQ,CAAC,CAACK,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGf,IAAI,CAACe,WAA0B;EACnD,OAAO;IACLA,WAAW;IACXC,OAAO,EAAEhB,IAAI,CAACgB,OAAO;IACrBC,WAAW,EAAEjB,IAAI,CAACiB;EACpB,CAAC;AACH,CAAC;AAACT,OAAA,CAAAF,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
2
|
import { FreeraspReactNative } from '../nativeModules';
|
|
3
|
+
import { withDefaults } from '../../utils/config';
|
|
3
4
|
export const talsecStart = async options => {
|
|
4
|
-
return FreeraspReactNative.talsecStart(options);
|
|
5
|
+
return FreeraspReactNative.talsecStart(withDefaults(options));
|
|
5
6
|
};
|
|
6
7
|
export const addToWhitelist = async packageName => {
|
|
7
8
|
if (Platform.OS === 'ios') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","FreeraspReactNative","talsecStart","options","addToWhitelist","packageName","OS","Promise","reject","blockScreenCapture","enable","isScreenCaptureBlocked","storeExternalId","data","removeExternalId","getAppIcon","onInvalidCallback","removeListenerForEvent","channel"],"sourceRoot":"../../../../src","sources":["api/methods/native.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,mBAAmB,QAAQ,kBAAkB;
|
|
1
|
+
{"version":3,"names":["Platform","FreeraspReactNative","withDefaults","talsecStart","options","addToWhitelist","packageName","OS","Promise","reject","blockScreenCapture","enable","isScreenCaptureBlocked","storeExternalId","data","removeExternalId","getAppIcon","onInvalidCallback","removeListenerForEvent","channel"],"sourceRoot":"../../../../src","sources":["api/methods/native.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,mBAAmB,QAAQ,kBAAkB;AAEtD,SAASC,YAAY,QAAQ,oBAAoB;AAEjD,OAAO,MAAMC,WAAW,GAAG,MAAOC,OAAqB,IAAsB;EAC3E,OAAOH,mBAAmB,CAACE,WAAW,CAACD,YAAY,CAACE,OAAO,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG,MAAOC,WAAmB,IAAuB;EAC7E,IAAIN,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,OAAO,CAACC,MAAM,CAAC,wCAAwC,CAAC;EACjE;EACA,OAAOR,mBAAmB,CAACI,cAAc,CAACC,WAAW,CAAC;AACxD,CAAC;AAED,OAAO,MAAMI,kBAAkB,GAAIC,MAAe,IAAsB;EACtE,OAAOV,mBAAmB,CAACS,kBAAkB,CAACC,MAAM,CAAC;AACvD,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAGA,CAAA,KAAwB;EAC5D,OAAOX,mBAAmB,CAACW,sBAAsB,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,MAAMC,eAAe,GAAIC,IAAY,IAAsB;EAChE,OAAOb,mBAAmB,CAACY,eAAe,CAACC,IAAI,CAAC;AAClD,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAAuB;EACrD,OAAOd,mBAAmB,CAACc,gBAAgB,CAAC,CAAC;AAC/C,CAAC;AAED,OAAO,MAAMC,UAAU,GAAIV,WAAmB,IAAsB;EAClE,IAAIN,QAAQ,CAACO,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOC,OAAO,CAACC,MAAM,CACnB,+DACF,CAAC;EACH;EACA,OAAOR,mBAAmB,CAACe,UAAU,CAACV,WAAW,CAAC;AACpD,CAAC;AAED,OAAO,MAAMW,iBAAiB,GAAGA,CAAA,KAAY;EAC3ChB,mBAAmB,CAACgB,iBAAiB,CAAC,CAAC;AACzC,CAAC;AAED,OAAO,MAAMC,sBAAsB,GAAIC,OAAe,IAAsB;EAC1E,OAAOlB,mBAAmB,CAACiB,sBAAsB,CAACC,OAAO,CAAC;AAC5D,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const DEFAULT_SCAN_SCOPE = {
|
|
2
|
+
scopeType: 'SIDELOADED_ONLY'
|
|
3
|
+
};
|
|
4
|
+
const DEFAULT_REASON_MODE = 'HIGHEST_CONFIDENCE';
|
|
5
|
+
const withDetectionDefaults = config => ({
|
|
6
|
+
...config,
|
|
7
|
+
scanScope: config.scanScope ?? DEFAULT_SCAN_SCOPE,
|
|
8
|
+
reasonMode: config.reasonMode ?? DEFAULT_REASON_MODE
|
|
9
|
+
});
|
|
10
|
+
export const normalizeAndroidConfig = androidConfig => {
|
|
11
|
+
if (!androidConfig.suspiciousAppDetectionConfig) {
|
|
12
|
+
return androidConfig;
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
...androidConfig,
|
|
16
|
+
suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig)
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export const withDefaults = options => ({
|
|
20
|
+
...options,
|
|
21
|
+
androidConfig: options.androidConfig ? normalizeAndroidConfig(options.androidConfig) : undefined
|
|
22
|
+
});
|
|
23
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_SCAN_SCOPE","scopeType","DEFAULT_REASON_MODE","withDetectionDefaults","config","scanScope","reasonMode","normalizeAndroidConfig","androidConfig","suspiciousAppDetectionConfig","withDefaults","options","undefined"],"sourceRoot":"../../../src","sources":["utils/config.ts"],"mappings":"AAQA,MAAMA,kBAA6B,GAAG;EACpCC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,mBAA+B,GAAG,oBAAoB;AAE5D,MAAMC,qBAAqB,GACzBC,MAAoC,KACF;EAClC,GAAGA,MAAM;EACTC,SAAS,EAAED,MAAM,CAACC,SAAS,IAAIL,kBAAkB;EACjDM,UAAU,EAAEF,MAAM,CAACE,UAAU,IAAIJ;AACnC,CAAC,CAAC;AAEF,OAAO,MAAMK,sBAAsB,GACjCC,aAAkC,IACV;EACxB,IAAI,CAACA,aAAa,CAACC,4BAA4B,EAAE;IAC/C,OAAOD,aAAa;EACtB;EACA,OAAO;IACL,GAAGA,aAAa;IAChBC,4BAA4B,EAAEN,qBAAqB,CACjDK,aAAa,CAACC,4BAChB;EACF,CAAC;AACH,CAAC;AAED,OAAO,MAAMC,YAAY,GAAIC,OAAqB,KAAoB;EACpE,GAAGA,OAAO;EACVH,aAAa,EAAEG,OAAO,CAACH,aAAa,GAChCD,sBAAsB,CAACI,OAAO,CAACH,aAAa,CAAC,GAC7CI;AACN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Buffer","parseMalwareData","data","Promise","resolve","reject","map","entry","toSuspiciousAppInfo","error","base64Value","JSON","parse","from","toString","packageInfo","
|
|
1
|
+
{"version":3,"names":["Buffer","parseMalwareData","data","Promise","resolve","reject","map","entry","toSuspiciousAppInfo","error","base64Value","JSON","parse","from","toString","packageInfo","reasons","permissions"],"sourceRoot":"../../../src","sources":["utils/malware.ts"],"mappings":"AACA,SAASA,MAAM,QAAQ,QAAQ;AAE/B,OAAO,MAAMC,gBAAgB,GAAG,MAC9BC,IAAc,IACmB;EACjC,OAAO,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;IACtC,IAAI;MACFD,OAAO,CAACF,IAAI,CAACI,GAAG,CAAEC,KAAK,IAAKC,mBAAmB,CAACD,KAAK,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,OAAOE,KAAU,EAAE;MACnBJ,MAAM,CAAE,iCAAgCI,KAAM,EAAC,CAAC;IAClD;EACF,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMD,mBAAmB,GAAIE,WAAmB,IAAwB;EAC7E,MAAMR,IAAI,GAAGS,IAAI,CAACC,KAAK,CAACZ,MAAM,CAACa,IAAI,CAACH,WAAW,EAAE,QAAQ,CAAC,CAACI,QAAQ,CAAC,MAAM,CAAC,CAAC;EAC5E,MAAMC,WAAW,GAAGb,IAAI,CAACa,WAA0B;EACnD,OAAO;IACLA,WAAW;IACXC,OAAO,EAAEd,IAAI,CAACc,OAAO;IACrBC,WAAW,EAAEf,IAAI,CAACe;EACpB,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../../../src/api/methods/native.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../../../src/api/methods/native.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,WAAW,YAAmB,YAAY,KAAG,QAAQ,MAAM,CAEvE,CAAC;AAEF,eAAO,MAAM,cAAc,gBAAuB,MAAM,KAAG,QAAQ,OAAO,CAKzE,CAAC;AAEF,eAAO,MAAM,kBAAkB,WAAY,OAAO,KAAG,QAAQ,MAAM,CAElE,CAAC;AAEF,eAAO,MAAM,sBAAsB,QAAO,QAAQ,OAAO,CAExD,CAAC;AAEF,eAAO,MAAM,eAAe,SAAU,MAAM,KAAG,QAAQ,MAAM,CAE5D,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,QAAQ,MAAM,CAEjD,CAAC;AAEF,eAAO,MAAM,UAAU,gBAAiB,MAAM,KAAG,QAAQ,MAAM,CAO9D,CAAC;AAEF,eAAO,MAAM,iBAAiB,QAAO,IAEpC,CAAC;AAEF,eAAO,MAAM,sBAAsB,YAAa,MAAM,KAAG,QAAQ,MAAM,CAEtE,CAAC"}
|
|
@@ -5,25 +5,33 @@ export type TalsecConfig = {
|
|
|
5
5
|
isProd?: boolean;
|
|
6
6
|
killOnBypass?: boolean;
|
|
7
7
|
};
|
|
8
|
+
export type ScopeType = 'SIDELOADED_ONLY' | 'SIDELOADED_AND_SYSTEM_EXCLUDE_OEM' | 'SIDELOADED_AND_OEM' | 'SIDELOADED_AND_SYSTEM_AND_OEM' | 'ALL';
|
|
9
|
+
export type ReasonMode = 'ALL' | 'HIGHEST_CONFIDENCE';
|
|
10
|
+
export type ScanScope = {
|
|
11
|
+
scopeType: ScopeType;
|
|
12
|
+
trustedInstallSources?: string[];
|
|
13
|
+
};
|
|
14
|
+
export type SuspiciousAppDetectionConfig = {
|
|
15
|
+
packageNames?: string[];
|
|
16
|
+
hashes?: string[];
|
|
17
|
+
requestedPermissions?: string[][];
|
|
18
|
+
grantedPermissions?: string[][];
|
|
19
|
+
scanScope: ScanScope;
|
|
20
|
+
reasonMode: ReasonMode;
|
|
21
|
+
};
|
|
8
22
|
export type TalsecAndroidConfig = {
|
|
9
23
|
packageName: string;
|
|
10
24
|
certificateHashes: string[];
|
|
11
25
|
supportedAlternativeStores?: string[];
|
|
12
|
-
|
|
26
|
+
suspiciousAppDetectionConfig?: SuspiciousAppDetectionConfig;
|
|
13
27
|
};
|
|
14
28
|
export type TalsecIosConfig = {
|
|
15
29
|
appBundleId: string;
|
|
16
30
|
appTeamId: string;
|
|
17
31
|
};
|
|
18
|
-
export type TalsecMalwareConfig = {
|
|
19
|
-
blacklistedHashes?: string[];
|
|
20
|
-
blacklistedPackageNames?: string[];
|
|
21
|
-
suspiciousPermissions?: string[][];
|
|
22
|
-
whitelistedInstallationSources?: string[];
|
|
23
|
-
};
|
|
24
32
|
export type SuspiciousAppInfo = {
|
|
25
33
|
packageInfo: PackageInfo;
|
|
26
|
-
|
|
34
|
+
reasons: string[];
|
|
27
35
|
permissions?: string[];
|
|
28
36
|
};
|
|
29
37
|
export type PackageInfo = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { TalsecAndroidConfig, TalsecConfig } from '../types/types';
|
|
2
|
+
export declare const normalizeAndroidConfig: (androidConfig: TalsecAndroidConfig) => TalsecAndroidConfig;
|
|
3
|
+
export declare const withDefaults: (options: TalsecConfig) => TalsecConfig;
|
|
4
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,mBAAmB,EACnB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAgBxB,eAAO,MAAM,sBAAsB,kBAClB,mBAAmB,KACjC,mBAUF,CAAC;AAEF,eAAO,MAAM,YAAY,YAAa,YAAY,KAAG,YAKnD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "freerasp-react-native",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.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,9 +1,10 @@
|
|
|
1
1
|
import { Platform } from 'react-native';
|
|
2
2
|
import { FreeraspReactNative } from '../nativeModules';
|
|
3
3
|
import type { TalsecConfig } from '../../types/types';
|
|
4
|
+
import { withDefaults } from '../../utils/config';
|
|
4
5
|
|
|
5
6
|
export const talsecStart = async (options: TalsecConfig): Promise<string> => {
|
|
6
|
-
return FreeraspReactNative.talsecStart(options);
|
|
7
|
+
return FreeraspReactNative.talsecStart(withDefaults(options));
|
|
7
8
|
};
|
|
8
9
|
|
|
9
10
|
export const addToWhitelist = async (packageName: string): Promise<boolean> => {
|
package/src/types/types.ts
CHANGED
|
@@ -6,11 +6,34 @@ export type TalsecConfig = {
|
|
|
6
6
|
killOnBypass?: boolean;
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
+
export type ScopeType =
|
|
10
|
+
| 'SIDELOADED_ONLY'
|
|
11
|
+
| 'SIDELOADED_AND_SYSTEM_EXCLUDE_OEM'
|
|
12
|
+
| 'SIDELOADED_AND_OEM'
|
|
13
|
+
| 'SIDELOADED_AND_SYSTEM_AND_OEM'
|
|
14
|
+
| 'ALL';
|
|
15
|
+
|
|
16
|
+
export type ReasonMode = 'ALL' | 'HIGHEST_CONFIDENCE';
|
|
17
|
+
|
|
18
|
+
export type ScanScope = {
|
|
19
|
+
scopeType: ScopeType;
|
|
20
|
+
trustedInstallSources?: string[];
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export type SuspiciousAppDetectionConfig = {
|
|
24
|
+
packageNames?: string[];
|
|
25
|
+
hashes?: string[];
|
|
26
|
+
requestedPermissions?: string[][];
|
|
27
|
+
grantedPermissions?: string[][];
|
|
28
|
+
scanScope: ScanScope;
|
|
29
|
+
reasonMode: ReasonMode;
|
|
30
|
+
};
|
|
31
|
+
|
|
9
32
|
export type TalsecAndroidConfig = {
|
|
10
33
|
packageName: string;
|
|
11
34
|
certificateHashes: string[];
|
|
12
35
|
supportedAlternativeStores?: string[];
|
|
13
|
-
|
|
36
|
+
suspiciousAppDetectionConfig?: SuspiciousAppDetectionConfig;
|
|
14
37
|
};
|
|
15
38
|
|
|
16
39
|
export type TalsecIosConfig = {
|
|
@@ -18,16 +41,9 @@ export type TalsecIosConfig = {
|
|
|
18
41
|
appTeamId: string;
|
|
19
42
|
};
|
|
20
43
|
|
|
21
|
-
export type TalsecMalwareConfig = {
|
|
22
|
-
blacklistedHashes?: string[];
|
|
23
|
-
blacklistedPackageNames?: string[];
|
|
24
|
-
suspiciousPermissions?: string[][];
|
|
25
|
-
whitelistedInstallationSources?: string[];
|
|
26
|
-
};
|
|
27
|
-
|
|
28
44
|
export type SuspiciousAppInfo = {
|
|
29
45
|
packageInfo: PackageInfo;
|
|
30
|
-
|
|
46
|
+
reasons: string[];
|
|
31
47
|
permissions?: string[];
|
|
32
48
|
};
|
|
33
49
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ReasonMode,
|
|
3
|
+
ScanScope,
|
|
4
|
+
SuspiciousAppDetectionConfig,
|
|
5
|
+
TalsecAndroidConfig,
|
|
6
|
+
TalsecConfig,
|
|
7
|
+
} from '../types/types';
|
|
8
|
+
|
|
9
|
+
const DEFAULT_SCAN_SCOPE: ScanScope = {
|
|
10
|
+
scopeType: 'SIDELOADED_ONLY',
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const DEFAULT_REASON_MODE: ReasonMode = 'HIGHEST_CONFIDENCE';
|
|
14
|
+
|
|
15
|
+
const withDetectionDefaults = (
|
|
16
|
+
config: SuspiciousAppDetectionConfig
|
|
17
|
+
): SuspiciousAppDetectionConfig => ({
|
|
18
|
+
...config,
|
|
19
|
+
scanScope: config.scanScope ?? DEFAULT_SCAN_SCOPE,
|
|
20
|
+
reasonMode: config.reasonMode ?? DEFAULT_REASON_MODE,
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export const normalizeAndroidConfig = (
|
|
24
|
+
androidConfig: TalsecAndroidConfig
|
|
25
|
+
): TalsecAndroidConfig => {
|
|
26
|
+
if (!androidConfig.suspiciousAppDetectionConfig) {
|
|
27
|
+
return androidConfig;
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
...androidConfig,
|
|
31
|
+
suspiciousAppDetectionConfig: withDetectionDefaults(
|
|
32
|
+
androidConfig.suspiciousAppDetectionConfig
|
|
33
|
+
),
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const withDefaults = (options: TalsecConfig): TalsecConfig => ({
|
|
38
|
+
...options,
|
|
39
|
+
androidConfig: options.androidConfig
|
|
40
|
+
? normalizeAndroidConfig(options.androidConfig)
|
|
41
|
+
: undefined,
|
|
42
|
+
});
|
package/src/utils/malware.ts
CHANGED
|
@@ -18,7 +18,7 @@ export const toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {
|
|
|
18
18
|
const packageInfo = data.packageInfo as PackageInfo;
|
|
19
19
|
return {
|
|
20
20
|
packageInfo,
|
|
21
|
-
|
|
21
|
+
reasons: data.reasons,
|
|
22
22
|
permissions: data.permissions,
|
|
23
23
|
} as SuspiciousAppInfo;
|
|
24
24
|
};
|
package/example/Gemfile
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
source 'https://rubygems.org'
|
|
2
|
-
|
|
3
|
-
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
|
4
|
-
ruby ">= 2.6.10"
|
|
5
|
-
|
|
6
|
-
# Exclude problematic versions of cocoapods and activesupport that causes build failures.
|
|
7
|
-
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
|
|
8
|
-
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
|
|
9
|
-
gem 'xcodeproj', '< 1.26.0'
|
|
10
|
-
gem 'concurrent-ruby', '< 1.3.4'
|