capacitor-freerasp 2.5.1 → 3.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 CHANGED
@@ -5,6 +5,47 @@ 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.0.0] - 2026-05-15
9
+
10
+ - Android SDK version: 18.3.0
11
+ - iOS SDK version: 6.14.4
12
+
13
+ ### Breaking
14
+
15
+ - `SuspiciousAppInfo.reason` (String) renamed to `reasons` (string[])
16
+ - Value `"blacklist"` in `reasons` renamed to `"blocklist"`
17
+ - Removed `TalsecMalwareConfig` and `TalsecAndroidConfig.malwareConfig`
18
+ - `SuspiciousAppDetectionConfig.malwareScanScope` and `reasonMode` are now required
19
+
20
+ ### Capacitor
21
+
22
+ #### Added
23
+
24
+ - `SuspiciousAppDetectionConfig` for malware detection configuration
25
+
26
+ #### Removed
27
+
28
+ - `TalsecMalwareConfig` type and `TalsecAndroidConfig.malwareConfig` field
29
+
30
+ ### Android
31
+
32
+ #### Added
33
+
34
+ - New API class `SuspiciousAppDetectionConfig` that can be used to configure malware detection
35
+ - New API for malware detection configuration in `TalsecConfig`, see `TalsecConfig.Builder#suspiciousAppDetection`
36
+
37
+ #### Fixed
38
+
39
+ - Fixed `VerifyError` caused by JaCoCo bytecode instrumentation
40
+ - Fixed a potential cause of crash in the multi-instance detector
41
+ - Fixed Java interoperability of `ScreenProtector` methods
42
+ - Fixed Kotlin classpath conflicts in SDK dependency resolution (Kotlin 2.0.0)
43
+
44
+ #### Changed
45
+
46
+ - Fine-tuned location spoofing detection
47
+ - Modified malware incident log structure for better aggregation
48
+
8
49
  ## [2.5.1] - 2026-03-24
9
50
 
10
51
  - Android SDK version: 18.0.4
@@ -76,5 +76,5 @@ dependencies {
76
76
  androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
77
77
  androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
78
78
 
79
- implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Capacitor:18.0.4'
79
+ implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Capacitor:18.3.0'
80
80
  }
@@ -9,8 +9,8 @@ import com.aheaditec.freerasp.dispatchers.ExecutionStateDispatcher
9
9
  import com.aheaditec.freerasp.dispatchers.ThreatDispatcher
10
10
  import com.aheaditec.freerasp.utils.Utils
11
11
  import com.aheaditec.freerasp.utils.getArraySafe
12
- import com.aheaditec.freerasp.utils.getNestedArraySafe
13
12
  import com.aheaditec.freerasp.utils.toEncodedJSArray
13
+ import com.aheaditec.freerasp.utils.toSuspiciousAppDetectionConfig
14
14
  import com.aheaditec.talsec_security.security.api.SuspiciousAppInfo
15
15
  import com.aheaditec.talsec_security.security.api.Talsec
16
16
  import com.aheaditec.talsec_security.security.api.TalsecConfig
@@ -315,13 +315,12 @@ class FreeraspPlugin : Plugin() {
315
315
  .prod(configJson.getBool("isProd") ?: true)
316
316
  .killOnBypass(configJson.getBool("killOnBypass") ?: false)
317
317
 
318
- if (androidConfig.has("malwareConfig")) {
319
- val malwareConfig = androidConfig.getJSONObject("malwareConfig")
320
- talsecBuilder.whitelistedInstallationSources(malwareConfig.getArraySafe("whitelistedInstallationSources"))
321
- talsecBuilder.blacklistedHashes(malwareConfig.getArraySafe("blacklistedHashes"))
322
- talsecBuilder.blacklistedPackageNames(malwareConfig.getArraySafe("blacklistedPackageNames"))
323
- talsecBuilder.suspiciousPermissions(malwareConfig.getNestedArraySafe("suspiciousPermissions"))
318
+ if (androidConfig.has("suspiciousAppDetectionConfig")) {
319
+ talsecBuilder.suspiciousAppDetection(
320
+ androidConfig.getJSONObject("suspiciousAppDetectionConfig").toSuspiciousAppDetectionConfig()
321
+ )
324
322
  }
323
+
325
324
  return talsecBuilder.build()
326
325
  }
327
326
 
@@ -9,7 +9,7 @@ import kotlinx.serialization.Serializable
9
9
  @Serializable
10
10
  data class CapSuspiciousAppInfo(
11
11
  val packageInfo: CapPackageInfo,
12
- val reason: String,
12
+ val reasons: Set<String>,
13
13
  val permissions: Set<String>?
14
14
  )
15
15
 
@@ -6,6 +6,10 @@ import android.util.Base64
6
6
  import android.util.Log
7
7
  import com.aheaditec.freerasp.models.CapPackageInfo
8
8
  import com.aheaditec.freerasp.models.CapSuspiciousAppInfo
9
+ import com.aheaditec.talsec_security.security.api.MalwareScanScope
10
+ import com.aheaditec.talsec_security.security.api.ReasonMode
11
+ import com.aheaditec.talsec_security.security.api.ScopeType
12
+ import com.aheaditec.talsec_security.security.api.SuspiciousAppDetectionConfig
9
13
  import com.aheaditec.talsec_security.security.api.SuspiciousAppInfo
10
14
  import com.getcapacitor.JSArray
11
15
  import kotlinx.serialization.encodeToString
@@ -50,13 +54,33 @@ internal fun JSONObject.getNestedArraySafe(key: String): Array<Array<String>> {
50
54
  return outArray.toTypedArray()
51
55
  }
52
56
 
57
+ internal fun JSONObject.toScanScope(): MalwareScanScope {
58
+ val scopeType = ScopeType.valueOf(getString("scopeType"))
59
+ val trustedInstallSources = optJSONArray("trustedInstallSources")
60
+ ?.toPrimitiveArray<String>()?.toList()
61
+ return MalwareScanScope(scopeType, trustedInstallSources)
62
+ }
63
+
64
+ internal fun JSONObject.toSuspiciousAppDetectionConfig(): SuspiciousAppDetectionConfig {
65
+ val scanScope = getJSONObject("scanScope").toScanScope()
66
+ val reasonMode = ReasonMode.valueOf(getString("reasonMode"))
67
+ return SuspiciousAppDetectionConfig(
68
+ getArraySafe("packageNames").toSet().takeIf { it.isNotEmpty() },
69
+ getArraySafe("hashes").toSet().takeIf { it.isNotEmpty() },
70
+ getNestedArraySafe("requestedPermissions").map { it.toSet() }.toSet().takeIf { it.isNotEmpty() },
71
+ getNestedArraySafe("grantedPermissions").map { it.toSet() }.toSet().takeIf { it.isNotEmpty() },
72
+ scanScope,
73
+ reasonMode,
74
+ )
75
+ }
76
+
53
77
  /**
54
78
  * Converts the Talsec's SuspiciousAppInfo to Capacitor equivalent
55
79
  */
56
80
  internal fun SuspiciousAppInfo.toCapSuspiciousAppInfo(context: Context): CapSuspiciousAppInfo {
57
81
  return CapSuspiciousAppInfo(
58
82
  packageInfo = this.packageInfo.toCapPackageInfo(context),
59
- reason = this.reason,
83
+ reasons = this.reasons,
60
84
  permissions = this.permissions
61
85
  )
62
86
  }
@@ -1,4 +1,4 @@
1
- import type { TalsecConfig, ThreatEventActions, RaspExecutionStateEventActions } from '../../types/types';
1
+ import type { RaspExecutionStateEventActions, TalsecConfig, ThreatEventActions } from '../../types/types';
2
2
  export declare const startFreeRASP: (config: TalsecConfig, actions: ThreatEventActions, raspExecutionStateActions?: RaspExecutionStateEventActions) => Promise<{
3
3
  started: boolean;
4
4
  }>;
@@ -1,3 +1,4 @@
1
+ import { withDefaults } from '../../utils/config';
1
2
  import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';
2
3
  import { registerThreatListener } from '../listeners/threat';
3
4
  import { Talsec } from '../nativeModules';
@@ -10,7 +11,7 @@ export const startFreeRASP = async (config, actions, raspExecutionStateActions)
10
11
  if (isRaspStarted) {
11
12
  return { started: true };
12
13
  }
13
- const response = await Talsec.talsecStart({ config });
14
+ const response = await Talsec.talsecStart({ config: withDefaults(config) });
14
15
  isRaspStarted = true;
15
16
  return response;
16
17
  };
@@ -1 +1 @@
1
- {"version":3,"file":"capacitor.js","sourceRoot":"","sources":["../../../../src/api/methods/capacitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,MAAoB,EACpB,OAA2B,EAC3B,yBAA0D,EAC3B,EAAE;IACjC,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,yBAAyB,EAAE,CAAC;QAC9B,MAAM,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,aAAa,GAAG,IAAI,CAAC;IAErB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["import type { TalsecConfig, ThreatEventActions, RaspExecutionStateEventActions } from '../../types/types';\nimport { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\n\nlet isRaspStarted = false;\n\nexport const startFreeRASP = async (\n config: TalsecConfig,\n actions: ThreatEventActions,\n raspExecutionStateActions?: RaspExecutionStateEventActions,\n): Promise<{ started: boolean }> => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n if (isRaspStarted) {\n return { started: true };\n }\n\n const response = await Talsec.talsecStart({ config });\n isRaspStarted = true;\n\n return response;\n};\n"]}
1
+ {"version":3,"file":"capacitor.js","sourceRoot":"","sources":["../../../../src/api/methods/capacitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kCAAkC,EAAE,MAAM,iCAAiC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,IAAI,aAAa,GAAG,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,MAAoB,EACpB,OAA2B,EAC3B,yBAA0D,EAC3B,EAAE;IACjC,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,yBAAyB,EAAE,CAAC;QAC9B,MAAM,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5E,aAAa,GAAG,IAAI,CAAC;IAErB,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["import type { RaspExecutionStateEventActions, TalsecConfig, ThreatEventActions } from '../../types/types';\nimport { withDefaults } from '../../utils/config';\nimport { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\n\nlet isRaspStarted = false;\n\nexport const startFreeRASP = async (\n config: TalsecConfig,\n actions: ThreatEventActions,\n raspExecutionStateActions?: RaspExecutionStateEventActions,\n): Promise<{ started: boolean }> => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n if (isRaspStarted) {\n return { started: true };\n }\n\n const response = await Talsec.talsecStart({ config: withDefaults(config) });\n isRaspStarted = true;\n\n return response;\n};\n"]}
@@ -61,21 +61,29 @@ export type TalsecAndroidConfig = {
61
61
  packageName: string;
62
62
  certificateHashes: string[];
63
63
  supportedAlternativeStores?: string[];
64
- malwareConfig?: TalsecMalwareConfig;
64
+ suspiciousAppDetectionConfig?: SuspiciousAppDetectionConfig;
65
65
  };
66
66
  export type TalsecIosConfig = {
67
67
  appBundleId: string;
68
68
  appTeamId: string;
69
69
  };
70
- export type TalsecMalwareConfig = {
71
- blacklistedHashes?: string[];
72
- blacklistedPackageNames?: string[];
73
- suspiciousPermissions?: string[][];
74
- whitelistedInstallationSources?: string[];
70
+ export type ScopeType = 'SIDELOADED_ONLY' | 'SIDELOADED_AND_SYSTEM_EXCLUDE_OEM' | 'SIDELOADED_AND_OEM' | 'SIDELOADED_AND_SYSTEM_AND_OEM' | 'ALL';
71
+ export type ReasonMode = 'ALL' | 'HIGHEST_CONFIDENCE';
72
+ export type ScanScope = {
73
+ scopeType: ScopeType;
74
+ trustedInstallSources?: string[];
75
+ };
76
+ export type SuspiciousAppDetectionConfig = {
77
+ packageNames?: string[];
78
+ hashes?: string[];
79
+ requestedPermissions?: string[][];
80
+ grantedPermissions?: string[][];
81
+ scanScope: ScanScope;
82
+ reasonMode: ReasonMode;
75
83
  };
76
84
  export type SuspiciousAppInfo = {
77
85
  packageInfo: PackageInfo;
78
- reason: string;
86
+ reasons: string[];
79
87
  permissions?: string[];
80
88
  };
81
89
  export type PackageInfo = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface TalsecPlugin {\n talsecStart(options: { config: TalsecConfig }): Promise<{ started: boolean }>;\n addListener(listener: string, callback: any): any;\n onInvalidCallback(): void;\n removeListenerForEvent(options: { eventName: string }): Promise<{ result: string }>;\n getThreatIdentifiers(): Promise<{ ids: number[] }>;\n getThreatChannelData(): Promise<{ ids: [string, string, string] }>;\n getRaspExecutionStateIdentifiers(): Promise<{ ids: number[] }>;\n getRaspExecutionStateChannelData(): Promise<{ ids: [string, string] }>;\n storeExternalId(options: { data: string }): Promise<{ result: boolean }>;\n removeExternalId(): Promise<{ result: boolean }>;\n addToWhitelist(options: { packageName: string }): Promise<{ result: boolean }>;\n blockScreenCapture(options: { enable: boolean }): Promise<{ result: boolean }>;\n isScreenCaptureBlocked(): Promise<{ result: boolean }>;\n getAppIcon(options: { packageName: string }): Promise<{ result: string }>;\n}\n\nexport type TalsecConfig = {\n androidConfig?: TalsecAndroidConfig;\n iosConfig?: TalsecIosConfig;\n watcherMail: string;\n isProd?: boolean;\n killOnBypass?: boolean;\n};\n\nexport type TalsecAndroidConfig = {\n packageName: string;\n certificateHashes: string[];\n supportedAlternativeStores?: string[];\n malwareConfig?: TalsecMalwareConfig;\n};\n\nexport type TalsecIosConfig = {\n appBundleId: string;\n appTeamId: string;\n};\n\nexport type TalsecMalwareConfig = {\n blacklistedHashes?: string[];\n blacklistedPackageNames?: string[];\n suspiciousPermissions?: string[][];\n whitelistedInstallationSources?: string[];\n};\n\nexport type SuspiciousAppInfo = {\n packageInfo: PackageInfo;\n reason: string;\n permissions?: string[];\n};\n\nexport type PackageInfo = {\n packageName: string;\n appName?: string;\n version?: string;\n appIcon?: string;\n installerStore?: string;\n};\n\nexport type ThreatEventActions = {\n privilegedAccess?: () => any;\n debug?: () => any;\n simulator?: () => any;\n appIntegrity?: () => any;\n unofficialStore?: () => any;\n hooks?: () => any;\n deviceBinding?: () => any;\n deviceID?: () => any;\n passcode?: () => any;\n secureHardwareNotAvailable?: () => any;\n obfuscationIssues?: () => any;\n devMode?: () => any;\n systemVPN?: () => any;\n malware?: (suspiciousApps: SuspiciousAppInfo[]) => any;\n adbEnabled?: () => any;\n screenshot?: () => any;\n screenRecording?: () => any;\n multiInstance?: () => any;\n timeSpoofing?: () => any;\n locationSpoofing?: () => any;\n unsecureWifi?: () => any;\n automation?: () => any;\n};\n\nexport type NativeEvent = { [key: string]: number | string[] | undefined };\n\nexport type RaspExecutionStateEventActions = {\n allChecksFinished?: () => any;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface TalsecPlugin {\n talsecStart(options: { config: TalsecConfig }): Promise<{ started: boolean }>;\n addListener(listener: string, callback: any): any;\n onInvalidCallback(): void;\n removeListenerForEvent(options: { eventName: string }): Promise<{ result: string }>;\n getThreatIdentifiers(): Promise<{ ids: number[] }>;\n getThreatChannelData(): Promise<{ ids: [string, string, string] }>;\n getRaspExecutionStateIdentifiers(): Promise<{ ids: number[] }>;\n getRaspExecutionStateChannelData(): Promise<{ ids: [string, string] }>;\n storeExternalId(options: { data: string }): Promise<{ result: boolean }>;\n removeExternalId(): Promise<{ result: boolean }>;\n addToWhitelist(options: { packageName: string }): Promise<{ result: boolean }>;\n blockScreenCapture(options: { enable: boolean }): Promise<{ result: boolean }>;\n isScreenCaptureBlocked(): Promise<{ result: boolean }>;\n getAppIcon(options: { packageName: string }): Promise<{ result: string }>;\n}\n\nexport type TalsecConfig = {\n androidConfig?: TalsecAndroidConfig;\n iosConfig?: TalsecIosConfig;\n watcherMail: string;\n isProd?: boolean;\n killOnBypass?: boolean;\n};\n\nexport type TalsecAndroidConfig = {\n packageName: string;\n certificateHashes: string[];\n supportedAlternativeStores?: string[];\n suspiciousAppDetectionConfig?: SuspiciousAppDetectionConfig;\n};\n\nexport type TalsecIosConfig = {\n appBundleId: string;\n appTeamId: string;\n};\n\nexport type ScopeType =\n | 'SIDELOADED_ONLY'\n | 'SIDELOADED_AND_SYSTEM_EXCLUDE_OEM'\n | 'SIDELOADED_AND_OEM'\n | 'SIDELOADED_AND_SYSTEM_AND_OEM'\n | 'ALL';\n\nexport type ReasonMode = 'ALL' | 'HIGHEST_CONFIDENCE';\n\nexport type ScanScope = {\n scopeType: ScopeType;\n trustedInstallSources?: string[];\n};\n\nexport type SuspiciousAppDetectionConfig = {\n packageNames?: string[];\n hashes?: string[];\n requestedPermissions?: string[][];\n grantedPermissions?: string[][];\n scanScope: ScanScope;\n reasonMode: ReasonMode;\n};\n\nexport type SuspiciousAppInfo = {\n packageInfo: PackageInfo;\n reasons: string[];\n permissions?: string[];\n};\n\nexport type PackageInfo = {\n packageName: string;\n appName?: string;\n version?: string;\n appIcon?: string;\n installerStore?: string;\n};\n\nexport type ThreatEventActions = {\n privilegedAccess?: () => any;\n debug?: () => any;\n simulator?: () => any;\n appIntegrity?: () => any;\n unofficialStore?: () => any;\n hooks?: () => any;\n deviceBinding?: () => any;\n deviceID?: () => any;\n passcode?: () => any;\n secureHardwareNotAvailable?: () => any;\n obfuscationIssues?: () => any;\n devMode?: () => any;\n systemVPN?: () => any;\n malware?: (suspiciousApps: SuspiciousAppInfo[]) => any;\n adbEnabled?: () => any;\n screenshot?: () => any;\n screenRecording?: () => any;\n multiInstance?: () => any;\n timeSpoofing?: () => any;\n locationSpoofing?: () => any;\n unsecureWifi?: () => any;\n automation?: () => any;\n};\n\nexport type NativeEvent = { [key: string]: number | string[] | undefined };\n\nexport type RaspExecutionStateEventActions = {\n allChecksFinished?: () => any;\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { ScanScope, ReasonMode, SuspiciousAppDetectionConfig, TalsecAndroidConfig, TalsecConfig } from '../types/types';
2
+ export declare const DEFAULT_SCAN_SCOPE: ScanScope;
3
+ export declare const DEFAULT_REASON_MODE: ReasonMode;
4
+ export declare const withDetectionDefaults: (config: SuspiciousAppDetectionConfig) => SuspiciousAppDetectionConfig;
5
+ export declare const normalizeAndroidConfig: (androidConfig: TalsecAndroidConfig) => TalsecAndroidConfig;
6
+ export declare const withDefaults: (config: TalsecConfig) => TalsecConfig;
@@ -0,0 +1,21 @@
1
+ export const DEFAULT_SCAN_SCOPE = {
2
+ scopeType: 'SIDELOADED_ONLY',
3
+ };
4
+ export const DEFAULT_REASON_MODE = 'HIGHEST_CONFIDENCE';
5
+ export const withDetectionDefaults = (config) => {
6
+ var _a, _b;
7
+ return (Object.assign(Object.assign({}, config), { scanScope: (_a = config.scanScope) !== null && _a !== void 0 ? _a : DEFAULT_SCAN_SCOPE, reasonMode: (_b = config.reasonMode) !== null && _b !== void 0 ? _b : DEFAULT_REASON_MODE }));
8
+ };
9
+ export const normalizeAndroidConfig = (androidConfig) => {
10
+ if (!androidConfig.suspiciousAppDetectionConfig) {
11
+ return androidConfig;
12
+ }
13
+ return Object.assign(Object.assign({}, androidConfig), { suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig) });
14
+ };
15
+ export const withDefaults = (config) => {
16
+ if (!config.androidConfig) {
17
+ return config;
18
+ }
19
+ return Object.assign(Object.assign({}, config), { androidConfig: normalizeAndroidConfig(config.androidConfig) });
20
+ };
21
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/utils/config.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAe,oBAAoB,CAAC;AAEpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,MAAoC,EAAgC,EAAE;;IAAC,OAAA,iCACxG,MAAM,KACT,SAAS,EAAE,MAAA,MAAM,CAAC,SAAS,mCAAI,kBAAkB,EACjD,UAAU,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,mBAAmB,IACpD,CAAA;CAAA,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,aAAkC,EAAuB,EAAE;IAChG,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE,CAAC;QAChD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,uCACK,aAAa,KAChB,4BAA4B,EAAE,qBAAqB,CAAC,aAAa,CAAC,4BAA4B,CAAC,IAC/F;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAgB,EAAE;IACjE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,uCACK,MAAM,KACT,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,aAAa,CAAC,IAC3D;AACJ,CAAC,CAAC","sourcesContent":["import type {\n ScanScope,\n ReasonMode,\n SuspiciousAppDetectionConfig,\n TalsecAndroidConfig,\n TalsecConfig,\n} from '../types/types';\n\nexport const DEFAULT_SCAN_SCOPE: ScanScope = {\n scopeType: 'SIDELOADED_ONLY',\n};\nexport const DEFAULT_REASON_MODE: ReasonMode = 'HIGHEST_CONFIDENCE';\n\nexport const withDetectionDefaults = (config: SuspiciousAppDetectionConfig): SuspiciousAppDetectionConfig => ({\n ...config,\n scanScope: config.scanScope ?? DEFAULT_SCAN_SCOPE,\n reasonMode: config.reasonMode ?? DEFAULT_REASON_MODE,\n});\n\nexport const normalizeAndroidConfig = (androidConfig: TalsecAndroidConfig): TalsecAndroidConfig => {\n if (!androidConfig.suspiciousAppDetectionConfig) {\n return androidConfig;\n }\n return {\n ...androidConfig,\n suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig),\n };\n};\n\nexport const withDefaults = (config: TalsecConfig): TalsecConfig => {\n if (!config.androidConfig) {\n return config;\n }\n return {\n ...config,\n androidConfig: normalizeAndroidConfig(config.androidConfig),\n };\n};\n"]}
@@ -15,7 +15,7 @@ export const toSuspiciousAppInfo = (base64Value) => {
15
15
  const packageInfo = data.packageInfo;
16
16
  return {
17
17
  packageInfo,
18
- reason: data.reason,
18
+ reasons: data.reasons,
19
19
  permissions: data.permissions,
20
20
  };
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"malware.js","sourceRoot":"","sources":["../../../src/utils/malware.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAc,EAAgC,EAAE;IACrF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAqB,EAAE;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAA0B,CAAC;IACpD,OAAO;QACL,WAAW;QACX,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,WAAW,EAAE,IAAI,CAAC,WAAW;KACT,CAAC;AACzB,CAAC,CAAC","sourcesContent":["import type { PackageInfo, SuspiciousAppInfo } from '../types/types';\n\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nexport const parseMalwareData = async (data: string[]): Promise<SuspiciousAppInfo[]> => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map((entry) => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n } catch (error: any) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\n\nexport const toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo as PackageInfo;\n return {\n packageInfo,\n reason: data.reason,\n permissions: data.permissions,\n } as SuspiciousAppInfo;\n};\n"]}
1
+ {"version":3,"file":"malware.js","sourceRoot":"","sources":["../../../src/utils/malware.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAc,EAAgC,EAAE;IACrF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAqB,EAAE;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAA0B,CAAC;IACpD,OAAO;QACL,WAAW;QACX,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,WAAW,EAAE,IAAI,CAAC,WAAW;KACT,CAAC;AACzB,CAAC,CAAC","sourcesContent":["import type { PackageInfo, SuspiciousAppInfo } from '../types/types';\n\n// parses base64-encoded malware data to SuspiciousAppInfo[]\nexport const parseMalwareData = async (data: string[]): Promise<SuspiciousAppInfo[]> => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map((entry) => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n } catch (error: any) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\n\nexport const toSuspiciousAppInfo = (base64Value: string): SuspiciousAppInfo => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo as PackageInfo;\n return {\n packageInfo,\n reasons: data.reasons,\n permissions: data.permissions,\n } as SuspiciousAppInfo;\n};\n"]}
@@ -174,7 +174,7 @@ const toSuspiciousAppInfo = (base64Value) => {
174
174
  const packageInfo = data.packageInfo;
175
175
  return {
176
176
  packageInfo,
177
- reason: data.reason,
177
+ reasons: data.reasons,
178
178
  permissions: data.permissions,
179
179
  };
180
180
  };
@@ -362,6 +362,27 @@ const removeRaspExecutionStateListener = async () => {
362
362
  await Talsec.removeListenerForEvent({ eventName: executionStateChannel });
363
363
  };
364
364
 
365
+ const DEFAULT_SCAN_SCOPE = {
366
+ scopeType: 'SIDELOADED_ONLY',
367
+ };
368
+ const DEFAULT_REASON_MODE = 'HIGHEST_CONFIDENCE';
369
+ const withDetectionDefaults = (config) => {
370
+ var _a, _b;
371
+ return (Object.assign(Object.assign({}, config), { scanScope: (_a = config.scanScope) !== null && _a !== void 0 ? _a : DEFAULT_SCAN_SCOPE, reasonMode: (_b = config.reasonMode) !== null && _b !== void 0 ? _b : DEFAULT_REASON_MODE }));
372
+ };
373
+ const normalizeAndroidConfig = (androidConfig) => {
374
+ if (!androidConfig.suspiciousAppDetectionConfig) {
375
+ return androidConfig;
376
+ }
377
+ return Object.assign(Object.assign({}, androidConfig), { suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig) });
378
+ };
379
+ const withDefaults = (config) => {
380
+ if (!config.androidConfig) {
381
+ return config;
382
+ }
383
+ return Object.assign(Object.assign({}, config), { androidConfig: normalizeAndroidConfig(config.androidConfig) });
384
+ };
385
+
365
386
  let isRaspStarted = false;
366
387
  const startFreeRASP = async (config, actions, raspExecutionStateActions) => {
367
388
  await registerThreatListener(actions);
@@ -371,7 +392,7 @@ const startFreeRASP = async (config, actions, raspExecutionStateActions) => {
371
392
  if (isRaspStarted) {
372
393
  return { started: true };
373
394
  }
374
- const response = await Talsec.talsecStart({ config });
395
+ const response = await Talsec.talsecStart({ config: withDefaults(config) });
375
396
  isRaspStarted = true;
376
397
  return response;
377
398
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.cjs.js","sources":["esm/api/nativeModules.js","esm/api/methods/native.js","esm/models/threat.js","esm/models/raspExecutionState.js","esm/utils/utils.js","esm/channels/threat.js","esm/utils/malware.js","esm/api/listeners/threat.js","esm/channels/raspExecutionState.js","esm/api/listeners/raspExecutionState.js","esm/api/methods/capacitor.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nexport const Talsec = registerPlugin('Freerasp', {});\n//# sourceMappingURL=nativeModules.js.map","import { Capacitor } from '@capacitor/core';\nimport { Talsec } from '../nativeModules';\nexport const addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection is not available on iOS');\n }\n const { result } = await Talsec.addToWhitelist({ packageName });\n return result;\n};\nexport const blockScreenCapture = async (enable) => {\n const { result } = await Talsec.blockScreenCapture({ enable });\n return result;\n};\nexport const isScreenCaptureBlocked = async () => {\n const { result } = await Talsec.isScreenCaptureBlocked();\n return result;\n};\nexport const storeExternalId = async (data) => {\n const { result } = await Talsec.storeExternalId({ data });\n return result;\n};\nexport const removeExternalId = async () => {\n const { result } = await Talsec.removeExternalId();\n return result;\n};\nexport const getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection is not available on iOS');\n }\n const { result } = await Talsec.getAppIcon({ packageName });\n return result;\n};\nexport const onInvalidCallback = () => {\n Talsec.onInvalidCallback();\n};\n//# sourceMappingURL=native.js.map","import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n this.MultiInstance,\n this.TimeSpoofing,\n this.LocationSpoofing,\n this.UnsecureWifi,\n this.Automation,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n this.TimeSpoofing,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\nThreat.MultiInstance = new Threat(0);\nThreat.TimeSpoofing = new Threat(0);\nThreat.LocationSpoofing = new Threat(0);\nThreat.UnsecureWifi = new Threat(0);\nThreat.Automation = new Threat(0);\n//# sourceMappingURL=threat.js.map","export class RaspExecutionState {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return [this.AllChecksFinished];\n }\n}\nRaspExecutionState.AllChecksFinished = new RaspExecutionState(0);\n//# sourceMappingURL=raspExecutionState.js.map","import { RaspExecutionState } from '../models/raspExecutionState';\nimport { Threat } from '../models/threat';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const getRaspExecutionStateCount = () => {\n return RaspExecutionState.getValues().length;\n};\nexport const itemsHaveType = (data, expectedType) => {\n return data.every((item) => typeof item === expectedType);\n};\n//# sourceMappingURL=utils.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { Threat } from '../models/threat';\nimport { getThreatCount, itemsHaveType } from '../utils/utils';\nexport const getThreatIdentifiers = async () => {\n const { ids } = await Talsec.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== 3 || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareThreatMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n try {\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n }\n catch (err) {\n console.error('Could not map Talsec threats', err);\n }\n};\n//# sourceMappingURL=threat.js.map","// parses base64-encoded malware data to SuspiciousAppInfo[]\nexport const parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map((entry) => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nexport const toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return {\n packageInfo,\n reason: data.reason,\n permissions: data.permissions,\n };\n};\n//# sourceMappingURL=malware.js.map","import { getThreatChannelData, prepareThreatMapping } from '../../channels/threat';\nimport { Threat } from '../../models/threat';\nimport { parseMalwareData } from '../../utils/malware';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet threatChannel = null;\nlet threatKey = null;\nlet threatMalwareKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeThreatListener();\n if (!threatChannel || !threatKey || !threatMalwareKey) {\n [threatChannel, threatKey, threatMalwareKey] = await getThreatChannelData();\n }\n if (!isMappingPrepared) {\n await prepareThreatMapping();\n isMappingPrepared = true;\n }\n if (!threatChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(threatChannel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n if (!threatKey || !threatMalwareKey) {\n onInvalidCallback();\n return;\n }\n switch (event[threatKey]) {\n case Threat.PrivilegedAccess.value:\n (_a = config.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n case Threat.Debug.value:\n (_b = config.debug) === null || _b === void 0 ? void 0 : _b.call(config);\n break;\n case Threat.Simulator.value:\n (_c = config.simulator) === null || _c === void 0 ? void 0 : _c.call(config);\n break;\n case Threat.AppIntegrity.value:\n (_d = config.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(config);\n break;\n case Threat.UnofficialStore.value:\n (_e = config.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(config);\n break;\n case Threat.Hooks.value:\n (_f = config.hooks) === null || _f === void 0 ? void 0 : _f.call(config);\n break;\n case Threat.DeviceBinding.value:\n (_g = config.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(config);\n break;\n case Threat.Passcode.value:\n (_h = config.passcode) === null || _h === void 0 ? void 0 : _h.call(config);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = config.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(config);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = config.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(config);\n break;\n case Threat.DeviceID.value:\n (_l = config.deviceID) === null || _l === void 0 ? void 0 : _l.call(config);\n break;\n case Threat.DevMode.value:\n (_m = config.devMode) === null || _m === void 0 ? void 0 : _m.call(config);\n break;\n case Threat.SystemVPN.value:\n (_o = config.systemVPN) === null || _o === void 0 ? void 0 : _o.call(config);\n break;\n case Threat.Malware.value:\n (_p = config.malware) === null || _p === void 0 ? void 0 : _p.call(config, await parseMalwareData(event[threatMalwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = config.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(config);\n break;\n case Threat.Screenshot.value:\n (_r = config.screenshot) === null || _r === void 0 ? void 0 : _r.call(config);\n break;\n case Threat.ScreenRecording.value:\n (_s = config.screenRecording) === null || _s === void 0 ? void 0 : _s.call(config);\n break;\n case Threat.MultiInstance.value:\n (_t = config.multiInstance) === null || _t === void 0 ? void 0 : _t.call(config);\n break;\n case Threat.TimeSpoofing.value:\n (_u = config.timeSpoofing) === null || _u === void 0 ? void 0 : _u.call(config);\n break;\n case Threat.LocationSpoofing.value:\n (_v = config.locationSpoofing) === null || _v === void 0 ? void 0 : _v.call(config);\n break;\n case Threat.UnsecureWifi.value:\n (_w = config.unsecureWifi) === null || _w === void 0 ? void 0 : _w.call(config);\n break;\n case Threat.Automation.value:\n (_x = config.automation) === null || _x === void 0 ? void 0 : _x.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeThreatListener = async () => {\n if (!eventsListener || !threatChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: threatChannel });\n};\n//# sourceMappingURL=threat.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { RaspExecutionState } from '../models/raspExecutionState';\nimport { getRaspExecutionStateCount, itemsHaveType } from '../utils/utils';\nexport const getRaspExecutionStateIdentifiers = async () => {\n const { ids } = await Talsec.getRaspExecutionStateIdentifiers();\n if (ids.length !== getRaspExecutionStateCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getRaspExecutionStateChannelData = async () => {\n const dataLength = 2;\n const { ids } = await Talsec.getRaspExecutionStateChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareRaspExecutionStateMapping = async () => {\n const newValues = await getRaspExecutionStateIdentifiers();\n const threats = RaspExecutionState.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { getRaspExecutionStateChannelData, prepareRaspExecutionStateMapping } from '../../channels/raspExecutionState';\nimport { RaspExecutionState } from '../../models/raspExecutionState';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet executionStateChannel = null;\nlet executionStateKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeRaspExecutionStateListener();\n if (!executionStateChannel || !executionStateKey) {\n [executionStateChannel, executionStateKey] = await getRaspExecutionStateChannelData();\n }\n if (!isMappingPrepared) {\n await prepareRaspExecutionStateMapping();\n isMappingPrepared = true;\n }\n if (!executionStateChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(executionStateChannel, async (event) => {\n var _a;\n if (!executionStateKey) {\n onInvalidCallback();\n return;\n }\n switch (event[executionStateKey]) {\n case RaspExecutionState.AllChecksFinished.value:\n (_a = config.allChecksFinished) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeRaspExecutionStateListener = async () => {\n if (!eventsListener || !executionStateChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: executionStateChannel });\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nlet isRaspStarted = false;\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n if (isRaspStarted) {\n return { started: true };\n }\n const response = await Talsec.talsecStart({ config });\n isRaspStarted = true;\n return response;\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing","isMappingPrepared"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.cjs.js","sources":["esm/api/nativeModules.js","esm/api/methods/native.js","esm/models/threat.js","esm/models/raspExecutionState.js","esm/utils/utils.js","esm/channels/threat.js","esm/utils/malware.js","esm/api/listeners/threat.js","esm/channels/raspExecutionState.js","esm/api/listeners/raspExecutionState.js","esm/utils/config.js","esm/api/methods/capacitor.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nexport const Talsec = registerPlugin('Freerasp', {});\n//# sourceMappingURL=nativeModules.js.map","import { Capacitor } from '@capacitor/core';\nimport { Talsec } from '../nativeModules';\nexport const addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection is not available on iOS');\n }\n const { result } = await Talsec.addToWhitelist({ packageName });\n return result;\n};\nexport const blockScreenCapture = async (enable) => {\n const { result } = await Talsec.blockScreenCapture({ enable });\n return result;\n};\nexport const isScreenCaptureBlocked = async () => {\n const { result } = await Talsec.isScreenCaptureBlocked();\n return result;\n};\nexport const storeExternalId = async (data) => {\n const { result } = await Talsec.storeExternalId({ data });\n return result;\n};\nexport const removeExternalId = async () => {\n const { result } = await Talsec.removeExternalId();\n return result;\n};\nexport const getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection is not available on iOS');\n }\n const { result } = await Talsec.getAppIcon({ packageName });\n return result;\n};\nexport const onInvalidCallback = () => {\n Talsec.onInvalidCallback();\n};\n//# sourceMappingURL=native.js.map","import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n this.MultiInstance,\n this.TimeSpoofing,\n this.LocationSpoofing,\n this.UnsecureWifi,\n this.Automation,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n this.TimeSpoofing,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\nThreat.MultiInstance = new Threat(0);\nThreat.TimeSpoofing = new Threat(0);\nThreat.LocationSpoofing = new Threat(0);\nThreat.UnsecureWifi = new Threat(0);\nThreat.Automation = new Threat(0);\n//# sourceMappingURL=threat.js.map","export class RaspExecutionState {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return [this.AllChecksFinished];\n }\n}\nRaspExecutionState.AllChecksFinished = new RaspExecutionState(0);\n//# sourceMappingURL=raspExecutionState.js.map","import { RaspExecutionState } from '../models/raspExecutionState';\nimport { Threat } from '../models/threat';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const getRaspExecutionStateCount = () => {\n return RaspExecutionState.getValues().length;\n};\nexport const itemsHaveType = (data, expectedType) => {\n return data.every((item) => typeof item === expectedType);\n};\n//# sourceMappingURL=utils.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { Threat } from '../models/threat';\nimport { getThreatCount, itemsHaveType } from '../utils/utils';\nexport const getThreatIdentifiers = async () => {\n const { ids } = await Talsec.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== 3 || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareThreatMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n try {\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n }\n catch (err) {\n console.error('Could not map Talsec threats', err);\n }\n};\n//# sourceMappingURL=threat.js.map","// parses base64-encoded malware data to SuspiciousAppInfo[]\nexport const parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map((entry) => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nexport const toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return {\n packageInfo,\n reasons: data.reasons,\n permissions: data.permissions,\n };\n};\n//# sourceMappingURL=malware.js.map","import { getThreatChannelData, prepareThreatMapping } from '../../channels/threat';\nimport { Threat } from '../../models/threat';\nimport { parseMalwareData } from '../../utils/malware';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet threatChannel = null;\nlet threatKey = null;\nlet threatMalwareKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeThreatListener();\n if (!threatChannel || !threatKey || !threatMalwareKey) {\n [threatChannel, threatKey, threatMalwareKey] = await getThreatChannelData();\n }\n if (!isMappingPrepared) {\n await prepareThreatMapping();\n isMappingPrepared = true;\n }\n if (!threatChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(threatChannel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n if (!threatKey || !threatMalwareKey) {\n onInvalidCallback();\n return;\n }\n switch (event[threatKey]) {\n case Threat.PrivilegedAccess.value:\n (_a = config.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n case Threat.Debug.value:\n (_b = config.debug) === null || _b === void 0 ? void 0 : _b.call(config);\n break;\n case Threat.Simulator.value:\n (_c = config.simulator) === null || _c === void 0 ? void 0 : _c.call(config);\n break;\n case Threat.AppIntegrity.value:\n (_d = config.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(config);\n break;\n case Threat.UnofficialStore.value:\n (_e = config.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(config);\n break;\n case Threat.Hooks.value:\n (_f = config.hooks) === null || _f === void 0 ? void 0 : _f.call(config);\n break;\n case Threat.DeviceBinding.value:\n (_g = config.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(config);\n break;\n case Threat.Passcode.value:\n (_h = config.passcode) === null || _h === void 0 ? void 0 : _h.call(config);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = config.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(config);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = config.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(config);\n break;\n case Threat.DeviceID.value:\n (_l = config.deviceID) === null || _l === void 0 ? void 0 : _l.call(config);\n break;\n case Threat.DevMode.value:\n (_m = config.devMode) === null || _m === void 0 ? void 0 : _m.call(config);\n break;\n case Threat.SystemVPN.value:\n (_o = config.systemVPN) === null || _o === void 0 ? void 0 : _o.call(config);\n break;\n case Threat.Malware.value:\n (_p = config.malware) === null || _p === void 0 ? void 0 : _p.call(config, await parseMalwareData(event[threatMalwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = config.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(config);\n break;\n case Threat.Screenshot.value:\n (_r = config.screenshot) === null || _r === void 0 ? void 0 : _r.call(config);\n break;\n case Threat.ScreenRecording.value:\n (_s = config.screenRecording) === null || _s === void 0 ? void 0 : _s.call(config);\n break;\n case Threat.MultiInstance.value:\n (_t = config.multiInstance) === null || _t === void 0 ? void 0 : _t.call(config);\n break;\n case Threat.TimeSpoofing.value:\n (_u = config.timeSpoofing) === null || _u === void 0 ? void 0 : _u.call(config);\n break;\n case Threat.LocationSpoofing.value:\n (_v = config.locationSpoofing) === null || _v === void 0 ? void 0 : _v.call(config);\n break;\n case Threat.UnsecureWifi.value:\n (_w = config.unsecureWifi) === null || _w === void 0 ? void 0 : _w.call(config);\n break;\n case Threat.Automation.value:\n (_x = config.automation) === null || _x === void 0 ? void 0 : _x.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeThreatListener = async () => {\n if (!eventsListener || !threatChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: threatChannel });\n};\n//# sourceMappingURL=threat.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { RaspExecutionState } from '../models/raspExecutionState';\nimport { getRaspExecutionStateCount, itemsHaveType } from '../utils/utils';\nexport const getRaspExecutionStateIdentifiers = async () => {\n const { ids } = await Talsec.getRaspExecutionStateIdentifiers();\n if (ids.length !== getRaspExecutionStateCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getRaspExecutionStateChannelData = async () => {\n const dataLength = 2;\n const { ids } = await Talsec.getRaspExecutionStateChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareRaspExecutionStateMapping = async () => {\n const newValues = await getRaspExecutionStateIdentifiers();\n const threats = RaspExecutionState.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { getRaspExecutionStateChannelData, prepareRaspExecutionStateMapping } from '../../channels/raspExecutionState';\nimport { RaspExecutionState } from '../../models/raspExecutionState';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet executionStateChannel = null;\nlet executionStateKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeRaspExecutionStateListener();\n if (!executionStateChannel || !executionStateKey) {\n [executionStateChannel, executionStateKey] = await getRaspExecutionStateChannelData();\n }\n if (!isMappingPrepared) {\n await prepareRaspExecutionStateMapping();\n isMappingPrepared = true;\n }\n if (!executionStateChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(executionStateChannel, async (event) => {\n var _a;\n if (!executionStateKey) {\n onInvalidCallback();\n return;\n }\n switch (event[executionStateKey]) {\n case RaspExecutionState.AllChecksFinished.value:\n (_a = config.allChecksFinished) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeRaspExecutionStateListener = async () => {\n if (!eventsListener || !executionStateChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: executionStateChannel });\n};\n//# sourceMappingURL=raspExecutionState.js.map","export const DEFAULT_SCAN_SCOPE = {\n scopeType: 'SIDELOADED_ONLY',\n};\nexport const DEFAULT_REASON_MODE = 'HIGHEST_CONFIDENCE';\nexport const withDetectionDefaults = (config) => {\n var _a, _b;\n return (Object.assign(Object.assign({}, config), { scanScope: (_a = config.scanScope) !== null && _a !== void 0 ? _a : DEFAULT_SCAN_SCOPE, reasonMode: (_b = config.reasonMode) !== null && _b !== void 0 ? _b : DEFAULT_REASON_MODE }));\n};\nexport const normalizeAndroidConfig = (androidConfig) => {\n if (!androidConfig.suspiciousAppDetectionConfig) {\n return androidConfig;\n }\n return Object.assign(Object.assign({}, androidConfig), { suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig) });\n};\nexport const withDefaults = (config) => {\n if (!config.androidConfig) {\n return config;\n }\n return Object.assign(Object.assign({}, config), { androidConfig: normalizeAndroidConfig(config.androidConfig) });\n};\n//# sourceMappingURL=config.js.map","import { withDefaults } from '../../utils/config';\nimport { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nlet isRaspStarted = false;\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n if (isRaspStarted) {\n return { started: true };\n }\n const response = await Talsec.talsecStart({ config: withDefaults(config) });\n isRaspStarted = true;\n return response;\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing","isMappingPrepared"],"mappings":"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"}
package/dist/plugin.js CHANGED
@@ -171,7 +171,7 @@ var capacitorFreerasp = (function (exports, core) {
171
171
  const packageInfo = data.packageInfo;
172
172
  return {
173
173
  packageInfo,
174
- reason: data.reason,
174
+ reasons: data.reasons,
175
175
  permissions: data.permissions,
176
176
  };
177
177
  };
@@ -359,6 +359,27 @@ var capacitorFreerasp = (function (exports, core) {
359
359
  await Talsec.removeListenerForEvent({ eventName: executionStateChannel });
360
360
  };
361
361
 
362
+ const DEFAULT_SCAN_SCOPE = {
363
+ scopeType: 'SIDELOADED_ONLY',
364
+ };
365
+ const DEFAULT_REASON_MODE = 'HIGHEST_CONFIDENCE';
366
+ const withDetectionDefaults = (config) => {
367
+ var _a, _b;
368
+ return (Object.assign(Object.assign({}, config), { scanScope: (_a = config.scanScope) !== null && _a !== void 0 ? _a : DEFAULT_SCAN_SCOPE, reasonMode: (_b = config.reasonMode) !== null && _b !== void 0 ? _b : DEFAULT_REASON_MODE }));
369
+ };
370
+ const normalizeAndroidConfig = (androidConfig) => {
371
+ if (!androidConfig.suspiciousAppDetectionConfig) {
372
+ return androidConfig;
373
+ }
374
+ return Object.assign(Object.assign({}, androidConfig), { suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig) });
375
+ };
376
+ const withDefaults = (config) => {
377
+ if (!config.androidConfig) {
378
+ return config;
379
+ }
380
+ return Object.assign(Object.assign({}, config), { androidConfig: normalizeAndroidConfig(config.androidConfig) });
381
+ };
382
+
362
383
  let isRaspStarted = false;
363
384
  const startFreeRASP = async (config, actions, raspExecutionStateActions) => {
364
385
  await registerThreatListener(actions);
@@ -368,7 +389,7 @@ var capacitorFreerasp = (function (exports, core) {
368
389
  if (isRaspStarted) {
369
390
  return { started: true };
370
391
  }
371
- const response = await Talsec.talsecStart({ config });
392
+ const response = await Talsec.talsecStart({ config: withDefaults(config) });
372
393
  isRaspStarted = true;
373
394
  return response;
374
395
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sources":["esm/api/nativeModules.js","esm/api/methods/native.js","esm/models/threat.js","esm/models/raspExecutionState.js","esm/utils/utils.js","esm/channels/threat.js","esm/utils/malware.js","esm/api/listeners/threat.js","esm/channels/raspExecutionState.js","esm/api/listeners/raspExecutionState.js","esm/api/methods/capacitor.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nexport const Talsec = registerPlugin('Freerasp', {});\n//# sourceMappingURL=nativeModules.js.map","import { Capacitor } from '@capacitor/core';\nimport { Talsec } from '../nativeModules';\nexport const addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection is not available on iOS');\n }\n const { result } = await Talsec.addToWhitelist({ packageName });\n return result;\n};\nexport const blockScreenCapture = async (enable) => {\n const { result } = await Talsec.blockScreenCapture({ enable });\n return result;\n};\nexport const isScreenCaptureBlocked = async () => {\n const { result } = await Talsec.isScreenCaptureBlocked();\n return result;\n};\nexport const storeExternalId = async (data) => {\n const { result } = await Talsec.storeExternalId({ data });\n return result;\n};\nexport const removeExternalId = async () => {\n const { result } = await Talsec.removeExternalId();\n return result;\n};\nexport const getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection is not available on iOS');\n }\n const { result } = await Talsec.getAppIcon({ packageName });\n return result;\n};\nexport const onInvalidCallback = () => {\n Talsec.onInvalidCallback();\n};\n//# sourceMappingURL=native.js.map","import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n this.MultiInstance,\n this.TimeSpoofing,\n this.LocationSpoofing,\n this.UnsecureWifi,\n this.Automation,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n this.TimeSpoofing,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\nThreat.MultiInstance = new Threat(0);\nThreat.TimeSpoofing = new Threat(0);\nThreat.LocationSpoofing = new Threat(0);\nThreat.UnsecureWifi = new Threat(0);\nThreat.Automation = new Threat(0);\n//# sourceMappingURL=threat.js.map","export class RaspExecutionState {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return [this.AllChecksFinished];\n }\n}\nRaspExecutionState.AllChecksFinished = new RaspExecutionState(0);\n//# sourceMappingURL=raspExecutionState.js.map","import { RaspExecutionState } from '../models/raspExecutionState';\nimport { Threat } from '../models/threat';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const getRaspExecutionStateCount = () => {\n return RaspExecutionState.getValues().length;\n};\nexport const itemsHaveType = (data, expectedType) => {\n return data.every((item) => typeof item === expectedType);\n};\n//# sourceMappingURL=utils.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { Threat } from '../models/threat';\nimport { getThreatCount, itemsHaveType } from '../utils/utils';\nexport const getThreatIdentifiers = async () => {\n const { ids } = await Talsec.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== 3 || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareThreatMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n try {\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n }\n catch (err) {\n console.error('Could not map Talsec threats', err);\n }\n};\n//# sourceMappingURL=threat.js.map","// parses base64-encoded malware data to SuspiciousAppInfo[]\nexport const parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map((entry) => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nexport const toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return {\n packageInfo,\n reason: data.reason,\n permissions: data.permissions,\n };\n};\n//# sourceMappingURL=malware.js.map","import { getThreatChannelData, prepareThreatMapping } from '../../channels/threat';\nimport { Threat } from '../../models/threat';\nimport { parseMalwareData } from '../../utils/malware';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet threatChannel = null;\nlet threatKey = null;\nlet threatMalwareKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeThreatListener();\n if (!threatChannel || !threatKey || !threatMalwareKey) {\n [threatChannel, threatKey, threatMalwareKey] = await getThreatChannelData();\n }\n if (!isMappingPrepared) {\n await prepareThreatMapping();\n isMappingPrepared = true;\n }\n if (!threatChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(threatChannel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n if (!threatKey || !threatMalwareKey) {\n onInvalidCallback();\n return;\n }\n switch (event[threatKey]) {\n case Threat.PrivilegedAccess.value:\n (_a = config.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n case Threat.Debug.value:\n (_b = config.debug) === null || _b === void 0 ? void 0 : _b.call(config);\n break;\n case Threat.Simulator.value:\n (_c = config.simulator) === null || _c === void 0 ? void 0 : _c.call(config);\n break;\n case Threat.AppIntegrity.value:\n (_d = config.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(config);\n break;\n case Threat.UnofficialStore.value:\n (_e = config.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(config);\n break;\n case Threat.Hooks.value:\n (_f = config.hooks) === null || _f === void 0 ? void 0 : _f.call(config);\n break;\n case Threat.DeviceBinding.value:\n (_g = config.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(config);\n break;\n case Threat.Passcode.value:\n (_h = config.passcode) === null || _h === void 0 ? void 0 : _h.call(config);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = config.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(config);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = config.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(config);\n break;\n case Threat.DeviceID.value:\n (_l = config.deviceID) === null || _l === void 0 ? void 0 : _l.call(config);\n break;\n case Threat.DevMode.value:\n (_m = config.devMode) === null || _m === void 0 ? void 0 : _m.call(config);\n break;\n case Threat.SystemVPN.value:\n (_o = config.systemVPN) === null || _o === void 0 ? void 0 : _o.call(config);\n break;\n case Threat.Malware.value:\n (_p = config.malware) === null || _p === void 0 ? void 0 : _p.call(config, await parseMalwareData(event[threatMalwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = config.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(config);\n break;\n case Threat.Screenshot.value:\n (_r = config.screenshot) === null || _r === void 0 ? void 0 : _r.call(config);\n break;\n case Threat.ScreenRecording.value:\n (_s = config.screenRecording) === null || _s === void 0 ? void 0 : _s.call(config);\n break;\n case Threat.MultiInstance.value:\n (_t = config.multiInstance) === null || _t === void 0 ? void 0 : _t.call(config);\n break;\n case Threat.TimeSpoofing.value:\n (_u = config.timeSpoofing) === null || _u === void 0 ? void 0 : _u.call(config);\n break;\n case Threat.LocationSpoofing.value:\n (_v = config.locationSpoofing) === null || _v === void 0 ? void 0 : _v.call(config);\n break;\n case Threat.UnsecureWifi.value:\n (_w = config.unsecureWifi) === null || _w === void 0 ? void 0 : _w.call(config);\n break;\n case Threat.Automation.value:\n (_x = config.automation) === null || _x === void 0 ? void 0 : _x.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeThreatListener = async () => {\n if (!eventsListener || !threatChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: threatChannel });\n};\n//# sourceMappingURL=threat.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { RaspExecutionState } from '../models/raspExecutionState';\nimport { getRaspExecutionStateCount, itemsHaveType } from '../utils/utils';\nexport const getRaspExecutionStateIdentifiers = async () => {\n const { ids } = await Talsec.getRaspExecutionStateIdentifiers();\n if (ids.length !== getRaspExecutionStateCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getRaspExecutionStateChannelData = async () => {\n const dataLength = 2;\n const { ids } = await Talsec.getRaspExecutionStateChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareRaspExecutionStateMapping = async () => {\n const newValues = await getRaspExecutionStateIdentifiers();\n const threats = RaspExecutionState.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { getRaspExecutionStateChannelData, prepareRaspExecutionStateMapping } from '../../channels/raspExecutionState';\nimport { RaspExecutionState } from '../../models/raspExecutionState';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet executionStateChannel = null;\nlet executionStateKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeRaspExecutionStateListener();\n if (!executionStateChannel || !executionStateKey) {\n [executionStateChannel, executionStateKey] = await getRaspExecutionStateChannelData();\n }\n if (!isMappingPrepared) {\n await prepareRaspExecutionStateMapping();\n isMappingPrepared = true;\n }\n if (!executionStateChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(executionStateChannel, async (event) => {\n var _a;\n if (!executionStateKey) {\n onInvalidCallback();\n return;\n }\n switch (event[executionStateKey]) {\n case RaspExecutionState.AllChecksFinished.value:\n (_a = config.allChecksFinished) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeRaspExecutionStateListener = async () => {\n if (!eventsListener || !executionStateChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: executionStateChannel });\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nlet isRaspStarted = false;\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n if (isRaspStarted) {\n return { started: true };\n }\n const response = await Talsec.talsecStart({ config });\n isRaspStarted = true;\n return response;\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing","isMappingPrepared"],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sources":["esm/api/nativeModules.js","esm/api/methods/native.js","esm/models/threat.js","esm/models/raspExecutionState.js","esm/utils/utils.js","esm/channels/threat.js","esm/utils/malware.js","esm/api/listeners/threat.js","esm/channels/raspExecutionState.js","esm/api/listeners/raspExecutionState.js","esm/utils/config.js","esm/api/methods/capacitor.js"],"sourcesContent":["import { registerPlugin } from '@capacitor/core';\nexport const Talsec = registerPlugin('Freerasp', {});\n//# sourceMappingURL=nativeModules.js.map","import { Capacitor } from '@capacitor/core';\nimport { Talsec } from '../nativeModules';\nexport const addToWhitelist = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('Malware detection is not available on iOS');\n }\n const { result } = await Talsec.addToWhitelist({ packageName });\n return result;\n};\nexport const blockScreenCapture = async (enable) => {\n const { result } = await Talsec.blockScreenCapture({ enable });\n return result;\n};\nexport const isScreenCaptureBlocked = async () => {\n const { result } = await Talsec.isScreenCaptureBlocked();\n return result;\n};\nexport const storeExternalId = async (data) => {\n const { result } = await Talsec.storeExternalId({ data });\n return result;\n};\nexport const removeExternalId = async () => {\n const { result } = await Talsec.removeExternalId();\n return result;\n};\nexport const getAppIcon = async (packageName) => {\n if (Capacitor.getPlatform() === 'ios') {\n return Promise.reject('App icon retrieval for Malware detection is not available on iOS');\n }\n const { result } = await Talsec.getAppIcon({ packageName });\n return result;\n};\nexport const onInvalidCallback = () => {\n Talsec.onInvalidCallback();\n};\n//# sourceMappingURL=native.js.map","import { Capacitor } from '@capacitor/core';\nexport class Threat {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return Capacitor.getPlatform() === 'android'\n ? [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.UnofficialStore,\n this.ObfuscationIssues,\n this.DevMode,\n this.Malware,\n this.ADBEnabled,\n this.Screenshot,\n this.ScreenRecording,\n this.MultiInstance,\n this.TimeSpoofing,\n this.LocationSpoofing,\n this.UnsecureWifi,\n this.Automation,\n ]\n : [\n this.AppIntegrity,\n this.PrivilegedAccess,\n this.Debug,\n this.Hooks,\n this.Passcode,\n this.Simulator,\n this.SecureHardwareNotAvailable,\n this.SystemVPN,\n this.DeviceBinding,\n this.DeviceID,\n this.UnofficialStore,\n this.Screenshot,\n this.ScreenRecording,\n this.TimeSpoofing,\n ];\n }\n}\nThreat.AppIntegrity = new Threat(0);\nThreat.PrivilegedAccess = new Threat(0);\nThreat.Debug = new Threat(0);\nThreat.Hooks = new Threat(0);\nThreat.Passcode = new Threat(0);\nThreat.Simulator = new Threat(0);\nThreat.SecureHardwareNotAvailable = new Threat(0);\nThreat.SystemVPN = new Threat(0);\nThreat.DeviceBinding = new Threat(0);\nThreat.DeviceID = new Threat(0);\nThreat.UnofficialStore = new Threat(0);\nThreat.ObfuscationIssues = new Threat(0);\nThreat.DevMode = new Threat(0);\nThreat.Malware = new Threat(0);\nThreat.ADBEnabled = new Threat(0);\nThreat.Screenshot = new Threat(0);\nThreat.ScreenRecording = new Threat(0);\nThreat.MultiInstance = new Threat(0);\nThreat.TimeSpoofing = new Threat(0);\nThreat.LocationSpoofing = new Threat(0);\nThreat.UnsecureWifi = new Threat(0);\nThreat.Automation = new Threat(0);\n//# sourceMappingURL=threat.js.map","export class RaspExecutionState {\n constructor(value) {\n this.value = value;\n }\n static getValues() {\n return [this.AllChecksFinished];\n }\n}\nRaspExecutionState.AllChecksFinished = new RaspExecutionState(0);\n//# sourceMappingURL=raspExecutionState.js.map","import { RaspExecutionState } from '../models/raspExecutionState';\nimport { Threat } from '../models/threat';\nexport const getThreatCount = () => {\n return Threat.getValues().length;\n};\nexport const getRaspExecutionStateCount = () => {\n return RaspExecutionState.getValues().length;\n};\nexport const itemsHaveType = (data, expectedType) => {\n return data.every((item) => typeof item === expectedType);\n};\n//# sourceMappingURL=utils.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { Threat } from '../models/threat';\nimport { getThreatCount, itemsHaveType } from '../utils/utils';\nexport const getThreatIdentifiers = async () => {\n const { ids } = await Talsec.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== 3 || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareThreatMapping = async () => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n try {\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n }\n catch (err) {\n console.error('Could not map Talsec threats', err);\n }\n};\n//# sourceMappingURL=threat.js.map","// parses base64-encoded malware data to SuspiciousAppInfo[]\nexport const parseMalwareData = async (data) => {\n return new Promise((resolve, reject) => {\n try {\n const suspiciousAppData = data.map((entry) => toSuspiciousAppInfo(entry));\n resolve(suspiciousAppData);\n }\n catch (error) {\n reject(`Parsing app data failed: ${error}`);\n }\n });\n};\nexport const toSuspiciousAppInfo = (base64Value) => {\n const data = JSON.parse(atob(base64Value));\n const packageInfo = data.packageInfo;\n return {\n packageInfo,\n reasons: data.reasons,\n permissions: data.permissions,\n };\n};\n//# sourceMappingURL=malware.js.map","import { getThreatChannelData, prepareThreatMapping } from '../../channels/threat';\nimport { Threat } from '../../models/threat';\nimport { parseMalwareData } from '../../utils/malware';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet threatChannel = null;\nlet threatKey = null;\nlet threatMalwareKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeThreatListener();\n if (!threatChannel || !threatKey || !threatMalwareKey) {\n [threatChannel, threatKey, threatMalwareKey] = await getThreatChannelData();\n }\n if (!isMappingPrepared) {\n await prepareThreatMapping();\n isMappingPrepared = true;\n }\n if (!threatChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(threatChannel, async (event) => {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;\n if (!threatKey || !threatMalwareKey) {\n onInvalidCallback();\n return;\n }\n switch (event[threatKey]) {\n case Threat.PrivilegedAccess.value:\n (_a = config.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n case Threat.Debug.value:\n (_b = config.debug) === null || _b === void 0 ? void 0 : _b.call(config);\n break;\n case Threat.Simulator.value:\n (_c = config.simulator) === null || _c === void 0 ? void 0 : _c.call(config);\n break;\n case Threat.AppIntegrity.value:\n (_d = config.appIntegrity) === null || _d === void 0 ? void 0 : _d.call(config);\n break;\n case Threat.UnofficialStore.value:\n (_e = config.unofficialStore) === null || _e === void 0 ? void 0 : _e.call(config);\n break;\n case Threat.Hooks.value:\n (_f = config.hooks) === null || _f === void 0 ? void 0 : _f.call(config);\n break;\n case Threat.DeviceBinding.value:\n (_g = config.deviceBinding) === null || _g === void 0 ? void 0 : _g.call(config);\n break;\n case Threat.Passcode.value:\n (_h = config.passcode) === null || _h === void 0 ? void 0 : _h.call(config);\n break;\n case Threat.SecureHardwareNotAvailable.value:\n (_j = config.secureHardwareNotAvailable) === null || _j === void 0 ? void 0 : _j.call(config);\n break;\n case Threat.ObfuscationIssues.value:\n (_k = config.obfuscationIssues) === null || _k === void 0 ? void 0 : _k.call(config);\n break;\n case Threat.DeviceID.value:\n (_l = config.deviceID) === null || _l === void 0 ? void 0 : _l.call(config);\n break;\n case Threat.DevMode.value:\n (_m = config.devMode) === null || _m === void 0 ? void 0 : _m.call(config);\n break;\n case Threat.SystemVPN.value:\n (_o = config.systemVPN) === null || _o === void 0 ? void 0 : _o.call(config);\n break;\n case Threat.Malware.value:\n (_p = config.malware) === null || _p === void 0 ? void 0 : _p.call(config, await parseMalwareData(event[threatMalwareKey]));\n break;\n case Threat.ADBEnabled.value:\n (_q = config.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(config);\n break;\n case Threat.Screenshot.value:\n (_r = config.screenshot) === null || _r === void 0 ? void 0 : _r.call(config);\n break;\n case Threat.ScreenRecording.value:\n (_s = config.screenRecording) === null || _s === void 0 ? void 0 : _s.call(config);\n break;\n case Threat.MultiInstance.value:\n (_t = config.multiInstance) === null || _t === void 0 ? void 0 : _t.call(config);\n break;\n case Threat.TimeSpoofing.value:\n (_u = config.timeSpoofing) === null || _u === void 0 ? void 0 : _u.call(config);\n break;\n case Threat.LocationSpoofing.value:\n (_v = config.locationSpoofing) === null || _v === void 0 ? void 0 : _v.call(config);\n break;\n case Threat.UnsecureWifi.value:\n (_w = config.unsecureWifi) === null || _w === void 0 ? void 0 : _w.call(config);\n break;\n case Threat.Automation.value:\n (_x = config.automation) === null || _x === void 0 ? void 0 : _x.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeThreatListener = async () => {\n if (!eventsListener || !threatChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: threatChannel });\n};\n//# sourceMappingURL=threat.js.map","import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { RaspExecutionState } from '../models/raspExecutionState';\nimport { getRaspExecutionStateCount, itemsHaveType } from '../utils/utils';\nexport const getRaspExecutionStateIdentifiers = async () => {\n const { ids } = await Talsec.getRaspExecutionStateIdentifiers();\n if (ids.length !== getRaspExecutionStateCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const getRaspExecutionStateChannelData = async () => {\n const dataLength = 2;\n const { ids } = await Talsec.getRaspExecutionStateChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\nexport const prepareRaspExecutionStateMapping = async () => {\n const newValues = await getRaspExecutionStateIdentifiers();\n const threats = RaspExecutionState.getValues();\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { getRaspExecutionStateChannelData, prepareRaspExecutionStateMapping } from '../../channels/raspExecutionState';\nimport { RaspExecutionState } from '../../models/raspExecutionState';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\nlet eventsListener = null;\nlet executionStateChannel = null;\nlet executionStateKey = null;\nlet isInitializing = false;\nlet isMappingPrepared = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n await removeRaspExecutionStateListener();\n if (!executionStateChannel || !executionStateKey) {\n [executionStateChannel, executionStateKey] = await getRaspExecutionStateChannelData();\n }\n if (!isMappingPrepared) {\n await prepareRaspExecutionStateMapping();\n isMappingPrepared = true;\n }\n if (!executionStateChannel) {\n onInvalidCallback();\n return;\n }\n eventsListener = await Talsec.addListener(executionStateChannel, async (event) => {\n var _a;\n if (!executionStateKey) {\n onInvalidCallback();\n return;\n }\n switch (event[executionStateKey]) {\n case RaspExecutionState.AllChecksFinished.value:\n (_a = config.allChecksFinished) === null || _a === void 0 ? void 0 : _a.call(config);\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\nexport const removeRaspExecutionStateListener = async () => {\n if (!eventsListener || !executionStateChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: executionStateChannel });\n};\n//# sourceMappingURL=raspExecutionState.js.map","export const DEFAULT_SCAN_SCOPE = {\n scopeType: 'SIDELOADED_ONLY',\n};\nexport const DEFAULT_REASON_MODE = 'HIGHEST_CONFIDENCE';\nexport const withDetectionDefaults = (config) => {\n var _a, _b;\n return (Object.assign(Object.assign({}, config), { scanScope: (_a = config.scanScope) !== null && _a !== void 0 ? _a : DEFAULT_SCAN_SCOPE, reasonMode: (_b = config.reasonMode) !== null && _b !== void 0 ? _b : DEFAULT_REASON_MODE }));\n};\nexport const normalizeAndroidConfig = (androidConfig) => {\n if (!androidConfig.suspiciousAppDetectionConfig) {\n return androidConfig;\n }\n return Object.assign(Object.assign({}, androidConfig), { suspiciousAppDetectionConfig: withDetectionDefaults(androidConfig.suspiciousAppDetectionConfig) });\n};\nexport const withDefaults = (config) => {\n if (!config.androidConfig) {\n return config;\n }\n return Object.assign(Object.assign({}, config), { androidConfig: normalizeAndroidConfig(config.androidConfig) });\n};\n//# sourceMappingURL=config.js.map","import { withDefaults } from '../../utils/config';\nimport { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nlet isRaspStarted = false;\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n if (isRaspStarted) {\n return { started: true };\n }\n const response = await Talsec.talsecStart({ config: withDefaults(config) });\n isRaspStarted = true;\n return response;\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing","isMappingPrepared"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "capacitor-freerasp",
3
- "version": "2.5.1",
3
+ "version": "3.0.0",
4
4
  "description": "Capacitor plugin for improving app security and threat monitoring on Android and iOS mobile devices",
5
5
  "main": "dist/plugin.cjs.js",
6
6
  "module": "dist/esm/index.js",