freerasp-react-native 3.9.2 → 3.10.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.
Files changed (74) hide show
  1. package/CHANGELOG.md +49 -2
  2. package/android/build.gradle +4 -1
  3. package/android/src/main/java/com/freeraspreactnative/FreeraspReactNativeModule.kt +49 -4
  4. package/android/src/main/java/com/freeraspreactnative/FreeraspThreatHandler.kt +5 -1
  5. package/android/src/main/java/com/freeraspreactnative/Threat.kt +3 -1
  6. package/android/src/main/java/com/freeraspreactnative/models/RNSuspiciousAppInfo.kt +25 -0
  7. package/android/src/main/java/com/freeraspreactnative/utils/Extensions.kt +116 -0
  8. package/android/src/main/java/com/freeraspreactnative/utils/Utils.kt +82 -0
  9. package/example/assets/arrow-down.png +0 -0
  10. package/example/assets/arrow-up.png +0 -0
  11. package/example/ios/FreeraspReactNativeExample.xcodeproj/project.pbxproj +45 -45
  12. package/example/src/App.tsx +57 -2
  13. package/example/src/DemoApp.tsx +16 -2
  14. package/example/src/MalwareItem.tsx +158 -0
  15. package/example/src/MalwareModal.tsx +126 -0
  16. package/example/src/checks.ts +1 -0
  17. package/example/src/styles.ts +1 -0
  18. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory +0 -0
  19. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements +0 -0
  20. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
  21. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeResources +60 -60
  22. package/ios/TalsecRuntime.xcframework/_CodeSignature/CodeSignature +0 -0
  23. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  24. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +1 -1
  25. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +7 -7
  26. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +4 -4
  27. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +1 -1
  28. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +1 -1
  29. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist +0 -0
  30. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +135 -135
  31. package/ios/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime +0 -0
  32. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +1 -1
  33. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +2 -2
  34. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +7 -7
  35. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +4 -4
  36. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +1 -1
  37. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +1 -1
  38. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist +0 -0
  39. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +135 -135
  40. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +135 -135
  41. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime +0 -0
  42. package/ios/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +21 -21
  43. package/lib/commonjs/index.js +63 -19
  44. package/lib/commonjs/index.js.map +1 -1
  45. package/lib/commonjs/{definitions.js → threat.js} +3 -2
  46. package/lib/commonjs/threat.js.map +1 -0
  47. package/lib/commonjs/types.js +2 -0
  48. package/lib/commonjs/types.js.map +1 -0
  49. package/lib/commonjs/utils.js +2 -2
  50. package/lib/commonjs/utils.js.map +1 -1
  51. package/lib/module/index.js +30 -5
  52. package/lib/module/index.js.map +1 -1
  53. package/lib/module/{definitions.js → threat.js} +3 -2
  54. package/lib/module/threat.js.map +1 -0
  55. package/lib/module/types.js +2 -0
  56. package/lib/module/types.js.map +1 -0
  57. package/lib/module/utils.js +1 -1
  58. package/lib/module/utils.js.map +1 -1
  59. package/lib/typescript/src/index.d.ts +3 -1
  60. package/lib/typescript/src/index.d.ts.map +1 -1
  61. package/lib/typescript/src/threat.d.ts +20 -0
  62. package/lib/typescript/src/threat.d.ts.map +1 -0
  63. package/lib/typescript/src/types.d.ts +50 -0
  64. package/lib/typescript/src/types.d.ts.map +1 -0
  65. package/package.json +3 -24
  66. package/src/index.tsx +35 -8
  67. package/src/{definitions.ts → threat.ts} +2 -30
  68. package/src/types.ts +55 -0
  69. package/src/utils.ts +1 -1
  70. package/android/src/main/java/com/freeraspreactnative/Utils.kt +0 -40
  71. package/lib/commonjs/definitions.js.map +0 -1
  72. package/lib/module/definitions.js.map +0 -1
  73. package/lib/typescript/src/definitions.d.ts +0 -47
  74. package/lib/typescript/src/definitions.d.ts.map +0 -1
@@ -0,0 +1,50 @@
1
+ export type TalsecConfig = {
2
+ androidConfig?: TalsecAndroidConfig;
3
+ iosConfig?: TalsecIosConfig;
4
+ watcherMail: string;
5
+ isProd?: boolean;
6
+ };
7
+ export type TalsecAndroidConfig = {
8
+ packageName: string;
9
+ certificateHashes: string[];
10
+ supportedAlternativeStores?: string[];
11
+ malwareConfig?: TalsecMalwareConfig;
12
+ };
13
+ export type TalsecIosConfig = {
14
+ appBundleId: string;
15
+ appTeamId: string;
16
+ };
17
+ export type TalsecMalwareConfig = {
18
+ blacklistedHashes?: string[];
19
+ blacklistedPackageNames?: string[];
20
+ suspiciousPermissions?: string[][];
21
+ whitelistedInstallationSources?: string[];
22
+ };
23
+ export type SuspiciousAppInfo = {
24
+ packageInfo: PackageInfo;
25
+ reason: string;
26
+ };
27
+ export type PackageInfo = {
28
+ packageName: string;
29
+ appName?: string;
30
+ version?: string;
31
+ appIcon?: string;
32
+ installerStore?: string;
33
+ };
34
+ export type NativeEventEmitterActions = {
35
+ privilegedAccess?: () => any;
36
+ debug?: () => any;
37
+ simulator?: () => any;
38
+ appIntegrity?: () => any;
39
+ unofficialStore?: () => any;
40
+ hooks?: () => any;
41
+ deviceBinding?: () => any;
42
+ deviceID?: () => any;
43
+ passcode?: () => any;
44
+ secureHardwareNotAvailable?: () => any;
45
+ obfuscationIssues?: () => any;
46
+ devMode?: () => any;
47
+ systemVPN?: () => any;
48
+ malware?: (suspiciousApps: SuspiciousAppInfo[]) => any;
49
+ };
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/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;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;IACtC,aAAa,CAAC,EAAE,mBAAmB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IACnC,8BAA8B,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,0BAA0B,CAAC,EAAE,MAAM,GAAG,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,KAAK,GAAG,CAAC;CACxD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "freerasp-react-native",
3
- "version": "3.9.2",
3
+ "version": "3.10.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",
@@ -11,7 +11,9 @@
11
11
  "typecheck": "tsc --noEmit",
12
12
  "expo:typecheck": "cd plugin && tsc --noEmit",
13
13
  "lint": "eslint \"**/*.{js,ts,tsx}\"",
14
+ "prettier": "prettier \"**/*.{ts,js}\"",
14
15
  "prepack": "bob build && yarn build:plugin",
16
+ "build": "bob build",
15
17
  "example": "yarn --cwd example",
16
18
  "bootstrap": "yarn example && yarn install && yarn example pods",
17
19
  "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build",
@@ -93,29 +95,6 @@
93
95
  }
94
96
  }
95
97
  },
96
- "eslintConfig": {
97
- "root": true,
98
- "extends": [
99
- "@react-native-community",
100
- "prettier"
101
- ],
102
- "rules": {
103
- "prettier/prettier": [
104
- "error",
105
- {
106
- "quoteProps": "consistent",
107
- "singleQuote": true,
108
- "tabWidth": 2,
109
- "trailingComma": "es5",
110
- "useTabs": false
111
- }
112
- ]
113
- }
114
- },
115
- "eslintIgnore": [
116
- "node_modules/",
117
- "lib/"
118
- ],
119
98
  "prettier": {
120
99
  "quoteProps": "consistent",
121
100
  "singleQuote": true,
package/src/index.tsx CHANGED
@@ -2,14 +2,18 @@ import { useEffect } from 'react';
2
2
  import {
3
3
  NativeEventEmitter,
4
4
  NativeModules,
5
+ Platform,
5
6
  type EmitterSubscription,
6
7
  } from 'react-native';
7
- import {
8
- Threat,
9
- type NativeEventEmitterActions,
10
- type TalsecConfig,
11
- } from './definitions';
8
+ import type {
9
+ NativeEventEmitterActions,
10
+ PackageInfo,
11
+ SuspiciousAppInfo,
12
+ TalsecConfig,
13
+ } from './types';
12
14
  import { getThreatCount, itemsHaveType } from './utils';
15
+ import { Buffer } from 'buffer';
16
+ import { Threat } from './threat';
13
17
 
14
18
  const { FreeraspReactNative } = NativeModules;
15
19
 
@@ -31,9 +35,10 @@ const getThreatIdentifiers = async (): Promise<number[]> => {
31
35
  return identifiers;
32
36
  };
33
37
 
34
- const getThreatChannelData = async (): Promise<[string, string]> => {
38
+ const getThreatChannelData = async (): Promise<[string, string, string]> => {
39
+ const dataLength = Platform.OS === 'ios' ? 2 : 3;
35
40
  let data = await FreeraspReactNative.getThreatChannelData();
36
- if (data.length !== 2 || !itemsHaveType(data, 'string')) {
41
+ if (data.length !== dataLength || !itemsHaveType(data, 'string')) {
37
42
  onInvalidCallback();
38
43
  }
39
44
  return data;
@@ -48,10 +53,21 @@ const prepareMapping = async (): Promise<void> => {
48
53
  });
49
54
  };
50
55
 
56
+ // parses base64-encoded malware data to SuspiciousAppInfo[]
57
+ const parseMalwareData = (data: string[]): SuspiciousAppInfo[] => {
58
+ return data.map((entry) => toSuspiciousAppInfo(entry));
59
+ };
60
+
61
+ const toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {
62
+ const data = JSON.parse(Buffer.from(base64Value, 'base64').toString('utf8'));
63
+ const packageInfo = data.packageInfo as PackageInfo;
64
+ return { packageInfo, reason: data.reason } as SuspiciousAppInfo;
65
+ };
66
+
51
67
  export const setThreatListeners = async <T extends NativeEventEmitterActions>(
52
68
  config: T & Record<Exclude<keyof T, keyof NativeEventEmitterActions>, []>
53
69
  ) => {
54
- const [channel, key] = await getThreatChannelData();
70
+ const [channel, key, malwareKey] = await getThreatChannelData();
55
71
  await prepareMapping();
56
72
 
57
73
  eventsListener = eventEmitter.addListener(channel, (event) => {
@@ -98,6 +114,9 @@ export const setThreatListeners = async <T extends NativeEventEmitterActions>(
98
114
  case Threat.SystemVPN.value:
99
115
  config.systemVPN?.();
100
116
  break;
117
+ case Threat.Malware.value:
118
+ config.malware?.(parseMalwareData(event[malwareKey]));
119
+ break;
101
120
  default:
102
121
  onInvalidCallback();
103
122
  break;
@@ -138,4 +157,12 @@ export const useFreeRasp = <T extends NativeEventEmitterActions>(
138
157
  }, []);
139
158
  };
140
159
 
160
+ export const addToWhitelist = async (packageName: string): Promise<boolean> => {
161
+ if (Platform.OS === 'ios') {
162
+ return Promise.reject('Malware detection not available on iOS');
163
+ }
164
+ return FreeraspReactNative.addToWhitelist(packageName);
165
+ };
166
+
167
+ export * from './types';
141
168
  export default FreeraspReactNative;
@@ -1,35 +1,5 @@
1
1
  import { Platform } from 'react-native';
2
2
 
3
- export type TalsecConfig = {
4
- androidConfig?: {
5
- packageName: string;
6
- certificateHashes: string[];
7
- supportedAlternativeStores?: string[];
8
- };
9
- iosConfig?: {
10
- appBundleId: string;
11
- appTeamId: string;
12
- };
13
- watcherMail: string;
14
- isProd?: boolean;
15
- };
16
-
17
- export type NativeEventEmitterActions = {
18
- privilegedAccess?: () => any;
19
- debug?: () => any;
20
- simulator?: () => any;
21
- appIntegrity?: () => any;
22
- unofficialStore?: () => any;
23
- hooks?: () => any;
24
- deviceBinding?: () => any;
25
- deviceID?: () => any;
26
- passcode?: () => any;
27
- secureHardwareNotAvailable?: () => any;
28
- obfuscationIssues?: () => any;
29
- devMode?: () => any;
30
- systemVPN?: () => any;
31
- };
32
-
33
3
  export class Threat {
34
4
  value: number;
35
5
 
@@ -46,6 +16,7 @@ export class Threat {
46
16
  static UnofficialStore = new Threat(0);
47
17
  static ObfuscationIssues = new Threat(0);
48
18
  static DevMode = new Threat(0);
19
+ static Malware = new Threat(0);
49
20
 
50
21
  constructor(value: number) {
51
22
  this.value = value;
@@ -66,6 +37,7 @@ export class Threat {
66
37
  this.UnofficialStore,
67
38
  this.ObfuscationIssues,
68
39
  this.DevMode,
40
+ this.Malware,
69
41
  ]
70
42
  : [
71
43
  this.AppIntegrity,
package/src/types.ts ADDED
@@ -0,0 +1,55 @@
1
+ export type TalsecConfig = {
2
+ androidConfig?: TalsecAndroidConfig;
3
+ iosConfig?: TalsecIosConfig;
4
+ watcherMail: string;
5
+ isProd?: boolean;
6
+ };
7
+
8
+ export type TalsecAndroidConfig = {
9
+ packageName: string;
10
+ certificateHashes: string[];
11
+ supportedAlternativeStores?: string[];
12
+ malwareConfig?: TalsecMalwareConfig;
13
+ };
14
+
15
+ export type TalsecIosConfig = {
16
+ appBundleId: string;
17
+ appTeamId: string;
18
+ };
19
+
20
+ export type TalsecMalwareConfig = {
21
+ blacklistedHashes?: string[];
22
+ blacklistedPackageNames?: string[];
23
+ suspiciousPermissions?: string[][];
24
+ whitelistedInstallationSources?: string[];
25
+ };
26
+
27
+ export type SuspiciousAppInfo = {
28
+ packageInfo: PackageInfo;
29
+ reason: string;
30
+ };
31
+
32
+ export type PackageInfo = {
33
+ packageName: string;
34
+ appName?: string;
35
+ version?: string;
36
+ appIcon?: string;
37
+ installerStore?: string;
38
+ };
39
+
40
+ export type NativeEventEmitterActions = {
41
+ privilegedAccess?: () => any;
42
+ debug?: () => any;
43
+ simulator?: () => any;
44
+ appIntegrity?: () => any;
45
+ unofficialStore?: () => any;
46
+ hooks?: () => any;
47
+ deviceBinding?: () => any;
48
+ deviceID?: () => any;
49
+ passcode?: () => any;
50
+ secureHardwareNotAvailable?: () => any;
51
+ obfuscationIssues?: () => any;
52
+ devMode?: () => any;
53
+ systemVPN?: () => any;
54
+ malware?: (suspiciousApps: SuspiciousAppInfo[]) => any;
55
+ };
package/src/utils.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Threat } from './definitions';
1
+ import { Threat } from './threat';
2
2
 
3
3
  export const getThreatCount = (): number => {
4
4
  return Threat.getValues().length;
@@ -1,40 +0,0 @@
1
- package com.freeraspreactnative
2
-
3
- import com.facebook.react.bridge.ReadableArray
4
- import com.facebook.react.bridge.ReadableMap
5
- import com.freeraspreactnative.exceptions.TalsecException
6
-
7
- internal fun ReadableMap.getMapThrowing(key: String): ReadableMap {
8
- return this.getMap(key) ?: throw TalsecException("Key missing in configuration: $key")
9
- }
10
-
11
- internal fun ReadableMap.getStringThrowing(key: String): String {
12
- return this.getString(key) ?: throw TalsecException("Key missing in configuration: $key")
13
- }
14
-
15
- internal fun ReadableMap.getBooleanSafe(key: String, defaultValue: Boolean = true): Boolean {
16
- if (this.hasKey(key)) {
17
- return this.getBoolean(key)
18
- }
19
- return defaultValue
20
- }
21
-
22
- internal fun ReadableArray.toArray(): Array<String> {
23
- val output = mutableListOf<String>()
24
- for (i in 0 until this.size()) {
25
- // in RN versions < 0.63, getString is nullable
26
- @Suppress("UNNECESSARY_SAFE_CALL")
27
- this.getString(i)?.let {
28
- output.add(it)
29
- }
30
- }
31
- return output.toTypedArray()
32
- }
33
-
34
- internal fun ReadableMap.getArraySafe(key: String): Array<String> {
35
- if (this.hasKey(key)) {
36
- val inputArray = this.getArray(key)!!
37
- return inputArray.toArray()
38
- }
39
- return arrayOf()
40
- }
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","Threat","AppIntegrity","PrivilegedAccess","Debug","Hooks","Passcode","Simulator","SecureHardwareNotAvailable","SystemVPN","DeviceBinding","DeviceID","UnofficialStore","ObfuscationIssues","DevMode","constructor","value","getValues","Platform","OS","exports"],"sourceRoot":"../../src","sources":["definitions.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAgCO,MAAMC,MAAM,CAAC;EAGlB,OAAOC,YAAY,GAAG,IAAID,MAAM,CAAC,CAAC,CAAC;EACnC,OAAOE,gBAAgB,GAAG,IAAIF,MAAM,CAAC,CAAC,CAAC;EACvC,OAAOG,KAAK,GAAG,IAAIH,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOI,KAAK,GAAG,IAAIJ,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOK,QAAQ,GAAG,IAAIL,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOM,SAAS,GAAG,IAAIN,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOO,0BAA0B,GAAG,IAAIP,MAAM,CAAC,CAAC,CAAC;EACjD,OAAOQ,SAAS,GAAG,IAAIR,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOS,aAAa,GAAG,IAAIT,MAAM,CAAC,CAAC,CAAC;EACpC,OAAOU,QAAQ,GAAG,IAAIV,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOW,eAAe,GAAG,IAAIX,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOY,iBAAiB,GAAG,IAAIZ,MAAM,CAAC,CAAC,CAAC;EACxC,OAAOa,OAAO,GAAG,IAAIb,MAAM,CAAC,CAAC,CAAC;EAE9Bc,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAASA,CAAA,EAAa;IAC3B,OAAOC,qBAAQ,CAACC,EAAE,KAAK,SAAS,GAC5B,CACE,IAAI,CAACjB,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACE,eAAe,EACpB,IAAI,CAACC,iBAAiB,EACtB,IAAI,CAACC,OAAO,CACb,GACD,CACE,IAAI,CAACZ,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,eAAe,CACrB;EACP;AACF;AAACQ,OAAA,CAAAnB,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["Platform","Threat","AppIntegrity","PrivilegedAccess","Debug","Hooks","Passcode","Simulator","SecureHardwareNotAvailable","SystemVPN","DeviceBinding","DeviceID","UnofficialStore","ObfuscationIssues","DevMode","constructor","value","getValues","OS"],"sourceRoot":"../../src","sources":["definitions.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAgCvC,OAAO,MAAMC,MAAM,CAAC;EAGlB,OAAOC,YAAY,GAAG,IAAID,MAAM,CAAC,CAAC,CAAC;EACnC,OAAOE,gBAAgB,GAAG,IAAIF,MAAM,CAAC,CAAC,CAAC;EACvC,OAAOG,KAAK,GAAG,IAAIH,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOI,KAAK,GAAG,IAAIJ,MAAM,CAAC,CAAC,CAAC;EAC5B,OAAOK,QAAQ,GAAG,IAAIL,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOM,SAAS,GAAG,IAAIN,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOO,0BAA0B,GAAG,IAAIP,MAAM,CAAC,CAAC,CAAC;EACjD,OAAOQ,SAAS,GAAG,IAAIR,MAAM,CAAC,CAAC,CAAC;EAChC,OAAOS,aAAa,GAAG,IAAIT,MAAM,CAAC,CAAC,CAAC;EACpC,OAAOU,QAAQ,GAAG,IAAIV,MAAM,CAAC,CAAC,CAAC;EAC/B,OAAOW,eAAe,GAAG,IAAIX,MAAM,CAAC,CAAC,CAAC;EACtC,OAAOY,iBAAiB,GAAG,IAAIZ,MAAM,CAAC,CAAC,CAAC;EACxC,OAAOa,OAAO,GAAG,IAAIb,MAAM,CAAC,CAAC,CAAC;EAE9Bc,WAAWA,CAACC,KAAa,EAAE;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEA,OAAOC,SAASA,CAAA,EAAa;IAC3B,OAAOjB,QAAQ,CAACkB,EAAE,KAAK,SAAS,GAC5B,CACE,IAAI,CAAChB,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACE,eAAe,EACpB,IAAI,CAACC,iBAAiB,EACtB,IAAI,CAACC,OAAO,CACb,GACD,CACE,IAAI,CAACZ,YAAY,EACjB,IAAI,CAACC,gBAAgB,EACrB,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,KAAK,EACV,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,0BAA0B,EAC/B,IAAI,CAACC,SAAS,EACd,IAAI,CAACC,aAAa,EAClB,IAAI,CAACC,QAAQ,EACb,IAAI,CAACC,eAAe,CACrB;EACP;AACF","ignoreList":[]}
@@ -1,47 +0,0 @@
1
- export type TalsecConfig = {
2
- androidConfig?: {
3
- packageName: string;
4
- certificateHashes: string[];
5
- supportedAlternativeStores?: string[];
6
- };
7
- iosConfig?: {
8
- appBundleId: string;
9
- appTeamId: string;
10
- };
11
- watcherMail: string;
12
- isProd?: boolean;
13
- };
14
- export type NativeEventEmitterActions = {
15
- privilegedAccess?: () => any;
16
- debug?: () => any;
17
- simulator?: () => any;
18
- appIntegrity?: () => any;
19
- unofficialStore?: () => any;
20
- hooks?: () => any;
21
- deviceBinding?: () => any;
22
- deviceID?: () => any;
23
- passcode?: () => any;
24
- secureHardwareNotAvailable?: () => any;
25
- obfuscationIssues?: () => any;
26
- devMode?: () => any;
27
- systemVPN?: () => any;
28
- };
29
- export declare class Threat {
30
- value: number;
31
- static AppIntegrity: Threat;
32
- static PrivilegedAccess: Threat;
33
- static Debug: Threat;
34
- static Hooks: Threat;
35
- static Passcode: Threat;
36
- static Simulator: Threat;
37
- static SecureHardwareNotAvailable: Threat;
38
- static SystemVPN: Threat;
39
- static DeviceBinding: Threat;
40
- static DeviceID: Threat;
41
- static UnofficialStore: Threat;
42
- static ObfuscationIssues: Threat;
43
- static DevMode: Threat;
44
- constructor(value: number);
45
- static getValues(): Threat[];
46
- }
47
- //# sourceMappingURL=definitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/definitions.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,CAAC,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;KACvC,CAAC;IACF,SAAS,CAAC,EAAE;QACV,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC;IACrB,0BAA0B,CAAC,EAAE,MAAM,GAAG,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC;CACvB,CAAC;AAEF,qBAAa,MAAM;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,YAAY,SAAiB;IACpC,MAAM,CAAC,gBAAgB,SAAiB;IACxC,MAAM,CAAC,KAAK,SAAiB;IAC7B,MAAM,CAAC,KAAK,SAAiB;IAC7B,MAAM,CAAC,QAAQ,SAAiB;IAChC,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,0BAA0B,SAAiB;IAClD,MAAM,CAAC,SAAS,SAAiB;IACjC,MAAM,CAAC,aAAa,SAAiB;IACrC,MAAM,CAAC,QAAQ,SAAiB;IAChC,MAAM,CAAC,eAAe,SAAiB;IACvC,MAAM,CAAC,iBAAiB,SAAiB;IACzC,MAAM,CAAC,OAAO,SAAiB;gBAEnB,KAAK,EAAE,MAAM;IAIzB,MAAM,CAAC,SAAS,IAAI,MAAM,EAAE;CA8B7B"}