diff --git a/CHANGELOG.md b/CHANGELOG.md index ac71a5f..c4d1f2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,55 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.5.0] - 2026-03-03 + +- Android SDK version: 18.0.4 +- iOS SDK version: 6.14.1 + +### Capacitor + +#### Changed + +- Refactor the Android plugin to separate the logic for managing listener states + +### Android + +#### Added + +- Added support for `KernelSU` to the existing root detection capabilities +- Added support for `HMA` to the existing root detection capabilities +- Added new malware detection capabilities +- Added `onAutomationDetected()` callback to `ThreatDetected` interface + - We are introducing a new capability, detecting whether the device is being automated using tools like Appium +- Added value restrictions to `externalId` + - Method `storeExternalId()` now returns `ExternalIdResult`, which indicates `Success` or `Error` when `externalId` violates restrictions + +#### Fixed + +- Fixed exception handling for the KeyStore `getEntry` operation +- Fixed issue in `ScreenProtector` concerning the `onScreenRecordingDetected` invocations +- Merged internal shared libraries into a single one, reducing the final APK size +- Fixed bug related to key storing in keystore type detection (hw-backed keystore check) +- Fixed manifest queries merge + +#### Changed + +- Removed unused library `tmlib` +- Refactoring of signature verification code +- Updated compile and target API to 36 +- Improved root detection capabilities +- Detection of wireless ADB added to ADB detections + +### iOS + +#### Added + +- Added time spoofing detection, detecting an inaccurate device clock. It is a new threat `timeSpoofing`. + +#### Changed + +- Improved jailbreak detection methods. + ## [2.4.1] - 2026-02-13 - Android SDK version: 18.0.2 diff --git a/android/build.gradle b/android/build.gradle index 1efe11c..95f08b4 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -76,5 +76,5 @@ dependencies { androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion" androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion" - implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Capacitor:18.0.2' + implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Capacitor:18.0.4' } diff --git a/android/src/main/java/com/aheaditec/freerasp/FreeraspPlugin.kt b/android/src/main/java/com/aheaditec/freerasp/FreeraspPlugin.kt index 2424632..cdb2f4f 100644 --- a/android/src/main/java/com/aheaditec/freerasp/FreeraspPlugin.kt +++ b/android/src/main/java/com/aheaditec/freerasp/FreeraspPlugin.kt @@ -29,15 +29,22 @@ typealias CapacitorCallback = (String, JSObject) -> Unit @CapacitorPlugin(name = "Freerasp") class FreeraspPlugin : Plugin() { - private var registered = true - override fun load() { initializeEventKeys() + val pluginCallback: CapacitorCallback = { eventName, data -> + notifyListeners(eventName, data, true) + } + PluginThreatHandler.initializeDispatchers(PluginListener(context, pluginCallback)) super.load() } @PluginMethod fun talsecStart(call: PluginCall) { + if (talsecStarted) { + call.resolve(JSObject().put("started", true)) + return + } + val config = call.getObject("config") if (config == null) { call.reject("Missing config parameter in freeRASP Native Plugin") @@ -45,14 +52,7 @@ class FreeraspPlugin : Plugin() { } try { val talsecConfig = buildTalsecConfigThrowing(config) - - val pluginCallback: CapacitorCallback = { eventName, data -> - notifyListeners(eventName, data, true) - } - - PluginThreatHandler.threatDispatcher.listener = PluginListener(context, pluginCallback) - PluginThreatHandler.executionStateDispatcher.listener = PluginListener(context, pluginCallback) - PluginThreatHandler.registerListener(context) + PluginThreatHandler.registerSDKListener(context) bridge.activity.runOnUiThread { Talsec.start(context, talsecConfig) @@ -75,35 +75,49 @@ class FreeraspPlugin : Plugin() { } } - override fun handleOnStart() { - super.handleOnStart() - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { - ScreenProtector.register(activity) + @PluginMethod(returnType = PluginMethod.RETURN_NONE) + override fun addListener(call: PluginCall) { + val eventName = call.getString("eventName") + if (eventName == ThreatEvent.CHANNEL_NAME) { + PluginThreatHandler.threatDispatcher.registerListener() + } + if (eventName == RaspExecutionStateEvent.CHANNEL_NAME) { + PluginThreatHandler.executionStateDispatcher.registerListener() + } + super.addListener(call) + } + + @PluginMethod(returnType = PluginMethod.RETURN_NONE) + fun removeListenerForEvent(call: PluginCall) { + val eventName = call.getString("eventName") + if (eventName == ThreatEvent.CHANNEL_NAME) { + PluginThreatHandler.threatDispatcher.unregisterListener() + } + if (eventName == RaspExecutionStateEvent.CHANNEL_NAME) { + PluginThreatHandler.executionStateDispatcher.unregisterListener() } } override fun handleOnPause() { super.handleOnPause() + PluginThreatHandler.threatDispatcher.onPause() + PluginThreatHandler.executionStateDispatcher.onPause() + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { + ScreenProtector.unregister(activity) + } if (activity.isFinishing) { - PluginThreatHandler.unregisterListener(context) - registered = false - PluginThreatHandler.threatDispatcher.listener = null - PluginThreatHandler.executionStateDispatcher.listener = null + PluginThreatHandler.threatDispatcher.unregisterListener() + PluginThreatHandler.executionStateDispatcher.unregisterListener() + PluginThreatHandler.unregisterSDKListener(context) } } override fun handleOnResume() { super.handleOnResume() - if (!registered) { - registered = true - PluginThreatHandler.registerListener(context) - } - } - - override fun handleOnStop() { - super.handleOnStop() + PluginThreatHandler.threatDispatcher.onResume() + PluginThreatHandler.executionStateDispatcher.onResume() if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { - ScreenProtector.unregister(activity) + ScreenProtector.register(activity) } } @@ -317,8 +331,25 @@ class FreeraspPlugin : Plugin() { private val mainHandler = Handler(Looper.getMainLooper()) internal var talsecStarted = false + } - internal fun notifyEvent( + internal class PluginListener( + private val context: Context, + private val pluginCallback: CapacitorCallback + ) : PluginThreatListener, PluginExecutionStateListener { + override fun threatDetected(threatEventType: ThreatEvent) { + notifyEvent(threatEventType, pluginCallback) + } + + override fun malwareDetected(suspiciousApps: MutableList) { + notifyMalware(suspiciousApps, context, pluginCallback) + } + + override fun raspExecutionStateChanged(event: RaspExecutionStateEvent) { + notifyEvent(event, pluginCallback) + } + + private fun notifyEvent( event: BaseRaspEvent, notifyListenersCallback: CapacitorCallback ) { @@ -326,7 +357,7 @@ class FreeraspPlugin : Plugin() { notifyListenersCallback(event.channelName, params) } - internal fun notifyMalware( + private fun notifyMalware( suspiciousApps: MutableList, context: Context, notifyListenersCallback: CapacitorCallback @@ -345,21 +376,4 @@ class FreeraspPlugin : Plugin() { } } } - - internal class PluginListener( - private val context: Context, - private val pluginCallback: CapacitorCallback - ) : PluginThreatListener, PluginExecutionStateListener { - override fun threatDetected(threatEventType: ThreatEvent) { - notifyEvent(threatEventType, pluginCallback) - } - - override fun malwareDetected(suspiciousApps: MutableList) { - notifyMalware(suspiciousApps, context, pluginCallback) - } - - override fun raspExecutionStateChanged(event: RaspExecutionStateEvent) { - notifyEvent(event, pluginCallback) - } - } } \ No newline at end of file diff --git a/android/src/main/java/com/aheaditec/freerasp/PluginThreatHandler.kt b/android/src/main/java/com/aheaditec/freerasp/PluginThreatHandler.kt index 3c0f8d3..491e384 100644 --- a/android/src/main/java/com/aheaditec/freerasp/PluginThreatHandler.kt +++ b/android/src/main/java/com/aheaditec/freerasp/PluginThreatHandler.kt @@ -10,8 +10,13 @@ import com.aheaditec.freerasp.events.ThreatEvent internal object PluginThreatHandler { - internal val threatDispatcher = ThreatDispatcher() - internal val executionStateDispatcher = ExecutionStateDispatcher() + internal lateinit var threatDispatcher: ThreatDispatcher + internal lateinit var executionStateDispatcher: ExecutionStateDispatcher + + fun initializeDispatchers(listener: FreeraspPlugin.PluginListener) { + threatDispatcher = ThreatDispatcher(listener) + executionStateDispatcher = ExecutionStateDispatcher(listener) + } private val threatDetected = object : ThreatListener.ThreatDetected() { @@ -111,11 +116,11 @@ internal object PluginThreatHandler { private val internalListener = ThreatListener(threatDetected, deviceState, raspExecutionState) - internal fun registerListener(context: Context) { + internal fun registerSDKListener(context: Context) { internalListener.registerListener(context) } - internal fun unregisterListener(context: Context) { + internal fun unregisterSDKListener(context: Context) { internalListener.unregisterListener(context) } } \ No newline at end of file diff --git a/android/src/main/java/com/aheaditec/freerasp/dispatchers/ExecutionStateDispatcher.kt b/android/src/main/java/com/aheaditec/freerasp/dispatchers/ExecutionStateDispatcher.kt index 03a9e94..6e78832 100644 --- a/android/src/main/java/com/aheaditec/freerasp/dispatchers/ExecutionStateDispatcher.kt +++ b/android/src/main/java/com/aheaditec/freerasp/dispatchers/ExecutionStateDispatcher.kt @@ -3,36 +3,53 @@ package com.aheaditec.freerasp.dispatchers import com.aheaditec.freerasp.events.RaspExecutionStateEvent import com.aheaditec.freerasp.interfaces.PluginExecutionStateListener -internal class ExecutionStateDispatcher { +internal class ExecutionStateDispatcher(private val listener: PluginExecutionStateListener) { private val cache = mutableSetOf() - var listener: PluginExecutionStateListener? = null - set(value) { - field = value - if (value != null) { - flushCache(value) - } + private var isAppInForeground = false + private var isListenerRegistered = false + + fun registerListener() { + isListenerRegistered = true + isAppInForeground = true + flushCache() + } + + fun unregisterListener() { + isListenerRegistered = false + isAppInForeground = false + } + + fun onResume() { + isAppInForeground = true + if (isListenerRegistered) { + flushCache() } + } + + fun onPause() { + isAppInForeground = false + } fun dispatch(event: RaspExecutionStateEvent) { - val checkedListener = synchronized(cache) { - val currentListener = listener - if (currentListener != null) { - currentListener - } else { + if (isAppInForeground && isListenerRegistered) { + listener.raspExecutionStateChanged(event) + } else { + synchronized(cache) { cache.add(event) - null } } - checkedListener?.raspExecutionStateChanged(event) } - private fun flushCache(registeredListener: PluginExecutionStateListener) { + private fun flushCache() { + if (!isListenerRegistered || !isAppInForeground) { + return + } val events = synchronized(cache) { val snapshot = cache.toSet() cache.clear() snapshot } - events.forEach { registeredListener.raspExecutionStateChanged(it) } + events.forEach { listener.raspExecutionStateChanged(it) } } } diff --git a/android/src/main/java/com/aheaditec/freerasp/dispatchers/ThreatDispatcher.kt b/android/src/main/java/com/aheaditec/freerasp/dispatchers/ThreatDispatcher.kt index 99b1c31..8c5e0b4 100644 --- a/android/src/main/java/com/aheaditec/freerasp/dispatchers/ThreatDispatcher.kt +++ b/android/src/main/java/com/aheaditec/freerasp/dispatchers/ThreatDispatcher.kt @@ -4,51 +4,67 @@ import com.aheaditec.talsec_security.security.api.SuspiciousAppInfo import com.aheaditec.freerasp.events.ThreatEvent import com.aheaditec.freerasp.interfaces.PluginThreatListener -internal class ThreatDispatcher { +internal class ThreatDispatcher(private val listener: PluginThreatListener) { private val threatCache = mutableSetOf() private val malwareCache = mutableSetOf() - var listener: PluginThreatListener? = null - set(value) { - field = value - if (value != null) { - flushCache(value) - } + private var isAppInForeground = false + private var isListenerRegistered = false + + fun registerListener() { + isListenerRegistered = true + isAppInForeground = true + flushCache() + } + + fun unregisterListener() { + isListenerRegistered = false + isAppInForeground = false + } + + fun onResume() { + isAppInForeground = true + if (isListenerRegistered) { + flushCache() } + } + + fun onPause() { + isAppInForeground = false + } fun dispatchThreat(event: ThreatEvent) { - val checkedListener = synchronized(threatCache) { - val currentListener = listener - if (currentListener != null) { - currentListener - } else { + if (isAppInForeground && isListenerRegistered) { + listener.threatDetected(event) + } else { + synchronized(threatCache) { threatCache.add(event) - null } } - checkedListener?.threatDetected(event) } fun dispatchMalware(apps: MutableList) { - val checkedListener = synchronized(malwareCache) { - val currentListener = listener - if (currentListener != null) { - currentListener - } else { + if (isAppInForeground && isListenerRegistered) { + listener.malwareDetected(apps) + } + else { + synchronized(malwareCache) { malwareCache.addAll(apps) - null } } - checkedListener?.malwareDetected(apps) } - private fun flushCache(registeredListener: PluginThreatListener) { + private fun flushCache() { + if (!isListenerRegistered || !isAppInForeground) { + return + } + val threats = synchronized(threatCache) { val snapshot = threatCache.toSet() threatCache.clear() snapshot } - threats.forEach { registeredListener.threatDetected(it) } + threats.forEach { listener.threatDetected(it) } val malware = synchronized(malwareCache) { val snapshot = malwareCache.toMutableList() @@ -56,7 +72,7 @@ internal class ThreatDispatcher { snapshot } if (malware.isNotEmpty()) { - registeredListener.malwareDetected(malware) + listener.malwareDetected(malware) } } } diff --git a/dist/esm/api/listeners/raspExecutionState.js b/dist/esm/api/listeners/raspExecutionState.js index 308e881..23fb320 100644 --- a/dist/esm/api/listeners/raspExecutionState.js +++ b/dist/esm/api/listeners/raspExecutionState.js @@ -3,24 +3,34 @@ import { RaspExecutionState } from '../../models/raspExecutionState'; import { onInvalidCallback } from '../methods/native'; import { Talsec } from '../nativeModules'; let eventsListener = null; +let executionStateChannel = null; +let executionStateKey = null; let isInitializing = false; +let isMappingPrepared = false; export const registerRaspExecutionStateListener = async (config) => { if (isInitializing) { return; } isInitializing = true; - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + await removeRaspExecutionStateListener(); + if (!executionStateChannel || !executionStateKey) { + [executionStateChannel, executionStateKey] = await getRaspExecutionStateChannelData(); } - const [channel, key] = await getRaspExecutionStateChannelData(); - await prepareRaspExecutionStateMapping(); - eventsListener = await Talsec.addListener(channel, async (event) => { + if (!isMappingPrepared) { + await prepareRaspExecutionStateMapping(); + isMappingPrepared = true; + } + if (!executionStateChannel) { + onInvalidCallback(); + return; + } + eventsListener = await Talsec.addListener(executionStateChannel, async (event) => { var _a; - if (event[key] == undefined) { + if (!executionStateKey) { onInvalidCallback(); + return; } - switch (event[key]) { + switch (event[executionStateKey]) { case RaspExecutionState.AllChecksFinished.value: (_a = config.allChecksFinished) === null || _a === void 0 ? void 0 : _a.call(config); break; @@ -32,9 +42,11 @@ export const registerRaspExecutionStateListener = async (config) => { isInitializing = false; }; export const removeRaspExecutionStateListener = async () => { - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + if (!eventsListener || !executionStateChannel) { + return; } + await eventsListener.remove(); + eventsListener = null; + await Talsec.removeListenerForEvent({ eventName: executionStateChannel }); }; //# sourceMappingURL=raspExecutionState.js.map \ No newline at end of file diff --git a/dist/esm/api/listeners/raspExecutionState.js.map b/dist/esm/api/listeners/raspExecutionState.js.map index 5d854eb..19a932c 100644 --- a/dist/esm/api/listeners/raspExecutionState.js.map +++ b/dist/esm/api/listeners/raspExecutionState.js.map @@ -1 +1 @@ -{"version":3,"file":"raspExecutionState.js","sourceRoot":"","sources":["../../../../src/api/listeners/raspExecutionState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACvH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,IAAI,cAAc,GAAgC,IAAI,CAAC;AACvD,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EAAE,MAAsC,EAAiB,EAAE;IAChH,IAAI,cAAc,EAAE;QAClB,OAAO;KACR;IACD,cAAc,GAAG,IAAI,CAAC;IAEtB,IAAI,cAAc,EAAE;QAClB,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QAC9B,cAAc,GAAG,IAAI,CAAC;KACvB;IAED,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,MAAM,gCAAgC,EAAE,CAAC;IAChE,MAAM,gCAAgC,EAAE,CAAC;IAEzC,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;;QACtE,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,EAAE;YAC3B,iBAAiB,EAAE,CAAC;SACrB;QACD,QAAQ,KAAK,CAAC,GAAG,CAAC,EAAE;YAClB,KAAK,kBAAkB,CAAC,iBAAiB,CAAC,KAAK;gBAC7C,MAAA,MAAM,CAAC,iBAAiB,sDAAI,CAAC;gBAC7B,MAAM;YACR;gBACE,iBAAiB,EAAE,CAAC;gBACpB,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IACH,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,IAAmB,EAAE;IACxE,IAAI,cAAc,EAAE;QAClB,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;QAC9B,cAAc,GAAG,IAAI,CAAC;KACvB;AACH,CAAC,CAAC","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport { getRaspExecutionStateChannelData, prepareRaspExecutionStateMapping } from '../../channels/raspExecutionState';\nimport { RaspExecutionState } from '../../models/raspExecutionState';\nimport type { RaspExecutionStateEventActions } from '../../types/types';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\n\nlet eventsListener: PluginListenerHandle | null = null;\nlet isInitializing = false;\n\nexport const registerRaspExecutionStateListener = async (config: RaspExecutionStateEventActions): Promise => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n\n const [channel, key] = await getRaspExecutionStateChannelData();\n await prepareRaspExecutionStateMapping();\n\n eventsListener = await Talsec.addListener(channel, async (event: any) => {\n if (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case RaspExecutionState.AllChecksFinished.value:\n config.allChecksFinished?.();\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\n\nexport const removeRaspExecutionStateListener = async (): Promise => {\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"raspExecutionState.js","sourceRoot":"","sources":["../../../../src/api/listeners/raspExecutionState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACvH,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,IAAI,cAAc,GAAgC,IAAI,CAAC;AACvD,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AAChD,IAAI,iBAAiB,GAAkB,IAAI,CAAC;AAE5C,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,MAAM,CAAC,MAAM,kCAAkC,GAAG,KAAK,EAAE,MAAsC,EAAiB,EAAE;IAChH,IAAI,cAAc,EAAE;QAClB,OAAO;KACR;IACD,cAAc,GAAG,IAAI,CAAC;IAEtB,MAAM,gCAAgC,EAAE,CAAC;IAEzC,IAAI,CAAC,qBAAqB,IAAI,CAAC,iBAAiB,EAAE;QAChD,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,GAAG,MAAM,gCAAgC,EAAE,CAAC;KACvF;IAED,IAAI,CAAC,iBAAiB,EAAE;QACtB,MAAM,gCAAgC,EAAE,CAAC;QACzC,iBAAiB,GAAG,IAAI,CAAC;KAC1B;IAED,IAAI,CAAC,qBAAqB,EAAE;QAC1B,iBAAiB,EAAE,CAAC;QACpB,OAAO;KACR;IAED,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,qBAAqB,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;;QACpF,IAAI,CAAC,iBAAiB,EAAE;YACtB,iBAAiB,EAAE,CAAC;YACpB,OAAO;SACR;QAED,QAAQ,KAAK,CAAC,iBAAiB,CAAC,EAAE;YAChC,KAAK,kBAAkB,CAAC,iBAAiB,CAAC,KAAK;gBAC7C,MAAA,MAAM,CAAC,iBAAiB,sDAAI,CAAC;gBAC7B,MAAM;YACR;gBACE,iBAAiB,EAAE,CAAC;gBACpB,MAAM;SACT;IACH,CAAC,CAAC,CAAC;IACH,cAAc,GAAG,KAAK,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,IAAmB,EAAE;IACxE,IAAI,CAAC,cAAc,IAAI,CAAC,qBAAqB,EAAE;QAC7C,OAAO;KACR;IACD,MAAM,cAAc,CAAC,MAAM,EAAE,CAAC;IAC9B,cAAc,GAAG,IAAI,CAAC;IACtB,MAAM,MAAM,CAAC,sBAAsB,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;AAC5E,CAAC,CAAC","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport { getRaspExecutionStateChannelData, prepareRaspExecutionStateMapping } from '../../channels/raspExecutionState';\nimport { RaspExecutionState } from '../../models/raspExecutionState';\nimport type { RaspExecutionStateEventActions } from '../../types/types';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\n\nlet eventsListener: PluginListenerHandle | null = null;\nlet executionStateChannel: string | null = null;\nlet executionStateKey: string | null = null;\n\nlet isInitializing = false;\nlet isMappingPrepared = false;\n\nexport const registerRaspExecutionStateListener = async (config: RaspExecutionStateEventActions): Promise => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n\n await removeRaspExecutionStateListener();\n\n if (!executionStateChannel || !executionStateKey) {\n [executionStateChannel, executionStateKey] = await getRaspExecutionStateChannelData();\n }\n\n if (!isMappingPrepared) {\n await prepareRaspExecutionStateMapping();\n isMappingPrepared = true;\n }\n\n if (!executionStateChannel) {\n onInvalidCallback();\n return;\n }\n\n eventsListener = await Talsec.addListener(executionStateChannel, async (event: any) => {\n if (!executionStateKey) {\n onInvalidCallback();\n return;\n }\n\n switch (event[executionStateKey]) {\n case RaspExecutionState.AllChecksFinished.value:\n config.allChecksFinished?.();\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\n\nexport const removeRaspExecutionStateListener = async (): Promise => {\n if (!eventsListener || !executionStateChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: executionStateChannel });\n};\n"]} \ No newline at end of file diff --git a/dist/esm/api/listeners/threat.js b/dist/esm/api/listeners/threat.js index 16387a9..e0c651e 100644 --- a/dist/esm/api/listeners/threat.js +++ b/dist/esm/api/listeners/threat.js @@ -4,24 +4,35 @@ import { parseMalwareData } from '../../utils/malware'; import { onInvalidCallback } from '../methods/native'; import { Talsec } from '../nativeModules'; let eventsListener = null; +let threatChannel = null; +let threatKey = null; +let threatMalwareKey = null; let isInitializing = false; +let isMappingPrepared = false; export const registerThreatListener = async (config) => { if (isInitializing) { return; } isInitializing = true; - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + await removeThreatListener(); + if (!threatChannel || !threatKey || !threatMalwareKey) { + [threatChannel, threatKey, threatMalwareKey] = await getThreatChannelData(); } - const [channel, key, malwareKey] = await getThreatChannelData(); - await prepareThreatMapping(); - eventsListener = await Talsec.addListener(channel, async (event) => { + if (!isMappingPrepared) { + await prepareThreatMapping(); + isMappingPrepared = true; + } + if (!threatChannel) { + onInvalidCallback(); + return; + } + eventsListener = await Talsec.addListener(threatChannel, async (event) => { var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x; - if (event[key] == undefined) { + if (!threatKey || !threatMalwareKey) { onInvalidCallback(); + return; } - switch (event[key]) { + switch (event[threatKey]) { case Threat.PrivilegedAccess.value: (_a = config.privilegedAccess) === null || _a === void 0 ? void 0 : _a.call(config); break; @@ -62,7 +73,7 @@ export const registerThreatListener = async (config) => { (_o = config.systemVPN) === null || _o === void 0 ? void 0 : _o.call(config); break; case Threat.Malware.value: - (_p = config.malware) === null || _p === void 0 ? void 0 : _p.call(config, await parseMalwareData(event[malwareKey])); + (_p = config.malware) === null || _p === void 0 ? void 0 : _p.call(config, await parseMalwareData(event[threatMalwareKey])); break; case Threat.ADBEnabled.value: (_q = config.adbEnabled) === null || _q === void 0 ? void 0 : _q.call(config); @@ -96,9 +107,11 @@ export const registerThreatListener = async (config) => { isInitializing = false; }; export const removeThreatListener = async () => { - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + if (!eventsListener || !threatChannel) { + return; } + await eventsListener.remove(); + eventsListener = null; + await Talsec.removeListenerForEvent({ eventName: threatChannel }); }; //# sourceMappingURL=threat.js.map \ No newline at end of file diff --git a/dist/esm/api/listeners/threat.js.map b/dist/esm/api/listeners/threat.js.map index bff4783..67f87e1 100644 --- a/dist/esm/api/listeners/threat.js.map +++ b/dist/esm/api/listeners/threat.js.map @@ -1 +1 @@ -{"version":3,"file":"threat.js","sourceRoot":"","sources":["../../../../src/api/listeners/threat.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport { getThreatChannelData, prepareThreatMapping } from '../../channels/threat';\nimport { Threat } from '../../models/threat';\nimport type { ThreatEventActions } from '../../types/types';\nimport { parseMalwareData } from '../../utils/malware';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\n\nlet eventsListener: PluginListenerHandle | null = null;\nlet isInitializing = false;\n\nexport const registerThreatListener = async (config: ThreatEventActions): Promise => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareThreatMapping();\n\n eventsListener = await Talsec.addListener(channel, async (event: any) => {\n if (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\n case Threat.PrivilegedAccess.value:\n config.privilegedAccess?.();\n break;\n case Threat.Debug.value:\n config.debug?.();\n break;\n case Threat.Simulator.value:\n config.simulator?.();\n break;\n case Threat.AppIntegrity.value:\n config.appIntegrity?.();\n break;\n case Threat.UnofficialStore.value:\n config.unofficialStore?.();\n break;\n case Threat.Hooks.value:\n config.hooks?.();\n break;\n case Threat.DeviceBinding.value:\n config.deviceBinding?.();\n break;\n case Threat.Passcode.value:\n config.passcode?.();\n break;\n case Threat.SecureHardwareNotAvailable.value:\n config.secureHardwareNotAvailable?.();\n break;\n case Threat.ObfuscationIssues.value:\n config.obfuscationIssues?.();\n break;\n case Threat.DeviceID.value:\n config.deviceID?.();\n break;\n case Threat.DevMode.value:\n config.devMode?.();\n break;\n case Threat.SystemVPN.value:\n config.systemVPN?.();\n break;\n case Threat.Malware.value:\n config.malware?.(await parseMalwareData(event[malwareKey]));\n break;\n case Threat.ADBEnabled.value:\n config.adbEnabled?.();\n break;\n case Threat.Screenshot.value:\n config.screenshot?.();\n break;\n case Threat.ScreenRecording.value:\n config.screenRecording?.();\n break;\n case Threat.MultiInstance.value:\n config.multiInstance?.();\n break;\n case Threat.TimeSpoofing.value:\n config.timeSpoofing?.();\n break;\n case Threat.LocationSpoofing.value:\n config.locationSpoofing?.();\n break;\n case Threat.UnsecureWifi.value:\n config.unsecureWifi?.();\n break;\n case Threat.Automation.value:\n config.automation?.();\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\n\nexport const removeThreatListener = async (): Promise => {\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"threat.js","sourceRoot":"","sources":["../../../../src/api/listeners/threat.ts"],"names":[],"mappings":"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","sourcesContent":["import type { PluginListenerHandle } from '@capacitor/core';\n\nimport { getThreatChannelData, prepareThreatMapping } from '../../channels/threat';\nimport { Threat } from '../../models/threat';\nimport type { ThreatEventActions } from '../../types/types';\nimport { parseMalwareData } from '../../utils/malware';\nimport { onInvalidCallback } from '../methods/native';\nimport { Talsec } from '../nativeModules';\n\nlet eventsListener: PluginListenerHandle | null = null;\n\nlet threatChannel: string | null = null;\nlet threatKey: string | null = null;\nlet threatMalwareKey: string | null = null;\n\nlet isInitializing = false;\nlet isMappingPrepared = false;\n\nexport const registerThreatListener = async (config: ThreatEventActions): Promise => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n\n await removeThreatListener();\n\n if (!threatChannel || !threatKey || !threatMalwareKey) {\n [threatChannel, threatKey, threatMalwareKey] = await getThreatChannelData();\n }\n\n if (!isMappingPrepared) {\n await prepareThreatMapping();\n isMappingPrepared = true;\n }\n\n if (!threatChannel) {\n onInvalidCallback();\n return;\n }\n\n eventsListener = await Talsec.addListener(threatChannel, async (event: any) => {\n if (!threatKey || !threatMalwareKey) {\n onInvalidCallback();\n return;\n }\n switch (event[threatKey]) {\n case Threat.PrivilegedAccess.value:\n config.privilegedAccess?.();\n break;\n case Threat.Debug.value:\n config.debug?.();\n break;\n case Threat.Simulator.value:\n config.simulator?.();\n break;\n case Threat.AppIntegrity.value:\n config.appIntegrity?.();\n break;\n case Threat.UnofficialStore.value:\n config.unofficialStore?.();\n break;\n case Threat.Hooks.value:\n config.hooks?.();\n break;\n case Threat.DeviceBinding.value:\n config.deviceBinding?.();\n break;\n case Threat.Passcode.value:\n config.passcode?.();\n break;\n case Threat.SecureHardwareNotAvailable.value:\n config.secureHardwareNotAvailable?.();\n break;\n case Threat.ObfuscationIssues.value:\n config.obfuscationIssues?.();\n break;\n case Threat.DeviceID.value:\n config.deviceID?.();\n break;\n case Threat.DevMode.value:\n config.devMode?.();\n break;\n case Threat.SystemVPN.value:\n config.systemVPN?.();\n break;\n case Threat.Malware.value:\n config.malware?.(await parseMalwareData(event[threatMalwareKey]));\n break;\n case Threat.ADBEnabled.value:\n config.adbEnabled?.();\n break;\n case Threat.Screenshot.value:\n config.screenshot?.();\n break;\n case Threat.ScreenRecording.value:\n config.screenRecording?.();\n break;\n case Threat.MultiInstance.value:\n config.multiInstance?.();\n break;\n case Threat.TimeSpoofing.value:\n config.timeSpoofing?.();\n break;\n case Threat.LocationSpoofing.value:\n config.locationSpoofing?.();\n break;\n case Threat.UnsecureWifi.value:\n config.unsecureWifi?.();\n break;\n case Threat.Automation.value:\n config.automation?.();\n break;\n default:\n onInvalidCallback();\n break;\n }\n });\n isInitializing = false;\n};\n\nexport const removeThreatListener = async (): Promise => {\n if (!eventsListener || !threatChannel) {\n return;\n }\n await eventsListener.remove();\n eventsListener = null;\n await Talsec.removeListenerForEvent({ eventName: threatChannel });\n};\n"]} \ No newline at end of file diff --git a/dist/esm/api/methods/capacitor.js b/dist/esm/api/methods/capacitor.js index fa24241..83a47be 100644 --- a/dist/esm/api/methods/capacitor.js +++ b/dist/esm/api/methods/capacitor.js @@ -1,11 +1,17 @@ import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState'; import { registerThreatListener } from '../listeners/threat'; import { Talsec } from '../nativeModules'; +let isRaspStarted = false; export const startFreeRASP = async (config, actions, raspExecutionStateActions) => { await registerThreatListener(actions); if (raspExecutionStateActions) { await registerRaspExecutionStateListener(raspExecutionStateActions); } - return Talsec.talsecStart({ config }); + if (isRaspStarted) { + return { started: true }; + } + const response = await Talsec.talsecStart({ config }); + isRaspStarted = true; + return response; }; //# sourceMappingURL=capacitor.js.map \ No newline at end of file diff --git a/dist/esm/api/methods/capacitor.js.map b/dist/esm/api/methods/capacitor.js.map index 47234ab..04bca16 100644 --- a/dist/esm/api/methods/capacitor.js.map +++ b/dist/esm/api/methods/capacitor.js.map @@ -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,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;QAC7B,MAAM,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;KACrE;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,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\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 return Talsec.talsecStart({ config });\n};\n"]} \ No newline at end of file +{"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;QAC7B,MAAM,kCAAkC,CAAC,yBAAyB,CAAC,CAAC;KACrE;IACD,IAAI,aAAa,EAAE;QACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC1B;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"]} \ No newline at end of file diff --git a/dist/esm/channels/threat.js b/dist/esm/channels/threat.js index b59c490..432eca9 100644 --- a/dist/esm/channels/threat.js +++ b/dist/esm/channels/threat.js @@ -1,4 +1,3 @@ -import { Capacitor } from '@capacitor/core'; import { onInvalidCallback } from '../api/methods/native'; import { Talsec } from '../api/nativeModules'; import { Threat } from '../models/threat'; @@ -6,15 +5,13 @@ import { getThreatCount, itemsHaveType } from '../utils/utils'; export const getThreatIdentifiers = async () => { const { ids } = await Talsec.getThreatIdentifiers(); if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) { - console.error(`Threat count mismatch: Native ${ids.length} vs JS ${getThreatCount()}. Items are numbers: ${itemsHaveType(ids, 'number')}`); - // onInvalidCallback(); + onInvalidCallback(); } return ids; }; export const getThreatChannelData = async () => { - const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3; const { ids } = await Talsec.getThreatChannelData(); - if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) { + if (ids.length !== 3 || !itemsHaveType(ids, 'string')) { onInvalidCallback(); } return ids; diff --git a/dist/esm/channels/threat.js.map b/dist/esm/channels/threat.js.map index 684f4e6..bd7ed2e 100644 --- a/dist/esm/channels/threat.js.map +++ b/dist/esm/channels/threat.js.map @@ -1 +1 @@ -{"version":3,"file":"threat.js","sourceRoot":"","sources":["../../../src/channels/threat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAuB,EAAE;IAChE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;QACpE,OAAO,CAAC,KAAK,CACX,iCAAiC,GAAG,CAAC,MAAM,UAAU,cAAc,EAAE,wBAAwB,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAC5H,CAAC;QACF,uBAAuB;KACxB;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAuC,EAAE;IAChF,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;QAC9D,iBAAiB,EAAE,CAAC;KACrB;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;IAC5D,MAAM,SAAS,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAEnC,IAAI;QACF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;KACpD;AACH,CAAC,CAAC","sourcesContent":["import { Capacitor } from '@capacitor/core';\n\nimport { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { Threat } from '../models/threat';\nimport { getThreatCount, itemsHaveType } from '../utils/utils';\n\nexport const getThreatIdentifiers = async (): Promise => {\n const { ids } = await Talsec.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n console.error(\n `Threat count mismatch: Native ${ids.length} vs JS ${getThreatCount()}. Items are numbers: ${itemsHaveType(ids, 'number')}`,\n );\n // onInvalidCallback();\n }\n return ids;\n};\n\nexport const getThreatChannelData = async (): Promise<[string, string, string]> => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\n\nexport const prepareThreatMapping = async (): Promise => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n\n try {\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n } catch (err) {\n console.error('Could not map Talsec threats', err);\n }\n};\n"]} \ No newline at end of file +{"version":3,"file":"threat.js","sourceRoot":"","sources":["../../../src/channels/threat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAuB,EAAE;IAChE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;QACpE,iBAAiB,EAAE,CAAC;KACrB;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAuC,EAAE;IAChF,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACpD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;QACrD,iBAAiB,EAAE,CAAC;KACrB;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,IAAmB,EAAE;IAC5D,MAAM,SAAS,GAAG,MAAM,oBAAoB,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAEnC,IAAI;QACF,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;KACpD;AACH,CAAC,CAAC","sourcesContent":["import { onInvalidCallback } from '../api/methods/native';\nimport { Talsec } from '../api/nativeModules';\nimport { Threat } from '../models/threat';\nimport { getThreatCount, itemsHaveType } from '../utils/utils';\n\nexport const getThreatIdentifiers = async (): Promise => {\n const { ids } = await Talsec.getThreatIdentifiers();\n if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) {\n onInvalidCallback();\n }\n return ids;\n};\n\nexport const getThreatChannelData = async (): Promise<[string, string, string]> => {\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== 3 || !itemsHaveType(ids, 'string')) {\n onInvalidCallback();\n }\n return ids;\n};\n\nexport const prepareThreatMapping = async (): Promise => {\n const newValues = await getThreatIdentifiers();\n const threats = Threat.getValues();\n\n try {\n threats.map((threat, index) => {\n threat.value = newValues[index];\n });\n } catch (err) {\n console.error('Could not map Talsec threats', err);\n }\n};\n"]} \ No newline at end of file diff --git a/dist/esm/models/threat.js b/dist/esm/models/threat.js index c54d5d2..5a5ff30 100644 --- a/dist/esm/models/threat.js +++ b/dist/esm/models/threat.js @@ -42,6 +42,7 @@ export class Threat { this.UnofficialStore, this.Screenshot, this.ScreenRecording, + this.TimeSpoofing, ]; } } diff --git a/dist/esm/models/threat.js.map b/dist/esm/models/threat.js.map index d08b50d..5f906e0 100644 --- a/dist/esm/models/threat.js.map +++ b/dist/esm/models/threat.js.map @@ -1 +1 @@ -{"version":3,"file":"threat.js","sourceRoot":"","sources":["../../../src/models/threat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,OAAO,MAAM;IA0BjB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS;YAC1C,CAAC,CAAC;gBACE,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,0BAA0B;gBAC/B,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,UAAU;aAChB;YACH,CAAC,CAAC;gBACE,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,0BAA0B;gBAC/B,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;aACrB,CAAC;IACR,CAAC;;AAnEM,mBAAY,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,uBAAgB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,YAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,YAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,eAAQ,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,gBAAS,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,iCAA0B,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C,gBAAS,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,oBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,eAAQ,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,sBAAe,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAChC,wBAAiB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAClC,cAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,cAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,sBAAe,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAChC,oBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,mBAAY,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,uBAAgB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,mBAAY,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC","sourcesContent":["import { Capacitor } from '@capacitor/core';\n\nexport class Threat {\n value: number;\n\n static AppIntegrity = new Threat(0);\n static PrivilegedAccess = new Threat(0);\n static Debug = new Threat(0);\n static Hooks = new Threat(0);\n static Passcode = new Threat(0);\n static Simulator = new Threat(0);\n static SecureHardwareNotAvailable = new Threat(0);\n static SystemVPN = new Threat(0);\n static DeviceBinding = new Threat(0);\n static DeviceID = new Threat(0);\n static UnofficialStore = new Threat(0);\n static ObfuscationIssues = new Threat(0);\n static DevMode = new Threat(0);\n static Malware = new Threat(0);\n static ADBEnabled = new Threat(0);\n static Screenshot = new Threat(0);\n static ScreenRecording = new Threat(0);\n static MultiInstance = new Threat(0);\n static TimeSpoofing = new Threat(0);\n static LocationSpoofing = new Threat(0);\n static UnsecureWifi = new Threat(0);\n static Automation = new Threat(0);\n\n constructor(value: number) {\n this.value = value;\n }\n\n static getValues(): Threat[] {\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 ];\n }\n}\n"]} \ No newline at end of file +{"version":3,"file":"threat.js","sourceRoot":"","sources":["../../../src/models/threat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,OAAO,MAAM;IA0BjB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS;QACd,OAAO,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS;YAC1C,CAAC,CAAC;gBACE,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,0BAA0B;gBAC/B,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,OAAO;gBACZ,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,UAAU;aAChB;YACH,CAAC,CAAC;gBACE,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,gBAAgB;gBACrB,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,KAAK;gBACV,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,0BAA0B;gBAC/B,IAAI,CAAC,SAAS;gBACd,IAAI,CAAC,aAAa;gBAClB,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,UAAU;gBACf,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,YAAY;aAClB,CAAC;IACR,CAAC;;AApEM,mBAAY,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,uBAAgB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,YAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,YAAK,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACtB,eAAQ,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,gBAAS,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,iCAA0B,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C,gBAAS,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,oBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,eAAQ,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACzB,sBAAe,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAChC,wBAAiB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAClC,cAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,cAAO,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACxB,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3B,sBAAe,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAChC,oBAAa,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,mBAAY,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,uBAAgB,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AACjC,mBAAY,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,iBAAU,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC","sourcesContent":["import { Capacitor } from '@capacitor/core';\n\nexport class Threat {\n value: number;\n\n static AppIntegrity = new Threat(0);\n static PrivilegedAccess = new Threat(0);\n static Debug = new Threat(0);\n static Hooks = new Threat(0);\n static Passcode = new Threat(0);\n static Simulator = new Threat(0);\n static SecureHardwareNotAvailable = new Threat(0);\n static SystemVPN = new Threat(0);\n static DeviceBinding = new Threat(0);\n static DeviceID = new Threat(0);\n static UnofficialStore = new Threat(0);\n static ObfuscationIssues = new Threat(0);\n static DevMode = new Threat(0);\n static Malware = new Threat(0);\n static ADBEnabled = new Threat(0);\n static Screenshot = new Threat(0);\n static ScreenRecording = new Threat(0);\n static MultiInstance = new Threat(0);\n static TimeSpoofing = new Threat(0);\n static LocationSpoofing = new Threat(0);\n static UnsecureWifi = new Threat(0);\n static Automation = new Threat(0);\n\n constructor(value: number) {\n this.value = value;\n }\n\n static getValues(): Threat[] {\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}\n"]} \ No newline at end of file diff --git a/dist/esm/types/types.d.ts b/dist/esm/types/types.d.ts index 88f56a0..ab06884 100644 --- a/dist/esm/types/types.d.ts +++ b/dist/esm/types/types.d.ts @@ -4,8 +4,13 @@ export interface TalsecPlugin { }): Promise<{ started: boolean; }>; - addListener(listner: string, callback: any): any; + addListener(listener: string, callback: any): any; onInvalidCallback(): void; + removeListenerForEvent(options: { + eventName: string; + }): Promise<{ + result: string; + }>; getThreatIdentifiers(): Promise<{ ids: number[]; }>; diff --git a/dist/esm/types/types.js.map b/dist/esm/types/types.js.map index d0d1954..bd1c36f 100644 --- a/dist/esm/types/types.js.map +++ b/dist/esm/types/types.js.map @@ -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(listner: string, callback: any): any;\n onInvalidCallback(): void;\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"]} \ No newline at end of file +{"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"]} \ No newline at end of file diff --git a/dist/plugin.cjs.js b/dist/plugin.cjs.js index 5b514bf..4f49f3d 100644 --- a/dist/plugin.cjs.js +++ b/dist/plugin.cjs.js @@ -83,7 +83,6 @@ class Threat { this.UnofficialStore, this.Screenshot, this.ScreenRecording, - this.Automation, ]; } } diff --git a/dist/plugin.cjs.js.map b/dist/plugin.cjs.js.map index 93a4cd7..e1fecaa 100644 --- a/dist/plugin.cjs.js.map +++ b/dist/plugin.cjs.js.map @@ -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.Automation,\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 { Capacitor } from '@capacitor/core';\nimport { 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 console.error(`Threat count mismatch: Native ${ids.length} vs JS ${getThreatCount()}. Items are numbers: ${itemsHaveType(ids, 'number')}`);\n // onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== dataLength || !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 isInitializing = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareThreatMapping();\n eventsListener = await Talsec.addListener(channel, 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 (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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[malwareKey]));\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\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 isInitializing = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key] = await getRaspExecutionStateChannelData();\n await prepareRaspExecutionStateMapping();\n eventsListener = await Talsec.addListener(channel, async (event) => {\n var _a;\n if (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n return Talsec.talsecStart({ config });\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing"],"mappings":"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"} \ No newline at end of file +{"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 ];\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 { Capacitor } from '@capacitor/core';\nimport { 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 console.error(`Threat count mismatch: Native ${ids.length} vs JS ${getThreatCount()}. Items are numbers: ${itemsHaveType(ids, 'number')}`);\n // onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== dataLength || !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 isInitializing = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareThreatMapping();\n eventsListener = await Talsec.addListener(channel, 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 (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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[malwareKey]));\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\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 isInitializing = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key] = await getRaspExecutionStateChannelData();\n await prepareRaspExecutionStateMapping();\n eventsListener = await Talsec.addListener(channel, async (event) => {\n var _a;\n if (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n return Talsec.talsecStart({ config });\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing"],"mappings":"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"} \ No newline at end of file diff --git a/dist/plugin.js b/dist/plugin.js index e16610f..fd17778 100644 --- a/dist/plugin.js +++ b/dist/plugin.js @@ -80,7 +80,6 @@ var capacitorFreerasp = (function (exports, core) { this.UnofficialStore, this.Screenshot, this.ScreenRecording, - this.Automation, ]; } } diff --git a/dist/plugin.js.map b/dist/plugin.js.map index 550a0b8..b70af1c 100644 --- a/dist/plugin.js.map +++ b/dist/plugin.js.map @@ -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.Automation,\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 { Capacitor } from '@capacitor/core';\nimport { 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 console.error(`Threat count mismatch: Native ${ids.length} vs JS ${getThreatCount()}. Items are numbers: ${itemsHaveType(ids, 'number')}`);\n // onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== dataLength || !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 isInitializing = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareThreatMapping();\n eventsListener = await Talsec.addListener(channel, 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 (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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[malwareKey]));\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\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 isInitializing = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key] = await getRaspExecutionStateChannelData();\n await prepareRaspExecutionStateMapping();\n eventsListener = await Talsec.addListener(channel, async (event) => {\n var _a;\n if (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n return Talsec.talsecStart({ config });\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing"],"mappings":"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"} \ No newline at end of file +{"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 ];\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 { Capacitor } from '@capacitor/core';\nimport { 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 console.error(`Threat count mismatch: Native ${ids.length} vs JS ${getThreatCount()}. Items are numbers: ${itemsHaveType(ids, 'number')}`);\n // onInvalidCallback();\n }\n return ids;\n};\nexport const getThreatChannelData = async () => {\n const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3;\n const { ids } = await Talsec.getThreatChannelData();\n if (ids.length !== dataLength || !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 isInitializing = false;\nexport const registerThreatListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key, malwareKey] = await getThreatChannelData();\n await prepareThreatMapping();\n eventsListener = await Talsec.addListener(channel, 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 (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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[malwareKey]));\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\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 isInitializing = false;\nexport const registerRaspExecutionStateListener = async (config) => {\n if (isInitializing) {\n return;\n }\n isInitializing = true;\n if (eventsListener) {\n await eventsListener.remove();\n eventsListener = null;\n }\n const [channel, key] = await getRaspExecutionStateChannelData();\n await prepareRaspExecutionStateMapping();\n eventsListener = await Talsec.addListener(channel, async (event) => {\n var _a;\n if (event[key] == undefined) {\n onInvalidCallback();\n }\n switch (event[key]) {\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) {\n await eventsListener.remove();\n eventsListener = null;\n }\n};\n//# sourceMappingURL=raspExecutionState.js.map","import { registerRaspExecutionStateListener } from '../listeners/raspExecutionState';\nimport { registerThreatListener } from '../listeners/threat';\nimport { Talsec } from '../nativeModules';\nexport const startFreeRASP = async (config, actions, raspExecutionStateActions) => {\n await registerThreatListener(actions);\n if (raspExecutionStateActions) {\n await registerRaspExecutionStateListener(raspExecutionStateActions);\n }\n return Talsec.talsecStart({ config });\n};\n//# sourceMappingURL=capacitor.js.map"],"names":["registerPlugin","Capacitor","eventsListener","isInitializing"],"mappings":"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"} \ No newline at end of file diff --git a/example/.gitignore b/example/.gitignore index 8727bfd..a4a71f8 100644 --- a/example/.gitignore +++ b/example/.gitignore @@ -29,3 +29,5 @@ yarn-error.log* # Optional eslint cache .eslintcache + +android/app/release/ diff --git a/example/src/utils/checks.ts b/example/src/utils/checks.ts index c21f9ed..e862259 100644 --- a/example/src/utils/checks.ts +++ b/example/src/utils/checks.ts @@ -11,6 +11,7 @@ export const commonChecks = [ { name: 'Unofficial Store', isSecure: true }, { name: 'Screenshot', isSecure: true }, { name: 'Screen Recording', isSecure: true }, + { name: 'Time spoofing', isSecure: true }, ]; export const iosChecks = [{ name: 'Device ID', isSecure: true }]; @@ -21,7 +22,6 @@ export const androidChecks = [ { name: 'Malware', isSecure: true }, { name: 'ADB Enabled', isSecure: true }, { name: 'Multi Instance', isSecure: true }, - { name: 'Time spoofing', isSecure: true }, { name: 'Location spoofing', isSecure: true }, { name: 'Unsecure Wi-Fi', isSecure: true }, { name: 'Automation', isSecure: true }, diff --git a/ios/Plugin/FreeraspPlugin.m b/ios/Plugin/FreeraspPlugin.m index 70d6bcd..1bee4f4 100644 --- a/ios/Plugin/FreeraspPlugin.m +++ b/ios/Plugin/FreeraspPlugin.m @@ -9,6 +9,7 @@ CAP_PLUGIN_METHOD(getRaspExecutionStateChannelData, CAPPluginReturnPromise); CAP_PLUGIN_METHOD(getRaspExecutionStateIdentifiers, CAPPluginReturnPromise); CAP_PLUGIN_METHOD(onInvalidCallback, CAPPluginReturnPromise); + CAP_PLUGIN_METHOD(removeListenerForEvent, CAPPluginReturnNone); CAP_PLUGIN_METHOD(talsecStart, CAPPluginReturnPromise); CAP_PLUGIN_METHOD(storeExternalId, CAPPluginReturnPromise); CAP_PLUGIN_METHOD(removeExternalId, CAPPluginReturnPromise); diff --git a/ios/Plugin/FreeraspPlugin.swift b/ios/Plugin/FreeraspPlugin.swift index 4bd1b33..3af500a 100644 --- a/ios/Plugin/FreeraspPlugin.swift +++ b/ios/Plugin/FreeraspPlugin.swift @@ -9,13 +9,33 @@ public class FreeraspPlugin: CAPPlugin { override public func load() { FreeraspPlugin.shared = self - - ThreatDispatcher.shared.listener = { [weak self] threat in - self?.notifyListeners(EventIdentifiers.threatChannelName, data: [EventIdentifiers.threatChannelKey: threat.callbackIdentifier], retainUntilConsumed: true) + } + + @objc override public func addListener(_ call: CAPPluginCall) { + super.addListener(call) + guard let eventName = call.getString("eventName") else { + return } - - ExecutionStateDispatcher.shared.listener = { [weak self] event in - self?.notifyListeners(EventIdentifiers.raspExecutionStateChannelName, data: [EventIdentifiers.raspExecutionStateChannelKey: event.callbackIdentifier], retainUntilConsumed: true) + if eventName == EventIdentifiers.threatChannelName { + ThreatDispatcher.shared.listener = { [weak self] threat in + self?.notifyListeners(EventIdentifiers.threatChannelName, data: [EventIdentifiers.threatChannelKey: threat.callbackIdentifier], retainUntilConsumed: true) + } + } else if eventName == EventIdentifiers.raspExecutionStateChannelName { + ExecutionStateDispatcher.shared.listener = { [weak self] event in + self?.notifyListeners(EventIdentifiers.raspExecutionStateChannelName, data: [EventIdentifiers.raspExecutionStateChannelKey: event.callbackIdentifier], retainUntilConsumed: true) + } + } + } + + @objc func removeListenerForEvent(_ call: CAPPluginCall) -> Void { + guard let eventName = call.getString("eventName") else { + call.reject("Event name argument is missing or empty in the call", "MissingArgumentError") + return + } + if eventName == EventIdentifiers.threatChannelName { + ThreatDispatcher.shared.listener = nil + } else if eventName == EventIdentifiers.raspExecutionStateChannelName { + ExecutionStateDispatcher.shared.listener = nil } } @@ -83,7 +103,7 @@ public class FreeraspPlugin: CAPPlugin { */ @objc func getThreatChannelData(_ call: CAPPluginCall) -> Void { call.resolve([ - "ids": [EventIdentifiers.threatChannelName, EventIdentifiers.threatChannelKey] + "ids": [EventIdentifiers.threatChannelName, EventIdentifiers.threatChannelKey, "0"] ]) } @@ -115,7 +135,7 @@ public class FreeraspPlugin: CAPPlugin { * We never send an invalid callback over our channel. * Therefore, if this happens, we want to kill the app. */ - @objc func onInvalidCallback() -> Void { + @objc func onInvalidCallback(_ call: CAPPluginCall) -> Void { abort() } diff --git a/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory b/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory index e1bc73f..167089f 100644 Binary files a/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory and b/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeDirectory differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeResources b/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeResources index e0898f4..cac7ae9 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeResources +++ b/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeResources @@ -4,17 +4,21 @@ files + ios-arm64/TalsecRuntime.framework/.jbroot/libRHProbe.dat + + 2jmj7l5rSw0yVb/vlWAYkK/YBwk= + ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h mOqIZoN2AJlkJSNzs7YiosCwiDw= ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h - WA1JyO7KWSoJGy5fxmELyR1IkWE= + ZkQjO7x88G+caDsZYp0KwmxL2Aw= ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h - bwBJT0DISWmymS9rLEFSpuJl7ss= + DqUnO8wofc0P1pXvzIHWsDPY9wQ= ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h @@ -22,7 +26,7 @@ ios-arm64/TalsecRuntime.framework/Headers/curl.h - ts72n1gggDFqWROsijjd2V5bmnk= + iFWnikL7Q4/IueAgDYwGRmEleGM= ios-arm64/TalsecRuntime.framework/Headers/curlver.h @@ -42,11 +46,11 @@ ios-arm64/TalsecRuntime.framework/Headers/multi.h - ghjOT/nVae583cGGQSS51MEGYz0= + uiqvup6PKoHdlfWDHt23/MFb6S8= ios-arm64/TalsecRuntime.framework/Headers/options.h - jgKjZkIB4sAKRVgNpzwrJ5R6BnI= + BEbKsYMr7aX3LyFIzTUiXnN2gw4= ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h @@ -62,7 +66,7 @@ ios-arm64/TalsecRuntime.framework/Headers/urlapi.h - wmwxqoTKiFpUxhiWu43uFpMfnfc= + f2PBpUaDVeZCOLX7BzSyHsj638o= ios-arm64/TalsecRuntime.framework/Headers/websockets.h @@ -70,23 +74,23 @@ ios-arm64/TalsecRuntime.framework/Info.plist - IYP+o5wWXOwmMq5iFZ2HWqxyQik= + L+U4UwOWk8l73RtqEYeFc0P4gdM= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json - NTg7yIg8Nc6VPtjx/jY/XQPV0vI= + 4uFW6AFwmmgX3LEuyMccmKezaFQ= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface - F8vZ+ZDKsLVP6W7+Jk+o7K1wgQ4= + 3iPuRGG17GpD7jAh2Lr5CmvFHWg= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc - XFQPhWVvUMotgzCzBCnU+tHTN6A= + Ra9moHz8eCDrGU2FC0XI1mtdGN8= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface - F8vZ+ZDKsLVP6W7+Jk+o7K1wgQ4= + 3iPuRGG17GpD7jAh2Lr5CmvFHWg= ios-arm64/TalsecRuntime.framework/Modules/module.modulemap @@ -94,11 +98,11 @@ ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy - wLuornyoj3Lx3RDlF2QKMsAJxRc= + EoDY5rl3F+/NSgSM7d7epUYDscA= ios-arm64/TalsecRuntime.framework/TalsecRuntime - TNLKqAukkyUrny2+z1XjH1Mv2+8= + xRcAJ46y2PrfKsukIoRiBLmrKok= ios-arm64/TalsecRuntime.framework/cacert.pem @@ -108,17 +112,21 @@ mnI/NClQ83sI5K2xkweR9cS1BrM= + ios-arm64_x86_64-simulator/TalsecRuntime.framework/.jbroot/libRHProbe.dat + + 2jmj7l5rSw0yVb/vlWAYkK/YBwk= + ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h mOqIZoN2AJlkJSNzs7YiosCwiDw= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h - WA1JyO7KWSoJGy5fxmELyR1IkWE= + ZkQjO7x88G+caDsZYp0KwmxL2Aw= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h - MqWD2qxGFZS4IS6VVlbeFOu4/zo= + e8NHq3kv5aJaHHerjM8ZeujEqdM= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h @@ -126,7 +134,7 @@ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h - ts72n1gggDFqWROsijjd2V5bmnk= + iFWnikL7Q4/IueAgDYwGRmEleGM= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h @@ -146,11 +154,11 @@ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h - ghjOT/nVae583cGGQSS51MEGYz0= + uiqvup6PKoHdlfWDHt23/MFb6S8= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h - jgKjZkIB4sAKRVgNpzwrJ5R6BnI= + BEbKsYMr7aX3LyFIzTUiXnN2gw4= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h @@ -166,7 +174,7 @@ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h - wmwxqoTKiFpUxhiWu43uFpMfnfc= + f2PBpUaDVeZCOLX7BzSyHsj638o= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h @@ -174,39 +182,39 @@ ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist - Dzja35wc+f4Y/yJuzktrj1qsCU0= + EKBJ39Er6bsGyBj2kUGZV2YaI5Q= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json - NTg7yIg8Nc6VPtjx/jY/XQPV0vI= + 9SzHs3a64Cr2q5YQehUN0YZKyck= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - 11Zc3FvUFlGp8W//MH4jQcKagKE= + llw484UKAnWPJb8CJpVj2CaHHDE= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc - mJlKnjUfSE3Y8ZQ2INnAMyMsm2g= + veuVKeP/oKf+WFki2xYyyAtPZ5E= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface - 11Zc3FvUFlGp8W//MH4jQcKagKE= + llw484UKAnWPJb8CJpVj2CaHHDE= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json - NTg7yIg8Nc6VPtjx/jY/XQPV0vI= + 9SzHs3a64Cr2q5YQehUN0YZKyck= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - a6CNCiaS16+juFzV//lEYSGIMy4= + 4I0pGIDaoA0k3axTQo3rbxN5Nyc= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - T/DL4bHXKHHe/fV93pC4+qoSee4= + P7E5n+59NoXIZ7ogjimIL7vP1Cs= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - a6CNCiaS16+juFzV//lEYSGIMy4= + 4I0pGIDaoA0k3axTQo3rbxN5Nyc= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap @@ -214,15 +222,15 @@ ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy - wLuornyoj3Lx3RDlF2QKMsAJxRc= + EoDY5rl3F+/NSgSM7d7epUYDscA= ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime - 1SIg4KdRIyNE451vg5tjrQsS8Mg= + d4fQY2UCpRJfXCLn564WPpEJys4= ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources - HKHgofTkBtiLoHj/48SBDw0ZmXI= + ybJOe25IofRlYBDJ0IAhfHJpUyA= ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem @@ -235,6 +243,13 @@ files2 + ios-arm64/TalsecRuntime.framework/.jbroot/libRHProbe.dat + + hash2 + + 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + + ios-arm64/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h hash2 @@ -246,14 +261,14 @@ hash2 - lwrSTYcdtuUGVDgaHIbe1bbQ7VFkbd2gC004O1j6TPc= + VgYnDeq58Jl7L3WW/alDNpf2HH1/AGa7zvkOkVlt23Q= ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h hash2 - mD0hAv4S4GuL0RvRAXcwsjbh8Q6rFjvlMOHk5RIzVLQ= + BM4idk2+hJGUR6qwmha6gLiMHVpd/jLYHJ/W/3cr9jM= ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h @@ -267,7 +282,7 @@ hash2 - J1Rdz0xMEsZElJMEzlfqhQWF8ySsbbPGdNEKFh+kanw= + p4Vxjotm0vYqQaHdMm842c6WX6NmAy/LwtSKmosF+CU= ios-arm64/TalsecRuntime.framework/Headers/curlver.h @@ -302,14 +317,14 @@ hash2 - 0u/8fnvcek6E8pW9l9eCVQLDoE6wVE6xNqaEuecr2vY= + P1BTIDic+uVA2Cp7TbHBJUtTujgF+3hmr1YqySS1VT8= ios-arm64/TalsecRuntime.framework/Headers/options.h hash2 - W9BWyD70kT34RsuOOuud+qqZ6emBkskEHCutDRcBuVk= + XqlGMH48ZhTbHLtSaZuixWdtxbuJC3K1106RT1uFf2A= ios-arm64/TalsecRuntime.framework/Headers/stdcheaders.h @@ -337,7 +352,7 @@ hash2 - nh6/67Z3VU2snFQmgki0ooYpXB+aA4hL+RMtsurfPPk= + zgPHWQMwWmpozMM9dBvMyNmN9o35hg5xGWkkpk8dGwo= ios-arm64/TalsecRuntime.framework/Headers/websockets.h @@ -351,35 +366,35 @@ hash2 - m3nLP8QIbUZWF6C18lr/deO8UF3BeWdTmisktAnMRRo= + 0sZKS/1MfM6ceN2Z+085nnlDBPFKfqYcm2mjgYDQYxs= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json hash2 - smJ7d6OZeqWFeidhNPmMvWfZN2+tQ1l1DsAsqzgQt7w= + KZsWQ9ZeWpjhHJiUVdwXYsIRyiws582UcrbXEQ1lK6o= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface hash2 - 12g4Ms7sl+JkodEZrNz6bTQkxFQyVffRJ/KCFGaZJfc= + iMlvH29nL3TA8mNUhCvWNZpmK/FXRcrelUyF1av6Www= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc hash2 - xZ6vTfBu+FrIZDnn+pWUrgD9EfS0VzecKRwAPFwZYMc= + H6zkUOdK8wgf0nC0Xuj9XMzkDSDZicyUtdfk82duZy0= ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface hash2 - 12g4Ms7sl+JkodEZrNz6bTQkxFQyVffRJ/KCFGaZJfc= + iMlvH29nL3TA8mNUhCvWNZpmK/FXRcrelUyF1av6Www= ios-arm64/TalsecRuntime.framework/Modules/module.modulemap @@ -393,14 +408,14 @@ hash2 - Svr+pZXI7cccZzTW1vTq+pkCOZe6kEQLslDFaL22qzI= + Tfo6GXW0wL6V4grnszDhSoINMxnjKwgN7Z6h4Ha1EEo= ios-arm64/TalsecRuntime.framework/TalsecRuntime hash2 - MlVuYnOs4UOw3RlukjXwCIedxhfhMfCp+bOD5ODHehs= + CAWC95SdB48EF7hlAFewB3s/qYw4Xv3kdu89GQLgWdc= ios-arm64/TalsecRuntime.framework/cacert.pem @@ -417,6 +432,13 @@ PyY8LBmk2KM3Pm+7gcuZwfV9homQCYsBeTEPUypp+U0= + ios-arm64_x86_64-simulator/TalsecRuntime.framework/.jbroot/libRHProbe.dat + + hash2 + + 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + + ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CryptoBridgingHeader.h hash2 @@ -428,14 +450,14 @@ hash2 - lwrSTYcdtuUGVDgaHIbe1bbQ7VFkbd2gC004O1j6TPc= + VgYnDeq58Jl7L3WW/alDNpf2HH1/AGa7zvkOkVlt23Q= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h hash2 - eOzpjk/89xuYLUDhpP29sxMdg2xIQkS6YODFqKKBMTk= + 5Rk5zMiRKbRO7a7jerPdFaKVgZHZsUxgvUcVJJI1DLM= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime_iOS.h @@ -449,7 +471,7 @@ hash2 - J1Rdz0xMEsZElJMEzlfqhQWF8ySsbbPGdNEKFh+kanw= + p4Vxjotm0vYqQaHdMm842c6WX6NmAy/LwtSKmosF+CU= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curlver.h @@ -484,14 +506,14 @@ hash2 - 0u/8fnvcek6E8pW9l9eCVQLDoE6wVE6xNqaEuecr2vY= + P1BTIDic+uVA2Cp7TbHBJUtTujgF+3hmr1YqySS1VT8= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h hash2 - W9BWyD70kT34RsuOOuud+qqZ6emBkskEHCutDRcBuVk= + XqlGMH48ZhTbHLtSaZuixWdtxbuJC3K1106RT1uFf2A= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/stdcheaders.h @@ -519,7 +541,7 @@ hash2 - nh6/67Z3VU2snFQmgki0ooYpXB+aA4hL+RMtsurfPPk= + zgPHWQMwWmpozMM9dBvMyNmN9o35hg5xGWkkpk8dGwo= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/websockets.h @@ -533,63 +555,63 @@ hash2 - wPypxYSFe5re1M9kok/xJBrGRAg6JkgKZ0N0f9EOW2E= + /t452QPtq0namxWM4inmpEpAuK3GhExEmpVIQKubzac= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json hash2 - smJ7d6OZeqWFeidhNPmMvWfZN2+tQ1l1DsAsqzgQt7w= + UPrBI50Fkp8B6cmrFwWDPtJQQQyZ6fsEXBOfR/+ZSnY= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface hash2 - NXBc0P8JjFwBaIgivJQNz7nosY48UZBIGOPTf/bYewI= + haSQY3upZ2WR6JkXg/Jxpph+ny4EtTDUg9TVsWeNUoU= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc hash2 - WobhDnDJimDFi4H93t4PHKChXKRdUDJ9mD4INAfhNA0= + HuiYD5192nGs4hgWg8fu0oRAx67am62APnwBTlSebrk= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface hash2 - NXBc0P8JjFwBaIgivJQNz7nosY48UZBIGOPTf/bYewI= + haSQY3upZ2WR6JkXg/Jxpph+ny4EtTDUg9TVsWeNUoU= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json hash2 - smJ7d6OZeqWFeidhNPmMvWfZN2+tQ1l1DsAsqzgQt7w= + UPrBI50Fkp8B6cmrFwWDPtJQQQyZ6fsEXBOfR/+ZSnY= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface hash2 - FOrAekhc36NfqLLe4rlbHttfKoRbiuV3L9+WnC24NBc= + 1mruU/68fB6bnmgfh09YUKQnRXtJD6ahwH7mRkndURw= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc hash2 - rS8E9vR/8aKK2wuSIY7Q2qIZtlLtddvnA4i3d6ZQPi8= + QCOzEtn1CrkYuVdPbTvUXGISSciLhey5r2BXEz+3cWI= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface hash2 - FOrAekhc36NfqLLe4rlbHttfKoRbiuV3L9+WnC24NBc= + 1mruU/68fB6bnmgfh09YUKQnRXtJD6ahwH7mRkndURw= ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/module.modulemap @@ -603,21 +625,21 @@ hash2 - Svr+pZXI7cccZzTW1vTq+pkCOZe6kEQLslDFaL22qzI= + Tfo6GXW0wL6V4grnszDhSoINMxnjKwgN7Z6h4Ha1EEo= ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime hash2 - RxhxpjwdLOakxzS3LAH3jn1GXskEf5EU2ihSQpoeQuk= + 2dWhijuuMj8fivInj06lrh9NfcDHkOlX4PjWqy9654E= ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources hash2 - MGunce0rRXZRp12WJlaSM6isisLNAhADxxvB4pGdDfU= + 9jt2M8U2LLAvJLmw8Oy8EnHX+7SLK85upDbN5+5663U= ios-arm64_x86_64-simulator/TalsecRuntime.framework/cacert.pem diff --git a/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeSignature b/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeSignature deleted file mode 100644 index 6d91dc9..0000000 Binary files a/ios/Plugin/TalsecRuntime.xcframework/_CodeSignature/CodeSignature and /dev/null differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/.jbroot/libRHProbe.dat b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/.jbroot/libRHProbe.dat new file mode 100644 index 0000000..e69de29 diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h index c52f7dd..6300a83 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/CurlWrapper.h @@ -16,7 +16,7 @@ #include #include -struct cmPZLGcLnWfW { +struct GGifFrJfbYKN { char *memory; size_t size; CURLcode ret; diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h index fe37228..5fe2bcb 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h @@ -303,7 +303,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) -SWIFT_EXTERN void __otoxjbVsTyhxeLCRprASIga(void) SWIFT_NOEXCEPT; +SWIFT_EXTERN void __zyLgTMcLduaodHdkYqXNtEi(void) SWIFT_NOEXCEPT; #endif #if __has_attribute(external_source_symbol) diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h index df4f244..779a8e3 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/curl.h @@ -813,11 +813,11 @@ typedef enum { * * CURLAUTH_NONE - No HTTP authentication * CURLAUTH_BASIC - HTTP Basic authentication (default) - * CURLAUTH_DIGEST - HTTP DiGlHt authentication + * CURLAUTH_DIGEST - HTTP DibCOt authentication * CURLAUTH_NEGOTIATE - HTTP Negotiate (SPNEGO) authentication * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated) * CURLAUTH_NTLM - HTTP NTLM authentication - * CURLAUTH_DIGEST_IE - HTTP DiGlHt authentication with IE flavour + * CURLAUTH_DIGEST_IE - HTTP DibCOt authentication with IE flavour * CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper * CURLAUTH_BEARER - HTTP Bearer token authentication * CURLAUTH_ONLY - Use together with a single other type to force no @@ -1164,7 +1164,7 @@ typedef enum { /* Specified file stream to upload from (use as input): */ CURLOPT(CURLOPT_READDATA, CURLOPTTYPE_CBPOINT, 9), - /* Buffer to receive error messaGlH in, must be at least CURL_ERROR_SIZE + /* Buffer to receive error messabCO in, must be at least CURL_ERROR_SIZE * bytes big. */ CURLOPT(CURLOPT_ERRORBUFFER, CURLOPTTYPE_OBJECTPOINT, 10), @@ -1541,7 +1541,7 @@ typedef enum { Note that setting multiple bits may cause extra network round-trips. */ CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111), - /* Option that chanGlH the timeout, in seconds, associated with getting a + /* Option that chanbCO the timeout, in seconds, associated with getting a response. This is different from transfer timeout time and essentially places a demand on the server to acknowledge commands in a timely manner. For FTP, SMTP, IMAP and POP3. */ @@ -3110,7 +3110,7 @@ typedef enum { /* The 'CURLVERSION_NOW' is the symbolic name meant to be used by basically all programs ever that want to get version information. It is meant to be a built-in version number for what kind of struct the caller - expects. If the struct ever chanGlH, we redefine the NOW to another enum + expects. If the struct ever chanbCO, we redefine the NOW to another enum from above. */ #define CURLVERSION_NOW CURLVERSION_TWELFTH @@ -3232,7 +3232,7 @@ CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion); * * The curl_easy_strerror function may be used to turn a CURLcode value * into the equivalent human readable error string. This is useful - * for printing meaningful error messaGlH. + * for printing meaningful error messabCO. */ CURL_EXTERN const char *curl_easy_strerror(CURLcode); @@ -3243,7 +3243,7 @@ CURL_EXTERN const char *curl_easy_strerror(CURLcode); * * The curl_share_strerror function may be used to turn a CURLSHcode value * into the equivalent human readable error string. This is useful - * for printing meaningful error messaGlH. + * for printing meaningful error messabCO. */ CURL_EXTERN const char *curl_share_strerror(CURLSHcode); diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h index 9a8d97b..ede858c 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/multi.h @@ -232,8 +232,8 @@ CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); /* * Name: curl_multi_info_read() * - * Desc: Ask the multi handle if there is any messaGlH/informationals from - * the individual transfers. MessaGlH include informationals such as + * Desc: Ask the multi handle if there is any messabCO/informationals from + * the individual transfers. MessabCO include informationals such as * error code from the transfer or just the fact that a transfer is * completed. More details on these should be written down as well. * @@ -253,7 +253,7 @@ CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); * compatibility problems in the future. * * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out - * of structs. It also writes the number of messaGlH left in the + * of structs. It also writes the number of messabCO left in the * queue (after this read) in the integer the second argument points * to. */ @@ -265,7 +265,7 @@ CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle, * * Desc: The curl_multi_strerror function may be used to turn a CURLMcode * value into the equivalent human readable error string. This is - * useful for printing meaningful error messaGlH. + * useful for printing meaningful error messabCO. * * Returns: A pointer to a null-terminated error message. */ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h index 7bc5867..bf2ea92 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/options.h @@ -46,7 +46,7 @@ typedef enum { we prefer another name */ #define CURLOT_FLAG_ALIAS (1<<0) -/* The CURLOPTTYPE_* id ranGlH can still be used to figure out what type/size +/* The CURLOPTTYPE_* id ranbCO can still be used to figure out what type/size to use for curl_easy_setopt() for the given id */ struct curl_easyoption { const char *name; diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h index dc7ee31..301be05 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Headers/urlapi.h @@ -144,7 +144,7 @@ CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what, /* * curl_url_strerror() turns a CURLUcode value into the equivalent human * readable error string. This is useful for printing meaningful error - * messaGlH. + * messabCO. */ CURL_EXTERN const char *curl_url_strerror(CURLUcode); diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist index b208a31..f5476be 100644 Binary files a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist and b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Info.plist differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json index f89ed2c..c81d0e5 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.abi.json @@ -388,6 +388,13 @@ "RawDocComment" ] }, + { + "kind": "Import", + "name": "CryptoKit", + "printedName": "CryptoKit", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, { "kind": "Import", "name": "Foundation", @@ -1141,6 +1148,76 @@ "RawDocComment" ] }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, { "kind": "Import", "name": "Foundation", @@ -1813,6 +1890,46 @@ "RawDocComment" ] }, + { + "kind": "Var", + "name": "timeSpoofing", + "printedName": "timeSpoofing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat", + "children": [ + { + "kind": "TypeNominal", + "name": "SecurityThreat", + "printedName": "TalsecRuntime.SecurityThreat", + "usr": "s:13TalsecRuntime14SecurityThreatO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "TalsecRuntime.SecurityThreat.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "SecurityThreat", + "printedName": "TalsecRuntime.SecurityThreat", + "usr": "s:13TalsecRuntime14SecurityThreatO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:13TalsecRuntime14SecurityThreatO12timeSpoofingyA2CmF", + "mangledName": "$s13TalsecRuntime14SecurityThreatO12timeSpoofingyA2CmF", + "moduleName": "TalsecRuntime", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Constructor", "name": "init", @@ -2622,562 +2739,702 @@ }, "ConstValues": [ { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 243, "length": 13, "value": "\"development\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 279, "length": 12, "value": "\"production\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 312, "length": 10, "value": "\"disabled\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 575, "length": 24, "value": "\"keychain-access-groups\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 628, "length": 16, "value": "\"get-task-allow\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 675, "length": 17, "value": "\"aps-environment\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 722, "length": 24, "value": "\"application-identifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "BooleanLiteral", "offset": 1994, "length": 5, "value": "false" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2227, "length": 6, "value": "\"Name\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2259, "length": 11, "value": "\"AppIDName\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2296, "length": 29, "value": "\"ApplicationIdentifierPrefix\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2350, "length": 10, "value": "\"TeamName\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2392, "length": 16, "value": "\"TeamIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2433, "length": 10, "value": "\"Platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2474, "length": 16, "value": "\"IsXcodeManaged\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2519, "length": 14, "value": "\"CreationDate\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2564, "length": 16, "value": "\"ExpirationDate\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2607, "length": 12, "value": "\"TimeToLive\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2640, "length": 6, "value": "\"UUID\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2670, "length": 9, "value": "\"Version\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2708, "length": 14, "value": "\"Entitlements\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "Array", "offset": 375, "length": 2, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "StringLiteral", "offset": 415, "length": 2, "value": "\"\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "BooleanLiteral", "offset": 491, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 471, "length": 11, "value": "\"osVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 511, "length": 14, "value": "\"manufacturer\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 547, "length": 7, "value": "\"model\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 753, "length": 10, "value": "\"security\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 790, "length": 12, "value": "\"biometrics\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 835, "length": 18, "value": "\"hwBackedKeychain\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1430, "length": 18, "value": "\"endOfGracePeriod\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1874, "length": 15, "value": "\"appIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1916, "length": 12, "value": "\"appVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 5957, + "offset": 7497, "length": 5, "value": "\"iOS\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6394, + "offset": 7934, "length": 7, "value": "\"en_US\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6873, + "offset": 8413, "length": 3, "value": "\".\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6923, + "offset": 8463, "length": 2, "value": "\"\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7146, + "offset": 8686, "length": 12, "value": "\"instanceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7182, + "offset": 8722, "length": 9, "value": "\"eventId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7218, + "offset": 8758, "length": 12, "value": "\"deviceInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7258, + "offset": 8798, "length": 13, "value": "\"deviceState\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7295, + "offset": 8835, "length": 9, "value": "\"appInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7329, + "offset": 8869, "length": 10, "value": "\"platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7365, + "offset": 8905, "length": 11, "value": "\"occurence\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7407, + "offset": 8947, "length": 16, "value": "\"incidentReport\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7446, + "offset": 8986, "length": 8, "value": "\"checks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7481, + "offset": 9021, "length": 12, "value": "\"externalId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7519, + "offset": 9059, "length": 11, "value": "\"sessionId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7555, + "offset": 9095, "length": 10, "value": "\"deviceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7592, + "offset": 9132, "length": 12, "value": "\"sdkVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7632, + "offset": 9172, "length": 13, "value": "\"sdkPlatform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7675, + "offset": 9215, "length": 15, "value": "\"sdkIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 413, "length": 5, "value": "\"iOS\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 927, "length": 7, "value": "\"en_US\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1182, "length": 12, "value": "\"instanceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1218, "length": 9, "value": "\"eventId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1254, "length": 12, "value": "\"sdkVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1291, "length": 10, "value": "\"platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1329, "length": 13, "value": "\"sdkPlatform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1369, "length": 12, "value": "\"deviceInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1409, "length": 13, "value": "\"deviceState\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1448, "length": 11, "value": "\"occurence\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1482, "length": 8, "value": "\"checks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1515, "length": 10, "value": "\"deviceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1552, "length": 12, "value": "\"externalId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1590, "length": 11, "value": "\"licensing\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/ScreenCapture\/ScreenCaptureReportRateLimiter.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/ScreenCapture\/ScreenCaptureReportRateLimiter.swift", "kind": "IntegerLiteral", "offset": 253, "length": 2, "value": "10" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", "kind": "StringLiteral", "offset": 539, "length": 8, "value": "\"status\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", "kind": "StringLiteral", "offset": 570, "length": 8, "value": "\"timeMs\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/FreeRASP\/TalsecRunner.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/FreeRASP\/TalsecRunner.swift", "kind": "BooleanLiteral", "offset": 477, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "IntegerLiteral", + "offset": 775, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "IntegerLiteral", + "offset": 1522, + "length": 3, + "value": "123" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "BooleanLiteral", + "offset": 4729, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 287, + "length": 13, + "value": "2208988800" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 466, + "length": 13, + "value": "2085978496" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 580, + "length": 25, + "value": "9487534653230284800" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket+Data.swift", + "kind": "IntegerLiteral", + "offset": 3301, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/TimeSpoofingDetector.swift", + "kind": "IntegerLiteral", + "offset": 417, + "length": 2, + "value": "60" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3270, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3372, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3476, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3562, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3649, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3741, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3831, + "length": 1, + "value": "6" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3924, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4423, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4532, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4627, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 289, "length": 14, "value": "\"appIntegrity\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 382, "length": 18, "value": "\"privilegedAccess\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 456, "length": 7, "value": "\"debug\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 562, "length": 7, "value": "\"hooks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 909, "length": 15, "value": "\"deviceBinding\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "Dictionary", "offset": 605, "length": 3, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "Dictionary", "offset": 682, "length": 3, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 17205, + "offset": 18763, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 18442, + "offset": 20000, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 19068, + "offset": 20764, "length": 4, "value": "true" } diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface index 8cc6093..49e88d8 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.private.swiftinterface @@ -5,6 +5,7 @@ import CryptoKit import Foundation import LocalAuthentication +import Network import TalsecRuntime.Private import Security import Swift @@ -52,6 +53,7 @@ public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Sw case unofficialStore case screenshot case screenRecording + case timeSpoofing public init?(rawValue: Swift.String) public typealias AllCases = [TalsecRuntime.SecurityThreat] public typealias RawValue = Swift.String diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc index 1a1697d..9a54cd0 100644 Binary files a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc and b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftdoc differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface index 8cc6093..49e88d8 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios.swiftinterface @@ -5,6 +5,7 @@ import CryptoKit import Foundation import LocalAuthentication +import Network import TalsecRuntime.Private import Security import Swift @@ -52,6 +53,7 @@ public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Sw case unofficialStore case screenshot case screenRecording + case timeSpoofing public init?(rawValue: Swift.String) public typealias AllCases = [TalsecRuntime.SecurityThreat] public typealias RawValue = Swift.String diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy index 0f1f55d..4fcbd63 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/PrivacyInfo.xcprivacy @@ -4,6 +4,14 @@ NSPrivacyAccessedAPITypes + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + NSPrivacyAccessedAPIType NSPrivacyAccessedAPICategoryFileTimestamp diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime old mode 100755 new mode 100644 index 4e3f8dd..949644d Binary files a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime and b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64/TalsecRuntime.framework/TalsecRuntime differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/.jbroot/libRHProbe.dat b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/.jbroot/libRHProbe.dat new file mode 100644 index 0000000..e69de29 diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h index c52f7dd..6300a83 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/CurlWrapper.h @@ -16,7 +16,7 @@ #include #include -struct cmPZLGcLnWfW { +struct GGifFrJfbYKN { char *memory; size_t size; CURLcode ret; diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h index bf3bcc5..253c3a9 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/TalsecRuntime-Swift.h @@ -303,7 +303,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) -SWIFT_EXTERN void __otoxjbVsTyhxeLCRprASIga(void) SWIFT_NOEXCEPT; +SWIFT_EXTERN void __zyLgTMcLduaodHdkYqXNtEi(void) SWIFT_NOEXCEPT; #endif #if __has_attribute(external_source_symbol) @@ -618,7 +618,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #if defined(__OBJC__) -SWIFT_EXTERN void __otoxjbVsTyhxeLCRprASIga(void) SWIFT_NOEXCEPT; +SWIFT_EXTERN void __zyLgTMcLduaodHdkYqXNtEi(void) SWIFT_NOEXCEPT; #endif #if __has_attribute(external_source_symbol) diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h index df4f244..779a8e3 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/curl.h @@ -813,11 +813,11 @@ typedef enum { * * CURLAUTH_NONE - No HTTP authentication * CURLAUTH_BASIC - HTTP Basic authentication (default) - * CURLAUTH_DIGEST - HTTP DiGlHt authentication + * CURLAUTH_DIGEST - HTTP DibCOt authentication * CURLAUTH_NEGOTIATE - HTTP Negotiate (SPNEGO) authentication * CURLAUTH_GSSNEGOTIATE - Alias for CURLAUTH_NEGOTIATE (deprecated) * CURLAUTH_NTLM - HTTP NTLM authentication - * CURLAUTH_DIGEST_IE - HTTP DiGlHt authentication with IE flavour + * CURLAUTH_DIGEST_IE - HTTP DibCOt authentication with IE flavour * CURLAUTH_NTLM_WB - HTTP NTLM authentication delegated to winbind helper * CURLAUTH_BEARER - HTTP Bearer token authentication * CURLAUTH_ONLY - Use together with a single other type to force no @@ -1164,7 +1164,7 @@ typedef enum { /* Specified file stream to upload from (use as input): */ CURLOPT(CURLOPT_READDATA, CURLOPTTYPE_CBPOINT, 9), - /* Buffer to receive error messaGlH in, must be at least CURL_ERROR_SIZE + /* Buffer to receive error messabCO in, must be at least CURL_ERROR_SIZE * bytes big. */ CURLOPT(CURLOPT_ERRORBUFFER, CURLOPTTYPE_OBJECTPOINT, 10), @@ -1541,7 +1541,7 @@ typedef enum { Note that setting multiple bits may cause extra network round-trips. */ CURLOPT(CURLOPT_PROXYAUTH, CURLOPTTYPE_VALUES, 111), - /* Option that chanGlH the timeout, in seconds, associated with getting a + /* Option that chanbCO the timeout, in seconds, associated with getting a response. This is different from transfer timeout time and essentially places a demand on the server to acknowledge commands in a timely manner. For FTP, SMTP, IMAP and POP3. */ @@ -3110,7 +3110,7 @@ typedef enum { /* The 'CURLVERSION_NOW' is the symbolic name meant to be used by basically all programs ever that want to get version information. It is meant to be a built-in version number for what kind of struct the caller - expects. If the struct ever chanGlH, we redefine the NOW to another enum + expects. If the struct ever chanbCO, we redefine the NOW to another enum from above. */ #define CURLVERSION_NOW CURLVERSION_TWELFTH @@ -3232,7 +3232,7 @@ CURL_EXTERN curl_version_info_data *curl_version_info(CURLversion); * * The curl_easy_strerror function may be used to turn a CURLcode value * into the equivalent human readable error string. This is useful - * for printing meaningful error messaGlH. + * for printing meaningful error messabCO. */ CURL_EXTERN const char *curl_easy_strerror(CURLcode); @@ -3243,7 +3243,7 @@ CURL_EXTERN const char *curl_easy_strerror(CURLcode); * * The curl_share_strerror function may be used to turn a CURLSHcode value * into the equivalent human readable error string. This is useful - * for printing meaningful error messaGlH. + * for printing meaningful error messabCO. */ CURL_EXTERN const char *curl_share_strerror(CURLSHcode); diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h index 9a8d97b..ede858c 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/multi.h @@ -232,8 +232,8 @@ CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); /* * Name: curl_multi_info_read() * - * Desc: Ask the multi handle if there is any messaGlH/informationals from - * the individual transfers. MessaGlH include informationals such as + * Desc: Ask the multi handle if there is any messabCO/informationals from + * the individual transfers. MessabCO include informationals such as * error code from the transfer or just the fact that a transfer is * completed. More details on these should be written down as well. * @@ -253,7 +253,7 @@ CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle); * compatibility problems in the future. * * Returns: A pointer to a filled-in struct, or NULL if it failed or ran out - * of structs. It also writes the number of messaGlH left in the + * of structs. It also writes the number of messabCO left in the * queue (after this read) in the integer the second argument points * to. */ @@ -265,7 +265,7 @@ CURL_EXTERN CURLMsg *curl_multi_info_read(CURLM *multi_handle, * * Desc: The curl_multi_strerror function may be used to turn a CURLMcode * value into the equivalent human readable error string. This is - * useful for printing meaningful error messaGlH. + * useful for printing meaningful error messabCO. * * Returns: A pointer to a null-terminated error message. */ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h index 7bc5867..bf2ea92 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/options.h @@ -46,7 +46,7 @@ typedef enum { we prefer another name */ #define CURLOT_FLAG_ALIAS (1<<0) -/* The CURLOPTTYPE_* id ranGlH can still be used to figure out what type/size +/* The CURLOPTTYPE_* id ranbCO can still be used to figure out what type/size to use for curl_easy_setopt() for the given id */ struct curl_easyoption { const char *name; diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h index dc7ee31..301be05 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Headers/urlapi.h @@ -144,7 +144,7 @@ CURL_EXTERN CURLUcode curl_url_set(CURLU *handle, CURLUPart what, /* * curl_url_strerror() turns a CURLUcode value into the equivalent human * readable error string. This is useful for printing meaningful error - * messaGlH. + * messabCO. */ CURL_EXTERN const char *curl_url_strerror(CURLUcode); diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist index 2694cb9..4e6aec5 100644 Binary files a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist and b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Info.plist differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json index f89ed2c..c2592cb 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json @@ -4,6 +4,76 @@ "name": "TalsecRuntime", "printedName": "TalsecRuntime", "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, { "kind": "Import", "name": "Foundation", @@ -388,6 +458,13 @@ "RawDocComment" ] }, + { + "kind": "Import", + "name": "CryptoKit", + "printedName": "CryptoKit", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, { "kind": "Import", "name": "Foundation", @@ -1813,6 +1890,46 @@ "RawDocComment" ] }, + { + "kind": "Var", + "name": "timeSpoofing", + "printedName": "timeSpoofing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat", + "children": [ + { + "kind": "TypeNominal", + "name": "SecurityThreat", + "printedName": "TalsecRuntime.SecurityThreat", + "usr": "s:13TalsecRuntime14SecurityThreatO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "TalsecRuntime.SecurityThreat.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "SecurityThreat", + "printedName": "TalsecRuntime.SecurityThreat", + "usr": "s:13TalsecRuntime14SecurityThreatO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:13TalsecRuntime14SecurityThreatO12timeSpoofingyA2CmF", + "mangledName": "$s13TalsecRuntime14SecurityThreatO12timeSpoofingyA2CmF", + "moduleName": "TalsecRuntime", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Constructor", "name": "init", @@ -2096,6 +2213,13 @@ "usr": "s:s9EscapableP", "mangledName": "$ss9EscapableP" }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, { "kind": "Conformance", "name": "Decodable", @@ -2453,13 +2577,6 @@ "usr": "s:ST", "mangledName": "$sST" }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, { "kind": "Conformance", "name": "Comparable", @@ -2622,562 +2739,702 @@ }, "ConstValues": [ { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3270, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3372, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3476, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3562, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3649, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3741, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3831, + "length": 1, + "value": "6" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3924, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4423, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4532, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4627, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 287, + "length": 13, + "value": "2208988800" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 466, + "length": 13, + "value": "2085978496" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 580, + "length": 25, + "value": "9487534653230284800" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/TimeSpoofingDetector.swift", + "kind": "IntegerLiteral", + "offset": 417, + "length": 2, + "value": "60" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "IntegerLiteral", + "offset": 775, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "IntegerLiteral", + "offset": 1522, + "length": 3, + "value": "123" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "BooleanLiteral", + "offset": 4729, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket+Data.swift", + "kind": "IntegerLiteral", + "offset": 3301, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 243, "length": 13, "value": "\"development\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 279, "length": 12, "value": "\"production\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 312, "length": 10, "value": "\"disabled\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 575, "length": 24, "value": "\"keychain-access-groups\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 628, "length": 16, "value": "\"get-task-allow\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 675, "length": 17, "value": "\"aps-environment\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 722, "length": 24, "value": "\"application-identifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "BooleanLiteral", "offset": 1994, "length": 5, "value": "false" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2227, "length": 6, "value": "\"Name\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2259, "length": 11, "value": "\"AppIDName\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2296, "length": 29, "value": "\"ApplicationIdentifierPrefix\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2350, "length": 10, "value": "\"TeamName\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2392, "length": 16, "value": "\"TeamIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2433, "length": 10, "value": "\"Platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2474, "length": 16, "value": "\"IsXcodeManaged\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2519, "length": 14, "value": "\"CreationDate\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2564, "length": 16, "value": "\"ExpirationDate\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2607, "length": 12, "value": "\"TimeToLive\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2640, "length": 6, "value": "\"UUID\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2670, "length": 9, "value": "\"Version\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2708, "length": 14, "value": "\"Entitlements\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "Array", "offset": 375, "length": 2, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "StringLiteral", "offset": 415, "length": 2, "value": "\"\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "BooleanLiteral", "offset": 491, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 471, "length": 11, "value": "\"osVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 511, "length": 14, "value": "\"manufacturer\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 547, "length": 7, "value": "\"model\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 753, "length": 10, "value": "\"security\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 790, "length": 12, "value": "\"biometrics\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 835, "length": 18, "value": "\"hwBackedKeychain\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1430, "length": 18, "value": "\"endOfGracePeriod\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1874, "length": 15, "value": "\"appIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1916, "length": 12, "value": "\"appVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 5957, + "offset": 7497, "length": 5, "value": "\"iOS\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6394, + "offset": 7934, "length": 7, "value": "\"en_US\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6873, + "offset": 8413, "length": 3, "value": "\".\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6923, + "offset": 8463, "length": 2, "value": "\"\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7146, + "offset": 8686, "length": 12, "value": "\"instanceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7182, + "offset": 8722, "length": 9, "value": "\"eventId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7218, + "offset": 8758, "length": 12, "value": "\"deviceInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7258, + "offset": 8798, "length": 13, "value": "\"deviceState\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7295, + "offset": 8835, "length": 9, "value": "\"appInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7329, + "offset": 8869, "length": 10, "value": "\"platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7365, + "offset": 8905, "length": 11, "value": "\"occurence\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7407, + "offset": 8947, "length": 16, "value": "\"incidentReport\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7446, + "offset": 8986, "length": 8, "value": "\"checks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7481, + "offset": 9021, "length": 12, "value": "\"externalId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7519, + "offset": 9059, "length": 11, "value": "\"sessionId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7555, + "offset": 9095, "length": 10, "value": "\"deviceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7592, + "offset": 9132, "length": 12, "value": "\"sdkVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7632, + "offset": 9172, "length": 13, "value": "\"sdkPlatform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7675, + "offset": 9215, "length": 15, "value": "\"sdkIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 413, "length": 5, "value": "\"iOS\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 927, "length": 7, "value": "\"en_US\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1182, "length": 12, "value": "\"instanceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1218, "length": 9, "value": "\"eventId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1254, "length": 12, "value": "\"sdkVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1291, "length": 10, "value": "\"platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1329, "length": 13, "value": "\"sdkPlatform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1369, "length": 12, "value": "\"deviceInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1409, "length": 13, "value": "\"deviceState\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1448, "length": 11, "value": "\"occurence\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1482, "length": 8, "value": "\"checks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1515, "length": 10, "value": "\"deviceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1552, "length": 12, "value": "\"externalId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1590, "length": 11, "value": "\"licensing\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/ScreenCapture\/ScreenCaptureReportRateLimiter.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/ScreenCapture\/ScreenCaptureReportRateLimiter.swift", "kind": "IntegerLiteral", "offset": 253, "length": 2, "value": "10" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", "kind": "StringLiteral", "offset": 539, "length": 8, "value": "\"status\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", "kind": "StringLiteral", "offset": 570, "length": 8, "value": "\"timeMs\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/FreeRASP\/TalsecRunner.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/FreeRASP\/TalsecRunner.swift", "kind": "BooleanLiteral", "offset": 477, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 289, "length": 14, "value": "\"appIntegrity\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 382, "length": 18, "value": "\"privilegedAccess\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 456, "length": 7, "value": "\"debug\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 562, "length": 7, "value": "\"hooks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 909, "length": 15, "value": "\"deviceBinding\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "Dictionary", "offset": 605, "length": 3, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "Dictionary", "offset": 682, "length": 3, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 17205, + "offset": 18763, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 18442, + "offset": 20000, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 19068, + "offset": 20764, "length": 4, "value": "true" } diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface index 262b465..32bfa2c 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface @@ -5,6 +5,7 @@ import CryptoKit import Foundation import LocalAuthentication +import Network import TalsecRuntime.Private import Security import Swift @@ -52,6 +53,7 @@ public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Sw case unofficialStore case screenshot case screenRecording + case timeSpoofing public init?(rawValue: Swift.String) public typealias AllCases = [TalsecRuntime.SecurityThreat] public typealias RawValue = Swift.String diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc index 4c66377..bf6b110 100644 Binary files a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc and b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface index 262b465..32bfa2c 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface @@ -5,6 +5,7 @@ import CryptoKit import Foundation import LocalAuthentication +import Network import TalsecRuntime.Private import Security import Swift @@ -52,6 +53,7 @@ public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Sw case unofficialStore case screenshot case screenRecording + case timeSpoofing public init?(rawValue: Swift.String) public typealias AllCases = [TalsecRuntime.SecurityThreat] public typealias RawValue = Swift.String diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json index f89ed2c..c2592cb 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json @@ -4,6 +4,76 @@ "name": "TalsecRuntime", "printedName": "TalsecRuntime", "children": [ + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Foundation", + "printedName": "Foundation", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, + { + "kind": "Import", + "name": "Network", + "printedName": "Network", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, { "kind": "Import", "name": "Foundation", @@ -388,6 +458,13 @@ "RawDocComment" ] }, + { + "kind": "Import", + "name": "CryptoKit", + "printedName": "CryptoKit", + "declKind": "Import", + "moduleName": "TalsecRuntime" + }, { "kind": "Import", "name": "Foundation", @@ -1813,6 +1890,46 @@ "RawDocComment" ] }, + { + "kind": "Var", + "name": "timeSpoofing", + "printedName": "timeSpoofing", + "children": [ + { + "kind": "TypeFunc", + "name": "Function", + "printedName": "(TalsecRuntime.SecurityThreat.Type) -> TalsecRuntime.SecurityThreat", + "children": [ + { + "kind": "TypeNominal", + "name": "SecurityThreat", + "printedName": "TalsecRuntime.SecurityThreat", + "usr": "s:13TalsecRuntime14SecurityThreatO" + }, + { + "kind": "TypeNominal", + "name": "Metatype", + "printedName": "TalsecRuntime.SecurityThreat.Type", + "children": [ + { + "kind": "TypeNominal", + "name": "SecurityThreat", + "printedName": "TalsecRuntime.SecurityThreat", + "usr": "s:13TalsecRuntime14SecurityThreatO" + } + ] + } + ] + } + ], + "declKind": "EnumElement", + "usr": "s:13TalsecRuntime14SecurityThreatO12timeSpoofingyA2CmF", + "mangledName": "$s13TalsecRuntime14SecurityThreatO12timeSpoofingyA2CmF", + "moduleName": "TalsecRuntime", + "declAttributes": [ + "RawDocComment" + ] + }, { "kind": "Constructor", "name": "init", @@ -2096,6 +2213,13 @@ "usr": "s:s9EscapableP", "mangledName": "$ss9EscapableP" }, + { + "kind": "Conformance", + "name": "Equatable", + "printedName": "Equatable", + "usr": "s:SQ", + "mangledName": "$sSQ" + }, { "kind": "Conformance", "name": "Decodable", @@ -2453,13 +2577,6 @@ "usr": "s:ST", "mangledName": "$sST" }, - { - "kind": "Conformance", - "name": "Equatable", - "printedName": "Equatable", - "usr": "s:SQ", - "mangledName": "$sSQ" - }, { "kind": "Conformance", "name": "Comparable", @@ -2622,562 +2739,702 @@ }, "ConstValues": [ { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3270, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3372, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3476, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3562, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3649, + "length": 1, + "value": "4" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3741, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3831, + "length": 1, + "value": "6" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 3924, + "length": 1, + "value": "7" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4319, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4423, + "length": 1, + "value": "1" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4532, + "length": 1, + "value": "2" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket.swift", + "kind": "IntegerLiteral", + "offset": 4627, + "length": 1, + "value": "3" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 287, + "length": 13, + "value": "2208988800" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 466, + "length": 13, + "value": "2085978496" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPTime.swift", + "kind": "IntegerLiteral", + "offset": 580, + "length": 25, + "value": "9487534653230284800" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/TimeSpoofingDetector.swift", + "kind": "IntegerLiteral", + "offset": 417, + "length": 2, + "value": "60" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "IntegerLiteral", + "offset": 775, + "length": 1, + "value": "5" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "IntegerLiteral", + "offset": 1522, + "length": 3, + "value": "123" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPClient.swift", + "kind": "BooleanLiteral", + "offset": 4729, + "length": 5, + "value": "false" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/TimeManipulation\/NTP\/NTPPacket+Data.swift", + "kind": "IntegerLiteral", + "offset": 3301, + "length": 1, + "value": "0" + }, + { + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 243, "length": 13, "value": "\"development\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 279, "length": 12, "value": "\"production\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 312, "length": 10, "value": "\"disabled\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 575, "length": 24, "value": "\"keychain-access-groups\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 628, "length": 16, "value": "\"get-task-allow\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 675, "length": 17, "value": "\"aps-environment\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 722, "length": 24, "value": "\"application-identifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "BooleanLiteral", "offset": 1994, "length": 5, "value": "false" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2227, "length": 6, "value": "\"Name\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2259, "length": 11, "value": "\"AppIDName\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2296, "length": 29, "value": "\"ApplicationIdentifierPrefix\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2350, "length": 10, "value": "\"TeamName\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2392, "length": 16, "value": "\"TeamIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2433, "length": 10, "value": "\"Platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2474, "length": 16, "value": "\"IsXcodeManaged\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2519, "length": 14, "value": "\"CreationDate\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2564, "length": 16, "value": "\"ExpirationDate\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2607, "length": 12, "value": "\"TimeToLive\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2640, "length": 6, "value": "\"UUID\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2670, "length": 9, "value": "\"Version\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Signature\/MobileProvision.swift", "kind": "StringLiteral", "offset": 2708, "length": 14, "value": "\"Entitlements\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "Array", "offset": 375, "length": 2, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "StringLiteral", "offset": 415, "length": 2, "value": "\"\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/DynamicConfiguration\/DefaultConfig.swift", "kind": "BooleanLiteral", "offset": 491, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 471, "length": 11, "value": "\"osVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 511, "length": 14, "value": "\"manufacturer\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 547, "length": 7, "value": "\"model\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 753, "length": 10, "value": "\"security\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 790, "length": 12, "value": "\"biometrics\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 835, "length": 18, "value": "\"hwBackedKeychain\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1430, "length": 18, "value": "\"endOfGracePeriod\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1874, "length": 15, "value": "\"appIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", "offset": 1916, "length": 12, "value": "\"appVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 5957, + "offset": 7497, "length": 5, "value": "\"iOS\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6394, + "offset": 7934, "length": 7, "value": "\"en_US\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6873, + "offset": 8413, "length": 3, "value": "\".\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 6923, + "offset": 8463, "length": 2, "value": "\"\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7146, + "offset": 8686, "length": 12, "value": "\"instanceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7182, + "offset": 8722, "length": 9, "value": "\"eventId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7218, + "offset": 8758, "length": 12, "value": "\"deviceInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7258, + "offset": 8798, "length": 13, "value": "\"deviceState\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7295, + "offset": 8835, "length": 9, "value": "\"appInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7329, + "offset": 8869, "length": 10, "value": "\"platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7365, + "offset": 8905, "length": 11, "value": "\"occurence\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7407, + "offset": 8947, "length": 16, "value": "\"incidentReport\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7446, + "offset": 8986, "length": 8, "value": "\"checks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7481, + "offset": 9021, "length": 12, "value": "\"externalId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7519, + "offset": 9059, "length": 11, "value": "\"sessionId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7555, + "offset": 9095, "length": 10, "value": "\"deviceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7592, + "offset": 9132, "length": 12, "value": "\"sdkVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7632, + "offset": 9172, "length": 13, "value": "\"sdkPlatform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Report.swift", "kind": "StringLiteral", - "offset": 7675, + "offset": 9215, "length": 15, "value": "\"sdkIdentifier\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 413, "length": 5, "value": "\"iOS\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 927, "length": 7, "value": "\"en_US\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1182, "length": 12, "value": "\"instanceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1218, "length": 9, "value": "\"eventId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1254, "length": 12, "value": "\"sdkVersion\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1291, "length": 10, "value": "\"platform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1329, "length": 13, "value": "\"sdkPlatform\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1369, "length": 12, "value": "\"deviceInfo\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1409, "length": 13, "value": "\"deviceState\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1448, "length": 11, "value": "\"occurence\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1482, "length": 8, "value": "\"checks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1515, "length": 10, "value": "\"deviceId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1552, "length": 12, "value": "\"externalId\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Cryptogram\/ThreatFlags.swift", "kind": "StringLiteral", "offset": 1590, "length": 11, "value": "\"licensing\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/ScreenCapture\/ScreenCaptureReportRateLimiter.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/ScreenCapture\/ScreenCaptureReportRateLimiter.swift", "kind": "IntegerLiteral", "offset": 253, "length": 2, "value": "10" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", "kind": "StringLiteral", "offset": 539, "length": 8, "value": "\"status\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Report\/Check.swift", "kind": "StringLiteral", "offset": 570, "length": 8, "value": "\"timeMs\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/FreeRASP\/TalsecRunner.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/FreeRASP\/TalsecRunner.swift", "kind": "BooleanLiteral", "offset": 477, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 289, "length": 14, "value": "\"appIntegrity\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 382, "length": 18, "value": "\"privilegedAccess\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 456, "length": 7, "value": "\"debug\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 562, "length": 7, "value": "\"hooks\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/SecurityThreat.swift", "kind": "StringLiteral", "offset": 909, "length": 15, "value": "\"deviceBinding\"" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "Dictionary", "offset": 605, "length": 3, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "Dictionary", "offset": 682, "length": 3, "value": "[]" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 17205, + "offset": 18763, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 18442, + "offset": 20000, "length": 4, "value": "true" }, { - "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner6\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", + "filePath": "\/Users\/talsec\/Talsec_Development\/talsec-dev\/actions-runner2\/actions-runner17\/_work\/rasp-ios\/rasp-ios\/Talsec\/TalsecRuntime\/Classes\/Runtime\/TalsecRuntime.swift", "kind": "BooleanLiteral", - "offset": 19068, + "offset": 20764, "length": 4, "value": "true" } diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface index 97fec92..1923350 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface @@ -5,6 +5,7 @@ import CryptoKit import Foundation import LocalAuthentication +import Network import TalsecRuntime.Private import Security import Swift @@ -52,6 +53,7 @@ public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Sw case unofficialStore case screenshot case screenRecording + case timeSpoofing public init?(rawValue: Swift.String) public typealias AllCases = [TalsecRuntime.SecurityThreat] public typealias RawValue = Swift.String diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc index 5b4602c..7cc9cc8 100644 Binary files a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc and b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface index 97fec92..1923350 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface @@ -5,6 +5,7 @@ import CryptoKit import Foundation import LocalAuthentication +import Network import TalsecRuntime.Private import Security import Swift @@ -52,6 +53,7 @@ public enum SecurityThreat : Swift.String, Swift.Codable, Swift.CaseIterable, Sw case unofficialStore case screenshot case screenRecording + case timeSpoofing public init?(rawValue: Swift.String) public typealias AllCases = [TalsecRuntime.SecurityThreat] public typealias RawValue = Swift.String diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy index 0f1f55d..4fcbd63 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/PrivacyInfo.xcprivacy @@ -4,6 +4,14 @@ NSPrivacyAccessedAPITypes + + NSPrivacyAccessedAPIType + NSPrivacyAccessedAPICategorySystemBootTime + NSPrivacyAccessedAPITypeReasons + + 35F9.1 + + NSPrivacyAccessedAPIType NSPrivacyAccessedAPICategoryFileTimestamp diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime old mode 100755 new mode 100644 index e557d7d..f22fae3 Binary files a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime and b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/TalsecRuntime differ diff --git a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources index 5b02d10..c3a700b 100644 --- a/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources +++ b/ios/Plugin/TalsecRuntime.xcframework/ios-arm64_x86_64-simulator/TalsecRuntime.framework/_CodeSignature/CodeResources @@ -4,17 +4,21 @@ files + .jbroot/libRHProbe.dat + + 2jmj7l5rSw0yVb/vlWAYkK/YBwk= + Headers/CryptoBridgingHeader.h mOqIZoN2AJlkJSNzs7YiosCwiDw= Headers/CurlWrapper.h - WA1JyO7KWSoJGy5fxmELyR1IkWE= + ZkQjO7x88G+caDsZYp0KwmxL2Aw= Headers/TalsecRuntime-Swift.h - MqWD2qxGFZS4IS6VVlbeFOu4/zo= + e8NHq3kv5aJaHHerjM8ZeujEqdM= Headers/TalsecRuntime_iOS.h @@ -22,7 +26,7 @@ Headers/curl.h - ts72n1gggDFqWROsijjd2V5bmnk= + iFWnikL7Q4/IueAgDYwGRmEleGM= Headers/curlver.h @@ -42,11 +46,11 @@ Headers/multi.h - ghjOT/nVae583cGGQSS51MEGYz0= + uiqvup6PKoHdlfWDHt23/MFb6S8= Headers/options.h - jgKjZkIB4sAKRVgNpzwrJ5R6BnI= + BEbKsYMr7aX3LyFIzTUiXnN2gw4= Headers/stdcheaders.h @@ -62,7 +66,7 @@ Headers/urlapi.h - wmwxqoTKiFpUxhiWu43uFpMfnfc= + f2PBpUaDVeZCOLX7BzSyHsj638o= Headers/websockets.h @@ -70,47 +74,47 @@ Info.plist - Dzja35wc+f4Y/yJuzktrj1qsCU0= + EKBJ39Er6bsGyBj2kUGZV2YaI5Q= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.abi.json - NTg7yIg8Nc6VPtjx/jY/XQPV0vI= + 9SzHs3a64Cr2q5YQehUN0YZKyck= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface - 11Zc3FvUFlGp8W//MH4jQcKagKE= + llw484UKAnWPJb8CJpVj2CaHHDE= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc - mJlKnjUfSE3Y8ZQ2INnAMyMsm2g= + veuVKeP/oKf+WFki2xYyyAtPZ5E= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface - 11Zc3FvUFlGp8W//MH4jQcKagKE= + llw484UKAnWPJb8CJpVj2CaHHDE= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftmodule - MVPc1jR0r9jmgDhs8qwBMtHslWc= + PN3+1EhJEIPZjyIBCJ09Ed0m++g= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json - NTg7yIg8Nc6VPtjx/jY/XQPV0vI= + 9SzHs3a64Cr2q5YQehUN0YZKyck= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface - a6CNCiaS16+juFzV//lEYSGIMy4= + 4I0pGIDaoA0k3axTQo3rbxN5Nyc= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc - T/DL4bHXKHHe/fV93pC4+qoSee4= + P7E5n+59NoXIZ7ogjimIL7vP1Cs= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface - a6CNCiaS16+juFzV//lEYSGIMy4= + 4I0pGIDaoA0k3axTQo3rbxN5Nyc= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftmodule - 0Jl8w1Z9Inj43WuxzmskBXEEHCg= + FTqMLTFEHCyiZfGu9yEompPnQMQ= Modules/module.modulemap @@ -118,7 +122,7 @@ PrivacyInfo.xcprivacy - wLuornyoj3Lx3RDlF2QKMsAJxRc= + EoDY5rl3F+/NSgSM7d7epUYDscA= cacert.pem @@ -131,6 +135,13 @@ files2 + .jbroot/libRHProbe.dat + + hash2 + + 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= + + Headers/CryptoBridgingHeader.h hash2 @@ -142,14 +153,14 @@ hash2 - lwrSTYcdtuUGVDgaHIbe1bbQ7VFkbd2gC004O1j6TPc= + VgYnDeq58Jl7L3WW/alDNpf2HH1/AGa7zvkOkVlt23Q= Headers/TalsecRuntime-Swift.h hash2 - eOzpjk/89xuYLUDhpP29sxMdg2xIQkS6YODFqKKBMTk= + 5Rk5zMiRKbRO7a7jerPdFaKVgZHZsUxgvUcVJJI1DLM= Headers/TalsecRuntime_iOS.h @@ -163,7 +174,7 @@ hash2 - J1Rdz0xMEsZElJMEzlfqhQWF8ySsbbPGdNEKFh+kanw= + p4Vxjotm0vYqQaHdMm842c6WX6NmAy/LwtSKmosF+CU= Headers/curlver.h @@ -198,14 +209,14 @@ hash2 - 0u/8fnvcek6E8pW9l9eCVQLDoE6wVE6xNqaEuecr2vY= + P1BTIDic+uVA2Cp7TbHBJUtTujgF+3hmr1YqySS1VT8= Headers/options.h hash2 - W9BWyD70kT34RsuOOuud+qqZ6emBkskEHCutDRcBuVk= + XqlGMH48ZhTbHLtSaZuixWdtxbuJC3K1106RT1uFf2A= Headers/stdcheaders.h @@ -233,7 +244,7 @@ hash2 - nh6/67Z3VU2snFQmgki0ooYpXB+aA4hL+RMtsurfPPk= + zgPHWQMwWmpozMM9dBvMyNmN9o35hg5xGWkkpk8dGwo= Headers/websockets.h @@ -247,70 +258,70 @@ hash2 - smJ7d6OZeqWFeidhNPmMvWfZN2+tQ1l1DsAsqzgQt7w= + UPrBI50Fkp8B6cmrFwWDPtJQQQyZ6fsEXBOfR/+ZSnY= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface hash2 - NXBc0P8JjFwBaIgivJQNz7nosY48UZBIGOPTf/bYewI= + haSQY3upZ2WR6JkXg/Jxpph+ny4EtTDUg9TVsWeNUoU= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftdoc hash2 - WobhDnDJimDFi4H93t4PHKChXKRdUDJ9mD4INAfhNA0= + HuiYD5192nGs4hgWg8fu0oRAx67am62APnwBTlSebrk= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftinterface hash2 - NXBc0P8JjFwBaIgivJQNz7nosY48UZBIGOPTf/bYewI= + haSQY3upZ2WR6JkXg/Jxpph+ny4EtTDUg9TVsWeNUoU= Modules/TalsecRuntime.swiftmodule/arm64-apple-ios-simulator.swiftmodule hash2 - +/yfulAGiTOzQ3P/qKQ49L5Vw5hptKlDnWjUl+o+Tyk= + 1D7r7J/8WqcftsewI2Nh5RBXkyfkA7CZjz08kLArUso= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.abi.json hash2 - smJ7d6OZeqWFeidhNPmMvWfZN2+tQ1l1DsAsqzgQt7w= + UPrBI50Fkp8B6cmrFwWDPtJQQQyZ6fsEXBOfR/+ZSnY= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface hash2 - FOrAekhc36NfqLLe4rlbHttfKoRbiuV3L9+WnC24NBc= + 1mruU/68fB6bnmgfh09YUKQnRXtJD6ahwH7mRkndURw= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftdoc hash2 - rS8E9vR/8aKK2wuSIY7Q2qIZtlLtddvnA4i3d6ZQPi8= + QCOzEtn1CrkYuVdPbTvUXGISSciLhey5r2BXEz+3cWI= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftinterface hash2 - FOrAekhc36NfqLLe4rlbHttfKoRbiuV3L9+WnC24NBc= + 1mruU/68fB6bnmgfh09YUKQnRXtJD6ahwH7mRkndURw= Modules/TalsecRuntime.swiftmodule/x86_64-apple-ios-simulator.swiftmodule hash2 - fNFd8NVDp1XDXnMlkDAOFZA+TaFohGaVwMp0uIwiSwM= + 9OX3ZQsVo2OYylMk/0yi5ykwawR1fwRk/NW8ZOHUc7g= Modules/module.modulemap @@ -324,7 +335,7 @@ hash2 - Svr+pZXI7cccZzTW1vTq+pkCOZe6kEQLslDFaL22qzI= + Tfo6GXW0wL6V4grnszDhSoINMxnjKwgN7Z6h4Ha1EEo= cacert.pem diff --git a/ios/Plugin/models/SecurityThreat.swift b/ios/Plugin/models/SecurityThreat.swift index 6e7ac16..90f9e68 100644 --- a/ios/Plugin/models/SecurityThreat.swift +++ b/ios/Plugin/models/SecurityThreat.swift @@ -32,6 +32,8 @@ extension SecurityThreat { return EventIdentifiers.threatIdentifierList[12] case .screenRecording: return EventIdentifiers.threatIdentifierList[13] + case .timeSpoofing: + return EventIdentifiers.threatIdentifierList[14] @unknown default: abort() } diff --git a/ios/Plugin/utils/EventIdentifiers.swift b/ios/Plugin/utils/EventIdentifiers.swift index 7fc7abb..070be7d 100644 --- a/ios/Plugin/utils/EventIdentifiers.swift +++ b/ios/Plugin/utils/EventIdentifiers.swift @@ -1,7 +1,7 @@ struct EventIdentifiers { static var generatedNumbers: [Int] = { var numbers = [Int]() - for _ in 0..<19 { + for _ in 0..<20 { numbers.append(RandomGenerator.next()) } return numbers @@ -13,5 +13,5 @@ struct EventIdentifiers { static let raspExecutionStateChannelName: String = String(generatedNumbers[3]) static let raspExecutionStateIdentifierList: [Int] = [generatedNumbers[4]] - static let threatIdentifierList: [Int] = generatedNumbers.suffix(14) + static let threatIdentifierList: [Int] = generatedNumbers.suffix(15) } diff --git a/package.json b/package.json index f7d40d2..8251acf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "capacitor-freerasp", - "version": "2.4.1", + "version": "2.5.0", "description": "Capacitor plugin for improving app security and threat monitoring on Android and iOS mobile devices", "main": "dist/plugin.cjs.js", "module": "dist/esm/index.js", diff --git a/src/api/listeners/raspExecutionState.ts b/src/api/listeners/raspExecutionState.ts index 70e58fe..18c5fdb 100644 --- a/src/api/listeners/raspExecutionState.ts +++ b/src/api/listeners/raspExecutionState.ts @@ -7,7 +7,11 @@ import { onInvalidCallback } from '../methods/native'; import { Talsec } from '../nativeModules'; let eventsListener: PluginListenerHandle | null = null; +let executionStateChannel: string | null = null; +let executionStateKey: string | null = null; + let isInitializing = false; +let isMappingPrepared = false; export const registerRaspExecutionStateListener = async (config: RaspExecutionStateEventActions): Promise => { if (isInitializing) { @@ -15,19 +19,29 @@ export const registerRaspExecutionStateListener = async (config: RaspExecutionSt } isInitializing = true; - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + await removeRaspExecutionStateListener(); + + if (!executionStateChannel || !executionStateKey) { + [executionStateChannel, executionStateKey] = await getRaspExecutionStateChannelData(); + } + + if (!isMappingPrepared) { + await prepareRaspExecutionStateMapping(); + isMappingPrepared = true; } - const [channel, key] = await getRaspExecutionStateChannelData(); - await prepareRaspExecutionStateMapping(); + if (!executionStateChannel) { + onInvalidCallback(); + return; + } - eventsListener = await Talsec.addListener(channel, async (event: any) => { - if (event[key] == undefined) { + eventsListener = await Talsec.addListener(executionStateChannel, async (event: any) => { + if (!executionStateKey) { onInvalidCallback(); + return; } - switch (event[key]) { + + switch (event[executionStateKey]) { case RaspExecutionState.AllChecksFinished.value: config.allChecksFinished?.(); break; @@ -40,8 +54,10 @@ export const registerRaspExecutionStateListener = async (config: RaspExecutionSt }; export const removeRaspExecutionStateListener = async (): Promise => { - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + if (!eventsListener || !executionStateChannel) { + return; } + await eventsListener.remove(); + eventsListener = null; + await Talsec.removeListenerForEvent({ eventName: executionStateChannel }); }; diff --git a/src/api/listeners/threat.ts b/src/api/listeners/threat.ts index 15a7aa1..bcb881d 100644 --- a/src/api/listeners/threat.ts +++ b/src/api/listeners/threat.ts @@ -8,7 +8,13 @@ import { onInvalidCallback } from '../methods/native'; import { Talsec } from '../nativeModules'; let eventsListener: PluginListenerHandle | null = null; + +let threatChannel: string | null = null; +let threatKey: string | null = null; +let threatMalwareKey: string | null = null; + let isInitializing = false; +let isMappingPrepared = false; export const registerThreatListener = async (config: ThreatEventActions): Promise => { if (isInitializing) { @@ -16,19 +22,28 @@ export const registerThreatListener = async (config: ThreatEventActions): Promis } isInitializing = true; - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + await removeThreatListener(); + + if (!threatChannel || !threatKey || !threatMalwareKey) { + [threatChannel, threatKey, threatMalwareKey] = await getThreatChannelData(); + } + + if (!isMappingPrepared) { + await prepareThreatMapping(); + isMappingPrepared = true; } - const [channel, key, malwareKey] = await getThreatChannelData(); - await prepareThreatMapping(); + if (!threatChannel) { + onInvalidCallback(); + return; + } - eventsListener = await Talsec.addListener(channel, async (event: any) => { - if (event[key] == undefined) { + eventsListener = await Talsec.addListener(threatChannel, async (event: any) => { + if (!threatKey || !threatMalwareKey) { onInvalidCallback(); + return; } - switch (event[key]) { + switch (event[threatKey]) { case Threat.PrivilegedAccess.value: config.privilegedAccess?.(); break; @@ -69,7 +84,7 @@ export const registerThreatListener = async (config: ThreatEventActions): Promis config.systemVPN?.(); break; case Threat.Malware.value: - config.malware?.(await parseMalwareData(event[malwareKey])); + config.malware?.(await parseMalwareData(event[threatMalwareKey])); break; case Threat.ADBEnabled.value: config.adbEnabled?.(); @@ -104,8 +119,10 @@ export const registerThreatListener = async (config: ThreatEventActions): Promis }; export const removeThreatListener = async (): Promise => { - if (eventsListener) { - await eventsListener.remove(); - eventsListener = null; + if (!eventsListener || !threatChannel) { + return; } + await eventsListener.remove(); + eventsListener = null; + await Talsec.removeListenerForEvent({ eventName: threatChannel }); }; diff --git a/src/api/methods/capacitor.ts b/src/api/methods/capacitor.ts index b33699b..57c4906 100644 --- a/src/api/methods/capacitor.ts +++ b/src/api/methods/capacitor.ts @@ -3,6 +3,8 @@ import { registerRaspExecutionStateListener } from '../listeners/raspExecutionSt import { registerThreatListener } from '../listeners/threat'; import { Talsec } from '../nativeModules'; +let isRaspStarted = false; + export const startFreeRASP = async ( config: TalsecConfig, actions: ThreatEventActions, @@ -12,5 +14,12 @@ export const startFreeRASP = async ( if (raspExecutionStateActions) { await registerRaspExecutionStateListener(raspExecutionStateActions); } - return Talsec.talsecStart({ config }); + if (isRaspStarted) { + return { started: true }; + } + + const response = await Talsec.talsecStart({ config }); + isRaspStarted = true; + + return response; }; diff --git a/src/channels/threat.ts b/src/channels/threat.ts index 927c356..8d4f2c5 100644 --- a/src/channels/threat.ts +++ b/src/channels/threat.ts @@ -1,5 +1,3 @@ -import { Capacitor } from '@capacitor/core'; - import { onInvalidCallback } from '../api/methods/native'; import { Talsec } from '../api/nativeModules'; import { Threat } from '../models/threat'; @@ -8,18 +6,14 @@ import { getThreatCount, itemsHaveType } from '../utils/utils'; export const getThreatIdentifiers = async (): Promise => { const { ids } = await Talsec.getThreatIdentifiers(); if (ids.length !== getThreatCount() || !itemsHaveType(ids, 'number')) { - console.error( - `Threat count mismatch: Native ${ids.length} vs JS ${getThreatCount()}. Items are numbers: ${itemsHaveType(ids, 'number')}`, - ); - // onInvalidCallback(); + onInvalidCallback(); } return ids; }; export const getThreatChannelData = async (): Promise<[string, string, string]> => { - const dataLength = Capacitor.getPlatform() === 'ios' ? 2 : 3; const { ids } = await Talsec.getThreatChannelData(); - if (ids.length !== dataLength || !itemsHaveType(ids, 'string')) { + if (ids.length !== 3 || !itemsHaveType(ids, 'string')) { onInvalidCallback(); } return ids; diff --git a/src/models/threat.ts b/src/models/threat.ts index cd399de..aef7476 100644 --- a/src/models/threat.ts +++ b/src/models/threat.ts @@ -69,6 +69,7 @@ export class Threat { this.UnofficialStore, this.Screenshot, this.ScreenRecording, + this.TimeSpoofing, ]; } } diff --git a/src/types/types.ts b/src/types/types.ts index 88533a2..4b05148 100644 --- a/src/types/types.ts +++ b/src/types/types.ts @@ -1,7 +1,8 @@ export interface TalsecPlugin { talsecStart(options: { config: TalsecConfig }): Promise<{ started: boolean }>; - addListener(listner: string, callback: any): any; + addListener(listener: string, callback: any): any; onInvalidCallback(): void; + removeListenerForEvent(options: { eventName: string }): Promise<{ result: string }>; getThreatIdentifiers(): Promise<{ ids: number[] }>; getThreatChannelData(): Promise<{ ids: [string, string, string] }>; getRaspExecutionStateIdentifiers(): Promise<{ ids: number[] }>;