🎤What's New and Changelog
Browse the latest freeRASP release notes, breaking changes, and new security features across Android, iOS, and cross‑platform SDKs to keep your mobile app protection up to date.
Stay up-to-date with the latest features, improvements and bug fixes for freeRASP. Here you'll find detailed information about each update we've rolled out, organized by platform. Whether you're using the Android, iOS, Flutter, React Native, Capacitor, or Cordova version, all platforms are supported.
Explore the tabs below to see what's new and how the experience has been improved for you. If you're looking for specific changes or features, each update is documented for your convenience.
Latest from Articles
Learn more: https://docs.talsec.app/appsec-articles
Changelog
Github Changelog: https://github.com/talsec/Free-RASP-Android/releases
Latest version 19.2.3
Fixed
Fixed the reporting issue in root detection
Fixed the reporting issue in hook detection
Fixed ANR during SDK initialization caused by blocking I/O operations
Fixed background SDK initialization stalling when the shared thread pool is saturated
Version 19.2.1
Breaking Change
❗️Breaking: Renamed
ThreatListener.ThreatDetectedandThreatListener.DeviceStatecallback methods❗️Breaking: Changed package namespace from
com.aheaditec.talsec_securitytoapp.talsec.rasp
Added
Added bootloader detection (unlocked/compromised) with
onBootloader()callbackAdded option to fetch JitPack dependencies from our own Talsec repository (`https://europe-west3-maven.pkg.dev/talsec-artifact-repository/common`)
Fixed
Fixed native crash caused by std::terminate() race condition
Fixed periodic hook and root check overwriting
Fixed root detection crash in obfuscated release builds
Fixed hardware-backed keystore detection failing with
NoSuchMethodErroron some Android 12+ devices
Changed
Improved KernelSU detection
Improved hook detection
Improved Frida detection
Improved root detection capabilities
Version 18.3.0
Breaking Change
❗️Breaking: Modified property
reason(of typeString) inSuspiciousAppInfotoreasons(to typeSet<String>)❗️Breaking: One of the
reasonsinSuspiciousAppInforenamed fromblacklisttoblocklist
Version 18.0.4
Added
Added new detection check for KernelSU
Fixed
Fixed memory management issues in the native code
Patched possibility of
getInstalledPackagesthrowingDeadSystemExceptionPatched possibility of
getNetworkCapabilitiesthrowingSecurityExceptionFixed well-known issue of
Cipher.initthrowingKeyStoreConnectException
Removed
Removed deprecated
monitoringfeature
Version 18.0.2
Fixed
Fixed method
storeExternalIdto returnExternalIdResultfor error handling
Version 18.0.1
Fixed
Fixed
ScreenProtectorcrash during activity start and permissions requestFixed screen recording detection callback
Version 18.0.0
Breaking Change
❗️Breaking: Changed
ThreatListenerAPI interfaces (ThreatDetected,DeviceState) to abstract classes❗️Breaking: Added
onAutomationDetected()callback toThreatDetectedinterfaceWe are introducing a new capability, detecting whether the device is being automated using tools like Appium
❗️Breaking: Added value restrictions to
externalIdMethod
storeExternalId()now returnsExternalIdResult, which indicatesSuccessorErrorwhenexternalIdviolates restrictions
Changed
Improved
HMAdetection to the existing root detection capabilityUpdated compile and target API to 36
Improved root detection capabilities
Detection of wireless ADB added to ADB detections
Fixed
Fixed bug related to key storing in keystore type detection (hw-backed keystore check)
Fixed manifest queries merge
Version 17.0.0
Breaking Change
❗️Breaking: Added
killOnBypassmethod to theTalsecConfig.Builderthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker Issue 65❗️Breaking: Added
onTimeSpoofingDetected()callback toThreatDetectedinterfaceWe are introducing a new capability, detecting whether the device time has been tampered with
❗️Breaking: Added
onLocationSpoofing()callbackWe are introducing a new capability, detecting whether the location is being spoofed on the device.
❗️Breaking: Added
onUnsecureWifi()callback toThreatDetectedinterface❗️Breaking: Changed
onMalwareDetected()method parameterpackageInfoto non-nullable❗️Breaking: Updated
dispatchKeyEvent()parameter nullability from@Nullableto@NonNull❗️Breaking: Changed parameter type of
Activityinstead ofContextin theblockScreenCapture()method❗️Breaking: Removed deprecated functionality
Pbkdf2Nativeand both related native libraries (libpbkdf2_native.soandlibpolarssl.so)
Added
Added
ScreenProtectorfeature wrapper object that helps with registration/unregistration of screen protection featuresA new constructor parameter of type
RaspExecutionStatein classThreatListenerrepresenting changes in state in our library.RaspExecutionStatecontainsonAllChecksFinished()method, which is triggered after all checks are completed.Added matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermissionNew option to start Talsec,
Talsec.start()takes new parameterTalsecModethat determines the dispatcher thread of initialization and sync checksCapability to check if another app has an option
REQUEST_INSTALL_PACKAGESenabled in the system settings to malware detection
Fixed
ANR issue caused by
registerScreenCaptureCallback()method on the main threadNullPointerExceptionwhen checking key alias in Keystore on Android 7JaCoCoissue causingMethodTooLargeExceptionduring instrumentationDeadApplicationExceptionwhen callingSettings.Global.getIntorSettings.Secure.getInton invalid contextAndroidKeyStorecrashes causingjava.util.concurrent.TimeoutExceptionwhen callingfinalize()method onCipher(GC issues)
Changed
Shortened the value of threat detection interval
Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
Update of internal dependencies and security libraries
Version 16.0.1
Breaking Change, new feature
❗️Added
onMultiInstanceDetected()callback - detection whether the application is installed/running in various multi-instancing environments (e.g. Parallel Space).
Improvement
Added support for 16 KB memory page sizes.
The ADB service running as "root" is a signal for root detection.
Improved emulator detection.
Internal security improvements.
Fixed
Removed malware report duplicates.
Version 15.1.0
Improvement
Added new root detection checks.
Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
Added externalId to put an integrator-specified custom identifier into the logs. This feature will be presented later.
Fixed
Resolved SecurityException caused by
getNetworkCapabilities()- Android 11 specific bug (GH Android issue #56).
Version 15.0.0
Changed
Compile API increased to 35, dependencies updated
Internal library obfuscation reworked
Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
Fixed
ANR issues bug-fixing
Version 14.0.1
Breaking Change, new feature
❗️Added
onScreenshotDetected()- detection of screenshots, refer to the Android freeRASP integration documentation.❗️Added
onScreenRecordingDetected()- detection of screen recording, refer to the Android freeRASP integration documentation.
Improvement
Added
blockScreenCapture(Activity activity, boolean enable)for FLAG_SECURE control, an active protection against screen capturing.isScreenCaptureBlocked()- to receive whether the screen capture is blockedRate limiting for both screenshot and screenRecording incidents
Improved root detection capabilities
Bug Fix
Updated proguard rules to fix warnings from okhttp dependency.
Version 13.2.0
Improvement
Added request integrity information to data collection headers.
Enhanced and accelerated the data collection logic.
Version 13.0.0
New features
BREAKING CHANGE: Added
onADBEnabledDetecteddetection feature, which allows you to detect USB debugging option enabled in the developer settings on the device. App needs to implement this new callback.
Version 12.0.0
Improvement
Refactored Magisk checks in the root detection
Internal refactoring of Malware detection feature
Bug Fix
Resolved IllegalArgumentException caused by unregistering not registered receiver in
TalsecMonitoringReceiver
Version 11.1.3
Bug Fix
Reported ANR issues present on some devices were resolved (GH issue #138).
Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved (GH Flutter #140).
Reported crashes caused by the UnsupportedOperationException were resolved.
Version 11.1.1
Bug Fix
False positives in Hook detection (runtimeManipulation).
Version 11.1.0
New Feature
Added
onMalwareDetectedtoThreatListener.ThreatDetectedinterface, this is a breaking change and theonMalwareDetectedhas to be implemented by the integrating application.Important Information
Further details for this feature will be provided shortly with the new repositories.
For now, do not react to the callback, you can implement it simply by just using println().
Added the auditing of the internal execution for the future check optimization and overall security improvements.
Improvement
Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
Updated
CURLto8.8.0andOpenSSLto3.0.14(Github issue #114).Refactored fetching the list of installed applications for root and hook detection.
Bug Fix
Fixed native crashes (SEGFAULT errors) in
ifpipmethod.Fixed collision for command line tools (like ping) invoked without absolute path (Github issue #41).
Version 9.6.0
New Feature
Two new threat callbacks,
onDeveloperModeDetectedandonSystemVPNDetected, have been added for detecting Developer mode and System VPN.
Improvement
Updated GMS dependency to a newer version for improved performance and compatibility.
Updated CA bundle to enhance security for secure connections.
Bug Fix
Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.
Version 9.1.0
Improvement
Updated freeRASP SDK artifact hosting ensuring better stability and availability.
Version 9.0.2
Improvement
Shortened duration of threat evaluation.
Improved appIntegrity check and its logging.
Updated
CURLto8.5.0andOpenSSLto1.1.1w.
Bug Fix
Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).
Version 9.0.0
Improvement
Increased the
compileSdkandtargetSdkin the demo application.Updated dependencies in the demo application.
Bug Fix
Fixed issue with ProviderException (#26).
Curious about more in-depth changes for Android? Head over to our GitHub Changelog for the complete history of updates!
Github Changelog: https://github.com/talsec/Free-RASP-iOS/releases
Latest Version: 7.1.2
Added
Improved jailbreak detection
Version 7.1.1
Added
Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks.
Improved hook detection.
Version 6.14.5
Fixed
Fixed issue with app's color scheme initialization.
Fixed bad memory access in jaibreak check.
Version 6.14.4
Fixed
Fixed retrigger jailbreak issue on iOS 15 and 16.
Version 6.14.3
Fixed
Fixed false positives with jailbreak on iOS 15 and 16.
Fixed issue with app crashing on screenshot/screen recording.
Version 6.14.2
Fixed
Fixed new jailbreak checks false positives on iOS 14 and 13.
Version 6.14.1
Changed
Improved
timeSpoofingdetection methods.
Version 6.14.0
New Feature
Added time spoofing detection, detecting an inaccurate device clock. It is a new threat
timeSpoofing.
Improvement
Improved jailbreak detection methods.
Version 6.13.0
New Feature
A new extension of
SecurityThreatCenter:RaspExecutionStatecontainsonAllChecksFinished()method, which is triggered after all checks are completed.
Improvement
Updated internal dependencies.
Version 6.12.1
Improvement
Added palera1n jailbreak detection.
Improved Dopamine jailbreak detection.
Fixed
Resolved memory-related stability issues.
Version 6.11.0
New Feature
Screen capture protection obscuring app content in screenshots and screen recordings preventing unauthorized content capture. Refer to the iOS freeRASP integration documentation.
Improvement
Added externalId to put an integrator-specified custom identifier into the logs. This feature will be presented later.
Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
Bug Fix
Resolved an issue that prevented Xcode tests from running correctly.
Resolved an issue with the screen recording detection.
Version 6.9.0
Improvement
Improvement of the obfuscation of the SDK
Changed
Deep signing of the OpenSSL binaries
Version 6.8.0
New feature
Enhanced security with our new Screen Capture Threat Detection, now capable of identifying screen recording, AirPlay mirroring, and screenshots to guard against unauthorized viewing. Check out the new
screenshotandscreenRecordingcallbacks.
Version 6.6.3
Maintenance
Updated SDK code signing; it will now be signed with:
Team ID: PBDDS45LQS
Team Name: Lynx SFT s.r.o.
Version 6.6.2
New feature
Added Serotonin jailbreak detection.
Version 6.6.1
Improvement
Renewed the signing certificate.
Version 6.6.0
New feature
Dopamine jailbreak detection.
Version 6.5.3
Improvement
Updated
OpenSSLto version3.0.14andCURLto version8.8.0. (Github issue #114)
Version 6.5.0
New Feature
Added request integrity information to data collection.
Significantly improved the response time from data collection service.
Version 6.4.0
New Feature
Added new threat callback
systemVPNfor System VPN detection.
Improvement
Passcode check is now performed periodically.
Updated the CA bundle to enhance security for secure connections.
Bug Fix
Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.
Version 6.1.2
New Feature
Added Privacy Manifest.
Added codesigning for the SDK, it is signed by:
Team ID:
ASQC376HCN,Team Name:
AHEAD iTec, s.r.o..
Improvement
Updated
CURLto8.5.0andOpenSSLto1.1.1w.Improved obfuscation of Swift and C strings.
Bug Fix
Fixed memory leak (#13).
Curious about more in-depth changes for iOS? Head over to our GitHub Changelog for the complete history of updates!
Github Changelog: https://github.com/talsec/Free-RASP-Flutter/releases
Latest version: 8.2.2
Fixed
[Android] Fixed the reporting issue in root detection
[Android] Fixed the reporting issue in hook detection
[Android] Fixed ANR during SDK initialization caused by blocking I/O operations
[Android] Fixed background SDK initialization stalling when the shared thread pool is saturated
Version: 8.2.1
Fixed
Fixed published package contents so required iOS framework artifacts are included
Included the example entrypoint for pub.dev; the full demo app remains in the repository only
Excluded non-essential development files (tests, codegen inputs, build outputs) from the published package
[Android] Moved
-flattenpackagehierarchyout of consumer ProGuard rules to restore AGP 8+ compatibility
Version 8.2.0
Added
Added
onBootloadercallback for detecting an unlocked or compromised bootloader (Android only).[Android] Added bootloader detection (unlocked/compromised) with
onBootloader()callback[Android] Added option to fetch JitPack dependencies from our own Talsec repository
Changed
[Android] Improved KernelSU detection
[Android] Improved hook detection
[Android] Improved Frida detection
[Android] Improved root detection capabilities
[iOS] Improved jailbreak detection
Fixed
[Android] Fixed native crash caused by std::terminate() race condition
[Android] Fixed periodic hook and root check overwriting
[Android] Fixed crash inside AppZygotePreload during root detection
[Android] Fixed root detection crash in obfuscated release builds
[Android] Fixed hardware-backed keystore detection failing with
NoSuchMethodErroron some Android 12+ devices
Version 8.1.0
Added
Swift Package Manager (SPM) support for iOS. Requires Flutter 3.41.0 or newer; CocoaPods remains supported on older versions.
[iOS] Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks.
[iOS] Improved hook detection.
Fixed
[iOS] Fixed issue with app's color scheme initialization.
[iOS] Fixed bad memory access in jailbreak check.
Changed
[iOS] Raised the minimum iOS deployment target to 13.0, as required by the iOS SDK.
Version 8.0.0
Breaking
RaspExecutionStateCallback.onAllChecksDonerenamed toonAllChecksFinishedPackageInfo.installationSourcerenamed toinstallerStoreSuspiciousAppInfo.reason(String) renamed toreasons(List<String>)Value
"blacklist"inreasonsrenamed to"blocklist"Removed
MalwareConfigandAndroidConfig.malwareConfig— useSuspiciousAppDetectionConfiginstead
Added
SuspiciousAppInfo.permissionsfield (List<String>?) — list of suspicious permissions detected on the app[Android] New API class
SuspiciousAppDetectionConfigthat can be used to configure malware detection[Android] New API for malware detection configuration in
TalsecConfig, seeTalsecConfig.Builder#suspiciousAppDetection
Fixed
[Android] Fixed
VerifyErrorcaused byJaCoCobytecode instrumentation[Android] Fixed a potential cause of crash in the multi-instance detector
[Android] Fixed Java interoperability of
ScreenProtectormethods[Android] Fixed Kotlin classpath conflicts in SDK dependency resolution (Kotlin 2.0.0)
Changed
[Android] Fine-tuned location spoofing detection
[Android] Modified malware incident log structure for better aggregation
Version 7.5.1
Changed
[Android] Made dispatchers singletons
Fixed
[iOS] Fixed new jailbreak checks false positives on iOS 14 and 13.
[iOS] Fixed false positives with jailbreak on iOS 15 and 16.
[iOS] Fixed issue with app crashing on screenshot/screen recording.
[iOS] Fixed retrigger jailbreak issue on iOS 15 and 16.
Version 7.5.0
Added
[Android] Added support for
KernelSUto the existing root detection capabilities[Android] Added support for
HMAto the existing root detection capabilities[Android] Added new malware detection capabilities
[Android] Added
onAutomationDetected()callback toThreatDetectedinterfaceWe are introducing a new capability, detecting whether the device is being automated using tools like Appium
[Android] Added value restrictions to
externalIdMethod
storeExternalId()now returnsExternalIdResult, which indicatesSuccessorErrorwhenexternalIdviolates restrictions
[iOS] Added time spoofing detection, detecting an inaccurate device clock. It is a new threat
timeSpoofing.
Changed
Updated the internal handling of ExternalIdResult on Android (for
storeExternalId()method)[Android] Removed unused library
tmlib[Android] Refactoring of signature verification code
[Android] Updated compile and target API to 36
[Android] Improved root detection capabilities
[Android] Detection of wireless ADB added to ADB detections
[iOS] Improved jailbreak detection methods.
Fixed
[Android] Fixed exception handling for the KeyStore
getEntryoperation[Android] Fixed issue in
ScreenProtectorconcerning theonScreenRecordingDetectedinvocations[Android] Merged internal shared libraries into a single one, reducing the final APK size
[Android] Fixed bug related to key storing in keystore type detection (hw-backed keystore check)
[Android] Fixed manifest queries merge
Version 7.4.0
Added
Added
onAutomationcallback toThreatCallbackfor handlingThreat.automationthreat
Version 7.3.0
Added
Added
killOnBypasstoTalsecConfigthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) (Issue 65)Added
onTimeSpoofingcallback toThreatCallbackfor handlingThreat.timeSpoofingthreat (Android only)We are introducing a new capability, detecting whether the device time has been tampered with
Added
onLocationSpoofingcallback toThreatCallbackfor handlingThreat.locationSpoofingthreat (Android only)We are introducing a new capability, detecting whether the location is being spoofed on the device.
Added
onUnsecureWificallback toThreatCallbackfor handlingThreat.unsecureWifithreat (Android only)We are introducing a new capability, detecting whether the device is connected to an unsecured Wi-Fi network.
Added
onAllChecksDonecallback to newRaspExecutionStateCallbackWe are introducing a new callback that notifies when all security checks have been completed.
Removed
Removed deprecated functionality
Pbkdf2Nativeand both related native libraries (libpbkdf2_native.soandlibpolarssl.so)
Changed
Updated internal dependencies
Version 7.2.2
Fixed
[Android] Fixed an issue with crashing screen protector
Version 7.2.1
Fixed
[iOS] Fixed an issue with native framework
Version: 7.2.0
New Feature
Added interface for multi-instance detection
Improvement
[iOS] Added palera1n jailbreak detection
[iOS] Improved Dopamine jailbreak detection
[Android] Improved emulator detection
[Android] Added support for 16 KB pages
Fixed
[iOS] Resolved memory-related stability issues
[Android] Removed malware report duplicates
Version: 7.1.0
New feature
Added interface for screenshot / screen recording blocking on iOS.
Improvements
Added interface for external ID storage.
Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
[Android] New root detection checks added.
Fixed
Issue that caused compilation errors due to unknown references.
[iOS] Resolved an issue with the screen recording detection.
[iOS] Resolved an issue that prevented Xcode tests from running correctly.
Version 7.0.0
Added
fvmsupport for Flutter version management
Changed
Updated versions for example app
[Android] Breaking: Raised Kotlin version to
2.1.0[Android] Compile API increased to 35, dependencies updated
[Android] Internal library obfuscation reworked
[Android] Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
[iOS] Improvement of the obfuscation of the SDK
[iOS] Deep signing of the OpenSSL binaries
Fixed
[Android] ANR issues bug-fixing
Version 6.12.0
New feature
Added
screenshot- detection of screenshots, refer to the freeRASP integration documentation.Added
screenRecording- detection of screen recording, refer to the freeRASP integration documentation.Added
blockScreenCapturefor FLAG_SECURE control, an active protection against screen capturing.Added
isScreenCaptureBlocked- to receive whether the screen capture is blocked
Changed
[Android] Raised Android CompileSDK level to 35
[Android] Monitoring is now disabled by default
Improvement
[Android] Improved root detection
Bug Fix
[Android] Proguard rules to address warnings from okhttp dependency
Version 6.11.0
Improvement
[Android] Added request integrity information to data collection headers.
[Android] Enhanced and accelerated the data collection logic.
Version 6.10.0
Improvement
App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the
getAppIconmethod[Android] Malware data is now parsed on background thread to improve responsiveness.
Version 6.9.0
New features
[Android]
onADBEnabledcallback, allowing you to detect USB debugging option enabled in the developer settings on the device.
Version 6.8.0
New features and improvements
[Android] Malware detection as a new callback for enhanced app security.
[Android] Internal refactoring of Malware detection feature.
[Android] Refactoring Magisk checks in the root detection.
[iOS] Enhanced security with Serotonin Jailbreak Detection to identify compromised devices.
Maintenance
[iOS] Updated SDK code signing; it will now be signed with:
Team ID: PBDDS45LQS
Team Name: Lynx SFT s.r.o.
Bug Fix
[Android] Resolved IllegalArgumentException caused by unregistering not registered receiver in
TalsecMonitoringReceiver
Version 6.7.3
Improvement
[iOS] Renewed the signing certificate.
Version 6.7.2
Bug Fix
[Android] Reported ANR issues present on some devices were resolved (GH Flutter issue #138).
[Android] Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved (GH Flutter issue #140).
[Android] Reported crashes caused by the UnsupportedOperationException were resolved.
Version 6.7.1
Bug Fix
[Android] False positives for hook detection.
Version 6.7.0
New Feature
[Android] Added the auditing of the internal execution for the future check optimization and overall security improvements.
[iOS] Dopamine jailbreak detection.
Improvement
Migration to declarative Gradle plugin.
Updated
CURLto8.8.0andOpenSSLto3.0.14(Github issue #114).[Android] TalsecConfig creation was migrated to a Builder pattern.
[Android] Refactored fetching the list of installed applications for root and hook detection.
[iOS] Enhanced and accelerated the data collection logic.
Bug Fix
[Android] Native crashes (SEGFAULT) in
ifpipmethod.[Android] Fixed collision for command line tools (like ping) invoked without absolute path (Github issue #41).
Version 6.6.0
New Feature
Added new threat
Threat.systemVPNfor VPN detection.Added new callback
onSystemVPNinThreatCallbackfor handlingThreat.systemVPNthreat.[Android] Added a new threat detection feature,
Threat.devMode, to identify Developer mode.[Android] Added a new callback
onDevModeinThreatCallbackfor handlingThreat.devModethreat.
Improvement
Increased minimal Dart SDK version to 2.18.0 and minimal Flutter version to 3.3.0
Updated the CA bundle to enhance security for secure connections.
[Android] Increased the version of the GMS dependency
[iOS] Passcode check is now performed periodically.
Bug Fix
Resolved a problem in logging caused by the device’s default system locale
Version 6.5.1
Improvement
[Android] New Talsec SDK artifact hosting - better stability and availibility.
Version 6.5.0
New Feature
[iOS] Added Privacy Manifest.
[iOS] Added codesigning for the SDK, it is signed by:
Team ID:
ASQC376HCN,Team Name:
AHEAD iTec, s.r.o..
Improvement
Updated
CURLto8.5.0andOpenSSLto1.1.1w.[Android] Improved appIntegrity check and its logging.
[iOS] Improved obfuscation of Swift and C strings.
Bug Fix
[Android] Fixed issue with disappearing threats when the app is quickly put into the background and then back to the foreground (resolves issue #91).
[Android] Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).
Version 6.4.0
Improvement
Improved reaction obfuscation.
[iOS] Improved obfuscation of the iOS SDK.
[iOS] Raised supported Xcode version to 14.3.1 .
Bug Fix
[Android] Fixed ProviderException.
Fixed typo in namespace which caused incompatibility with AGP 8.0 .
Curious about more in-depth changes for Flutter? Head over to our GitHub Changelog for the complete history of updates!
Github Changelog: https://github.com/talsec/Free-RASP-ReactNative/releases
Latest Version: 5.2.1
Fixed
[Android] Fixed the reporting issue in root detection
[Android] Fixed the reporting issue in hook detection
[Android] Fixed ANR during SDK initialization caused by blocking I/O operations
[Android] Fixed background SDK initialization stalling when the shared thread pool is saturated
Version: 5.2.0
Added
Added
bootloadercallback for detecting an unlocked or compromised bootloader (Android only)[Android] Added bootloader detection (unlocked/compromised) with
onBootloader()callback[Android] Added option to fetch JitPack dependencies from our own Talsec repository
Changed
[Android] Improved KernelSU detection
[Android] Improved hook detection
[Android] Improved Frida detection
[Android] Improved root detection capabilities
[iOS] Improved jailbreak detection
Fixed
[Android] Fixed native crash caused by std::terminate() race condition
[Android] Fixed periodic hook and root check overwriting
[Android] Fixed crash inside AppZygotePreload during root detection
[Android] Fixed root detection crash in obfuscated release builds
[Android] Fixed hardware-backed keystore detection failing with
NoSuchMethodErroron some Android 12+ devices
Version: 5.1.1
Fixed
Fixed missing files in the published npm package
Version: 5.1.0
Added
Added Swift Package Manager delivery of
TalsecRuntime, enabled by default for Expo projects and available as an opt-in for bare React Native 0.75 or newer projectsAdded the Expo config plugin option
ios.useSpm; set it tofalseto use the vendored XCFramework fallback[iOS] Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks
[iOS] Improved hook detection
Fixed
Fixed identifier retrieval after React Native context reinitialization (#152)
[iOS] Fixed issue with app's color scheme initialization
[iOS] Fixed bad memory access in jailbreak check
Version: 5.0.0
Breaking
❗️Breaking:
SuspiciousAppInfo.reason(string) renamed toreasons(string[])❗️Breaking: Value
"blacklist"inreasonsrenamed to"blocklist"❗️Breaking: Removed
MalwareConfigandAndroidConfig.malwareConfig
Added
[Android] New API class
SuspiciousAppDetectionConfigthat can be used to configure malware detection[Android] New API for malware detection configuration in
TalsecConfig, seeTalsecConfig.Builder#suspiciousAppDetection
Removed
Removed
TalsecMalwareConfigtype andTalsecAndroidConfig.malwareConfigfield
Changed
[Android] Fine-tuned location spoofing detection
[Android] Modified malware incident log structure for better aggregation
Fixed
[Android] Fixed
VerifyErrorcaused byJaCoCobytecode instrumentation[Android] Fixed a potential cause of crash in the multi-instance detector
[Android] Fixed Java interoperability of
ScreenProtectormethods[Android] Fixed Kotlin classpath conflicts in SDK dependency resolution (Kotlin 2.0.0)
Version: 4.5.2
Changed
Enhanced event dispatchers logic
Fixed
[iOS] Fixed new jailbreak checks false positives on iOS 14 and 13
[iOS] Fixed false positives with jailbreak on iOS 15 and 16
[iOS] Fixed issue with app crashing on screenshot/screen recording
[iOS] Fixed retrigger jailbreak issue on iOS 15 and 16
Version: 4.5.1
Fixed
Fixed case where event dispatchers on Android were not initialized before calling
onResumeat the app launch
Version: 4.5.0
Added
[Android] Added support for
KernelSUto the existing root detection capabilities[Android] Added support for
HMAto the existing root detection capabilities[Android] Added new malware detection capabilities
[Android] Added
onAutomationDetected()callback toThreatDetectedinterface — introducing a new capability, detecting whether the device is being automated using tools like Appium[Android] Added value restrictions to
externalId—storeExternalId()now returnsExternalIdResult, indicatingSuccessorErrorwhenexternalIdviolates restrictions[iOS] Added time spoofing detection, detecting an inaccurate device clock. It is a new threat
timeSpoofing
Changed
Updated the internal handling of
ExternalIdResulton Android (forstoreExternalId()method)[Android] Removed unused library
tmlib[Android] Refactoring of signature verification code
[Android] Updated compile and target API to 36
[Android] Improved root detection capabilities
[Android] Detection of wireless ADB added to ADB detections
[iOS] Improved jailbreak detection methods
Fixed
[Android] Fixed exception handling for the KeyStore
getEntryoperation[Android] Fixed issue in
ScreenProtectorconcerning theonScreenRecordingDetectedinvocations[Android] Merged internal shared libraries into a single one, reducing the final APK size
[Android] Fixed bug related to key storing in keystore type detection (hw-backed keystore check)
[Android] Fixed manifest queries merge
Version: 4.4.0
Added
Added cache for freeRASP callbacks when listener is not registered with the app
Added API for
automationcallback intoThreatEventActions(Android only)
Changed
Updated compile and target SDK versions to 36 on Android
Higher
compileSdkfrom[rootProject, plugin]is now used inbuild.gradleon Android
Fixed
Prevent multiple registration of the freeRASP listeners on the native side
Version: 4.3.2
React Native
Fixed
Resolved potential NullPointerException when execution state events are being sent
Version: 4.3.1
React Native
Fixed
Resolved duplicate classes error on iOS (issue #128)
Version: 4.3.0
React Native
Added
Added
killOnBypasstoTalsecConfigthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) (Issue 65)Added API for
timeSpoofingcallback intoThreatEventActions(Android only)Added API for
unsecureWificallback intoThreatEventActions(Android only)Added API for
allChecksFinishedcallback into newRaspExecutionStateEventActionsobjectAdded matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermission
Fixed
Resolved potential collision in threat identifiers
Android
Added
Added
killOnBypassmethod to theTalsecConfig.Builderthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker Issue 65We are introducing a new capability, detecting whether the device time has been tampered with (
timeSpoofing)We are introducing a new capability, detecting whether the location is being spoofed on the device (
locationSpoofing)We are introducing a new capability, detection of unsecure WiFi (
unecureWifi)Removed deprecated functionality
Pbkdf2Nativeand both related native libraries (libpbkdf2_native.soandlibpolarssl.so)Added new
RaspExecutionStatewhich containsonAllChecksFinished()method, which is triggered after all checks are completed.Added matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermissionNew option to start Talsec,
Talsec.start()takes new parameterTalsecModethat determines the dispatcher thread of initialization and sync checks (uses background thread by default)Capability to check if another app has an option
REQUEST_INSTALL_PACKAGESenabled in the system settings to malware detection
Fixed
ANR issue caused by
registerScreenCaptureCallback()method on the main threadNullPointerExceptionwhen checking key alias in Keystore on Android 7JaCoCoissue causingMethodTooLargeExceptionduring instrumentationDeadApplicationExceptionwhen callingSettings.Global.getIntorSettings.Secure.getInton invalid contextAndroidKeyStorecrashes causingjava.util.concurrent.TimeoutExceptionwhen callingfinalize()method onCipher(GC issues)Fixed issue with late initializers and
TalsecModecoroutines scopes
Changed
Shortened the value of threat detection interval
Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
Update of internal dependencies and security libraries
iOS
Changed
Updated internal dependencies
Version: 4.2.4
React Native
Fixed
iOS dependencies are now installed via
install_modules_dependenciesby default
Version: 4.2.3
Android
Fixed
Root detection related bugs causing false positives
Changed
Deprecated Nexus repository removed (GCP artifact registry is the main supported distribution repository)
Version: 4.2.2
Changed
Replaced deprecated
getCurrentActivity()call on Android (compatibility with RN 0.81+)
Version: 4.2.1
Fixed
Possible conflict with other packages during proguard code minification
Android
Fixed
Issue with empty
SharedPreferencesfiles
Changed
Decreased version of
Kotlinto2.0.0
Version: 4.2.0
New Feature
Added interface for multi-instance detection
Improvement
[iOS] Added palera1n jailbreak detection
[iOS] Improved Dopamine jailbreak detection
[Android] Improved emulator detection
[Android] Added support for 16 KB pages
Fixed
[iOS] Resolved memory-related stability issues
[Android] Removed malware report duplicates
Version: 4.1.0
New feature
Added interface for screenshot / screen recording blocking on iOS.
Improvements
Added interface for external ID storage.
Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
[Android] New root detection checks added.
Fixed
[iOS] Resolved an issue with the screen recording detection.
[iOS] Resolved an issue that prevented Xcode tests from running correctly.
Version 4.0.0
Changed
Android SDK requires
kotlin_version>=2.0.0Set Java version to 17
[Android] Compile API increased to 35, dependencies updated
[Android] Internal library obfuscation reworked
[Android] Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
[iOS] Improvement of the obfuscation of the SDK
[iOS] Deep signing of the OpenSSL binaries
Fixed
[Android] ANR issues bug-fixing
Version 3.14.0
New feature
Added
screenshot- detection of screenshots, refer to the freeRASP integration documentation.Added
screenRecording- detection of screen recording, refer to the freeRASP integration documentation.Added
blockScreenCapturefor FLAG_SECURE control, an active protection against screen capturing.Added
isScreenCaptureBlocked- to receive whether the screen capture is blocked
Changed
[Android] Raised Android compileSDK level to 35
Improvement
[Android] Improved root detection
Fixed
Compatibility issues with RN New Architecture
[Android] Added proguard rules for malware data serialization in release mode on Android
[Android] Proguard rules to address warnings from okhttp dependency
Version 3.13.0
Improvement
[Android] Added request integrity information to data collection headers.
[Android] Enhanced and accelerated the data collection logic.
Version 3.12.0
Improvement
App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the
getAppIconmethod.Parsing of malware data is now async.
[Android] Malware data is now parsed on background thread to improve responsiveness.
Version 3.11.0
New features
[Android]
adbEnabledcallback, allowing you to detect USB debugging option enabled in the developer settings on the device.
Version 3.10.0
New features and improvements
Added configuration fields for malware detection.
[Android] Malware detection as a new callback for enhanced app security.
[Android] Refactoring Magisk checks in the root detection.
[iOS] Enhanced security with Serotonin Jailbreak Detection to identify compromised devices.
Maintenance
[iOS] Updated SDK code signing; it will now be signed with:
Team ID: PBDDS45LQS
Team Name: Lynx SFT s.r.o.
Version 3.9.3
Improvement
[iOS] Renewed the signing certificate.
Version 3.9.2
Bug Fix
[Android] Reported ANR issues present on some devices were resolved (GH Flutter issue #138).
[Android] Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved (GH Flutter issue #140).
[Android] Reported crashes caused by the UnsupportedOperationException were resolved.
Version 3.9.1
Bug Fix
[Android] False positives for hook detection.
Version 3.9.0
New Feature
[Android] Added the auditing of the internal execution for the future check optimization and overall security improvements.
[iOS] Dopamine jailbreak detection.
Improvement
Improved error messages when validation of the freeRASP configuration fails.
Updated
CURLto8.8.0andOpenSSLto3.0.14(Github issue #114).[Android] Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
[Android] Refactored fetching the list of installed applications for root and hook detection.
Bug Fix
Fixed incorrect path to types in
package.json.[Android] Fixed native crashes (SEGFAULT errors) in
ifpipmethod.[Android] Fixed collision for command line tools (like ping) invoked without absolute path (Github issue #41).
Version 3.8.2
Improvement
Updated proguard rules to resolve build issues in RN 0.75.x.
Version 3.8.0
New Feature
Added a new threat
systemVPNfor VPN detection.[Android] Added a new threat
devModefor Developer mode detection.
Improvement
Updated the CA bundle to enhance security for secure connections.
[Android] Updated the GMS dependency to a newer version for improved performance and compatibility.
[iOS] Enhanced and accelerated the data collection logic.
[iOS] Passcode check is now performed periodically.
Bug Fix
Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.
[Android] Fixed proguard warning in specific versions of RN.
Version 3.7.2
Improvement
Updated expo config plugin to fix release build issue in
RN 0.73.
Version 3.7.1
Improvement
[Android] Updated freeRASP SDK artifact hosting ensuring better stability and availibility.
Bug Fix
[Android] Fixed compatibility issues with
RN < 0.63.
Version 3.7.0
New Feature
Added support for apps built with Expo SDK.
[iOS] Added Privacy Manifest.
[iOS] Added codesigning for the SDK, it is signed by:
Team ID:
ASQC376HCN,Team Name:
AHEAD iTec, s.r.o..
Improvement
Updated
CURLto8.5.0andOpenSSLto1.1.1w.[Android] Shortened duration of threat evaluation.
[Android] Improved appIntegrity check and its logging.
[iOS] Improved obfuscation of Swift and C strings.
Bug Fix
[Android] Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).
[iOS] Fixed memory leak (freeRASP iOS issue #13).
Curious about more in-depth changes for React Native? Head over to our GitHub Changelog for the complete history of updates!
Github Changelog: https://github.com/talsec/Free-RASP-Cordova/releases
Latest Version: 9.1.1
Fixed
[Android] Fixed the reporting issue in root detection
[Android] Fixed the reporting issue in hook detection
[Android] Fixed ANR during SDK initialization caused by blocking I/O operations
[Android] Fixed background SDK initialization stalling when the shared thread pool is saturated
Version: 9.1.0
Added
bootloaderthreat callback, reporting an unlocked or compromised bootloader — Android only[Android] Added bootloader detection (unlocked/compromised) with
onBootloader()callback[Android] Added option to fetch JitPack dependencies from our own Talsec repository (
https://europe-west3-maven.pkg.dev/talsec-artifact-repository/common)[iOS] Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks
Changed
[Android] Improved KernelSU detection
[Android] Improved hook detection
[Android] Improved Frida detection
[Android] Improved root detection capabilities
[iOS] Improved jailbreak detection
[iOS] Improved hook detection
Fixed
[Android] Fixed native crash caused by std::terminate() race condition
[Android] Fixed periodic hook and root check overwriting
[Android] Fixed root detection crash in obfuscated release builds
[Android] Fixed hardware-backed keystore detection failing with
NoSuchMethodErroron some Android 12+ devices[iOS] Fixed issue with app's color scheme initialization
[iOS] Fixed bad memory access in jailbreak check
Version: 9.0.0
Breaking
❗️Breaking:
SuspiciousAppInfo.reason(string) renamed toreasons(string[])❗️Breaking: Value
"blacklist"inreasonsrenamed to"blocklist"❗️Breaking: Removed
TalsecMalwareConfigtype andTalsecAndroidConfig.malwareConfigfield❗️Breaking:
SuspiciousAppDetectionConfig.malwareScanScopeandreasonModeare now required
Removed
Removed
TalsecMalwareConfigtype andTalsecAndroidConfig.malwareConfigfield
Added
[Android] New API class
SuspiciousAppDetectionConfigthat can be used to configure malware detection[Android] New API for malware detection configuration in
TalsecConfig, seeTalsecConfig.Builder#suspiciousAppDetection
Changed
[Android] Fine-tuned location spoofing detection
[Android] Modified malware incident log structure for better aggregation
Fixed
[Android] Fixed
VerifyErrorcaused byJaCoCobytecode instrumentation[Android] Fixed a potential cause of crash in the multi-instance detector
[Android] Fixed Java interoperability of
ScreenProtectormethods[Android] Fixed Kotlin classpath conflicts in SDK dependency resolution (Kotlin 2.0.0)
Version: 8.3.1
Fixed
Fixed case where event dispatchers on Android were not initialized before calling
onResumeat the app launch[iOS] Fixed new jailbreak checks false positives on iOS 14 and 13
[iOS] Fixed false positives with jailbreak on iOS 15 and 16
[iOS] Fixed issue with app crashing on screenshot/screen recording
[iOS] Fixed retrigger jailbreak issue on iOS 15 and 16
Version: 8.3.0
Added
Added cache for freeRASP callbacks when listener is not registered with the app
Added API for
automationcallback intoThreatEventActions(Android only)[Android] Added new detection check for KernelSU
[Android] Added support for
KernelSUto the existing root detection capabilities[Android] Added support for
HMAto the existing root detection capabilities[Android] Added new malware detection capabilities
[Android] Added
onAutomationDetected()callback toThreatDetectedinterface — introducing a new capability, detecting whether the device is being automated using tools like Appium[Android] Added value restrictions to
externalId—storeExternalId()now returnsExternalIdResult, indicatingSuccessorErrorwhenexternalIdviolates restrictions[iOS] Added time spoofing detection, detecting an inaccurate device clock. It is a new threat
timeSpoofing
Changed
Updated compile and target SDK versions to 36 on Android
Higher
compileSdkfrom[rootProject, plugin]is now used inbuild.gradleon Android[Android] Removed unused library
tmlib[Android] Refactoring of signature verification code
[Android] Updated compile and target API to 36
[Android] Improved root detection capabilities
[Android] Detection of wireless ADB added to ADB detections
[iOS] Improved jailbreak detection methods
Removed
[Android] Removed deprecated
monitoringfeature
Fixed
Prevent multiple registration of the freeRASP listeners on the native side
[Android] Fixed memory management issues in the native code
[Android] Patched possibility of
getInstalledPackagesthrowingDeadSystemException[Android] Patched possibility of
getNetworkCapabilitiesthrowingSecurityException[Android] Fixed well-known issue of
Cipher.initthrowingKeyStoreConnectException[Android] Fixed exception handling for the KeyStore
getEntryoperation[Android] Fixed issue in
ScreenProtectorconcerning theonScreenRecordingDetectedinvocations[Android] Merged internal shared libraries into a single one, reducing the final APK size
[Android] Fixed bug related to key storing in keystore type detection (hw-backed keystore check)
[Android] Fixed manifest queries merge
Version: 8.2.0
Added
Added
killOnBypasstoTalsecConfigthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) (Issue 65)Added API for
timeSpoofingcallback intoThreatEventActions(Android only)Added API for
unsecureWificallback intoThreatEventActions(Android only)Added API for
allChecksFinishedcallback into newRaspExecutionStateEventActionsobjectAdded matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermission[Android] Added
killOnBypassmethod to theTalsecConfig.Builderthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Issue 65)[Android] We are introducing a new capability, detecting whether the device time has been tampered with (
timeSpoofing)[Android] We are introducing a new capability, detecting whether the location is being spoofed on the device (
locationSpoofing)[Android] We are introducing a new capability, detection of unsecure WiFi (
unecureWifi)[Android] Added new
RaspExecutionStatewhich containsonAllChecksFinished()method, which is triggered after all checks are completed[Android] Added matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermission[Android] New option to start Talsec,
Talsec.start()takes new parameterTalsecModethat determines the dispatcher thread of initialization and sync checks (uses background thread by default)[Android] Capability to check if another app has an option
REQUEST_INSTALL_PACKAGESenabled in the system settings to malware detection
Changed
Changed deprecated
initializeforpluginInitializeon AndroidImproved the RASP listener registration
[Android] Shortened the value of threat detection interval
[Android] Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
[Android] Update of internal dependencies and security libraries
[iOS] Updated internal dependencies
Removed
[Android] Removed deprecated functionality
Pbkdf2Nativeand both related native libraries (libpbkdf2_native.soandlibpolarssl.so)
Fixed
Resolved potential collision in threat identifiers
[Android] ANR issue caused by
registerScreenCaptureCallback()method on the main thread[Android]
NullPointerExceptionwhen checking key alias in Keystore on Android 7[Android]
JaCoCoissue causingMethodTooLargeExceptionduring instrumentation[Android]
DeadApplicationExceptionwhen callingSettings.Global.getIntorSettings.Secure.getInton invalid context[Android]
AndroidKeyStorecrashes causingjava.util.concurrent.TimeoutExceptionwhen callingfinalize()method onCipher(GC issues)[Android] Fixed issue with late initializers and
TalsecModecoroutines scopes
Version: 8.1.1
Android
Fixed
Issue with empty
SharedPreferencesfiles
Changed
Decreased version of
Kotlinto2.0.0
Version: 8.1.0
New Feature
Added interface for multi-instance detection
Improvement
[iOS] Added palera1n jailbreak detection
[iOS] Improved Dopamine jailbreak detection
[Android] Improved emulator detection
[Android] Added support for 16 KB pages
Fixed
[iOS] Resolved memory-related stability issues
[Android] Removed malware report duplicates
Version: 8.0.0
New feature
Added interface for screenshot / screen recording blocking on iOS.
Changed
Plugin now requires kotlin version >= 2.0.0.
Improvements
Added interface for external ID storage.
Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
[Android] New root detection checks added.
Fixed
[iOS] Resolved an issue with the screen recording detection.
[iOS] Resolved an issue that prevented Xcode tests from running correctly.
Version 7.4.1
Changed
[Android] Compile API increased to 35, dependencies updated
[Android] Internal library obfuscation reworked
[Android] Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
[iOS] Improvement of the obfuscation of the SDK
[iOS] Deep signing of the OpenSSL binaries
Fixed
[Android] ANR issues bug-fixing
Version 7.4.0
New feature
Added
screenshot- detection of screenshots, refer to the freeRASP integration documentation.Added
screenRecording- detection of screen recording, refer to the freeRASP integration documentation.Added
blockScreenCapturefor FLAG_SECURE control, an active protection against screen capturing.Added
isScreenCaptureBlocked- to receive whether the screen capture is blocked
Changed
[Android] Set following required SDK versions for Android plugin:
minSdkVersion 23
targetSdkVersion to 35
compileSdkVersion to 35
Improvement
[Android] Improved root detection
Fixed
[Android] Proguard rules to address warnings from okhttp dependency
Version 7.3.0
Improvement
[Android] Added request integrity information to data collection headers.
[Android] Enhanced and accelerated the data collection logic.
Version 7.2.0
Improvement
App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the
getAppIconmethod.Parsing of malware data is now async.
[Android] Malware data is now parsed on background thread to improve responsiveness.
Version 7.1.0
New features
[Android]
adbEnabledcallback, allowing you to detect USB debugging option enabled in the developer settings on the device.
Version 7.0.0
New features and improvements
Added configuration fields for malware detection.
[Android] Malware detection as a new callback for enhanced app security.
[Android] Refactoring Magisk checks in the root detection.
[iOS] Enhanced security with Serotonin Jailbreak Detection to identify compromised devices.
Maintenance
BREAKING CHANGE: New dependency is required to run freeRASP; add following plugin to
android/build.gradle:
[iOS] Updated SDK code signing; it will now be signed with:
Team ID: PBDDS45LQS
Team Name: Lynx SFT s.r.o.
Bug Fix
[Android] Resolved IllegalArgumentException caused by unregistering not registered receiver in
TalsecMonitoringReceiver
Version 6.3.3
Improvement
[iOS] Renewed the signing certificate.
Version 6.3.2
Bug Fix
[Android] Reported ANR issues present on some devices were resolved (GH Flutter issue #138).
[Android] Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved (GH Flutter issue #140).
[Android] Reported crashes caused by the UnsupportedOperationException were resolved.
Version 6.3.1
Bug Fix
[Android] False positives for hook detection.
Version 6.3.0
New Feature
[Android] Added the auditing of the internal execution for the future check optimization and overall security improvements.
[iOS] Dopamine jailbreak detection.
Improvement
Improved error messages when validation of the freeRASP configuration fails.
Updated
CURLto8.8.0andOpenSSLto3.0.14(Github issue #114).[Android] Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
[Android] Refactored fetching the list of installed applications for root and hook detection.
[iOS] Enhanced and accelerated the data collection logic.
Bug Fix
[Android] Fixed native crashes (SEGFAULT errors) in
ifpipmethod.[Android] Fixed collision for command line tools (like ping) invoked without absolute path (Github issue #41).
Version 6.2.0
New Feature
Added a new threat
systemVPNfor VPN detection.[Android] Added a new threat
devModefor Developer mode detection.
Improvement
Updated the CA bundle to enhance security for secure connections.
[Android] Updated the GMS dependency to a newer version for improved performance and compatibility.
[iOS] Passcode check is now performed periodically.
Bug Fix
Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.
Version 6.1.3
Bug Fix
Fixed BAD_ACCESS error occurring in specific versions of
cordova-iosplugin (#28).
Version 6.1.2
Bug Fix
[Android] Removed the talsec namespace that caused change of namespaces for whole app.
[iOS] Fixed issue causing app crash with lower versions of
cordova-iosplugin.
Version 6.1.1
Improvement
[Android] Updated freeRASP SDK artifact hosting ensuring better stability and availibility.
Curious about more in-depth changes for Cordova? Head over to our GitHub Changelog for the complete history of updates!
Github Changelog: https://github.com/talsec/Free-RASP-Capacitor/releases
Latest Version: 3.2.1
Fixed
[Android] Fixed the reporting issue in root detection
[Android] Fixed the reporting issue in hook detection
[Android] Fixed ANR during SDK initialization caused by blocking I/O operations
[Android] Fixed background SDK initialization stalling when the shared thread pool is saturated
Version: 3.2.0
Added
bootloaderthreat callback, reporting an unlocked or compromised bootloader — Android only[Android] Added bootloader detection (unlocked/compromised) with
onBootloader()callback[Android] Added option to fetch JitPack dependencies from our own Talsec repository (
https://europe-west3-maven.pkg.dev/talsec-artifact-repository/common)
Changed
[Android] Improved KernelSU detection
[Android] Improved hook detection
[Android] Improved Frida detection
[Android] Improved root detection capabilities
[iOS] Improved jailbreak detection
Fixed
[Android] Fixed native crash caused by std::terminate() race condition
[Android] Fixed periodic hook and root check overwriting
[Android] Fixed root detection crash in obfuscated release builds
[Android] Fixed hardware-backed keystore detection failing with
NoSuchMethodErroron some Android 12+ devices
Version: 3.1.0
Added
Swift Package Manager support for iOS. CocoaPods remains supported as a fallback
[iOS] Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks
[iOS] Improved hook detection
Fixed
[iOS] Fixed issue with app's color scheme initialization
[iOS] Fixed bad memory access in jailbreak check
Version: 3.0.0
Breaking
❗️Breaking:
SuspiciousAppInfo.reason(string) renamed toreasons(string[])❗️Breaking: Value
"blacklist"inreasonsrenamed to"blocklist"❗️Breaking: Removed
TalsecMalwareConfigandTalsecAndroidConfig.malwareConfig❗️Breaking:
SuspiciousAppDetectionConfig.malwareScanScopeandreasonModeare now required
Added
Added
SuspiciousAppDetectionConfigfor malware detection configuration[Android] New API class
SuspiciousAppDetectionConfigthat can be used to configure malware detection[Android] New API for malware detection configuration in
TalsecConfig, seeTalsecConfig.Builder#suspiciousAppDetection
Removed
Removed
TalsecMalwareConfigtype andTalsecAndroidConfig.malwareConfigfield
Changed
[Android] Fine-tuned location spoofing detection
[Android] Modified malware incident log structure for better aggregation
Fixed
[Android] Fixed
VerifyErrorcaused by JaCoCo bytecode instrumentation[Android] Fixed a potential cause of crash in the multi-instance detector
[Android] Fixed Java interoperability of
ScreenProtectormethods[Android] Fixed Kotlin classpath conflicts in SDK dependency resolution (Kotlin 2.0.0)
Version: 2.5.1
Fixed
Fixed case where event dispatchers on Android were not initialized before calling
onResumeat the app launch[iOS] Fixed new jailbreak checks false positives on iOS 14 and 13
[iOS] Fixed false positives with jailbreak on iOS 15 and 16
[iOS] Fixed issue with app crashing on screenshot/screen recording
[iOS] Fixed retrigger jailbreak issue on iOS 15 and 16
Version: 2.5.0
Added
[Android] Added support for
KernelSUto the existing root detection capabilities[Android] Added support for
HMAto the existing root detection capabilities[Android] Added new malware detection capabilities
[Android] Added
onAutomationDetected()callback toThreatDetectedinterface — introducing a new capability, detecting whether the device is being automated using tools like Appium[Android] Added value restrictions to
externalId—storeExternalId()now returnsExternalIdResult, indicatingSuccessorErrorwhenexternalIdviolates restrictions[iOS] Added time spoofing detection, detecting an inaccurate device clock. It is a new threat
timeSpoofing
Changed
Refactor the Android plugin to separate the logic for managing listener states
[Android] Removed unused library
tmlib[Android] Refactoring of signature verification code
[Android] Updated compile and target API to 36
[Android] Improved root detection capabilities
[Android] Detection of wireless ADB added to ADB detections
[iOS] Improved jailbreak detection methods
Fixed
[Android] Fixed exception handling for the KeyStore
getEntryoperation[Android] Fixed issue in
ScreenProtectorconcerning theonScreenRecordingDetectedinvocations[Android] Merged internal shared libraries into a single one, reducing the final APK size
[Android] Fixed bug related to key storing in keystore type detection (hw-backed keystore check)
[Android] Fixed manifest queries merge
Version: 2.4.1
Fixed
Resolved potential NullPointerException when execution state events are being sent
Version: 2.4.0
Added
Added cache for freeRASP callbacks when listener is not registered with the app
Added API for
automationcallback intoThreatEventActions(Android only)
Changed
Updated compile and target SDK versions to 36 on Android
Fixed
Prevent multiple registration of the freeRASP listeners on the native side
Version: 2.3.0
New Feature
[Android] Added
killOnBypasstoTalsecConfigthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) (Issue 65)Added API for
timeSpoofingcallback intoThreatEventActions(Android only)Added API for
unsecureWificallback intoThreatEventActions(Android only)Added API for
allChecksFinishedcallback into newRaspExecutionStateEventActionsobject[Android] Added matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermission
Improvement
[Android] Added
killOnBypassmethod to theTalsecConfig.Builderthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker Issue 65We are introducing a new capability, detecting whether the device time has been tampered with (
timeSpoofing)We are introducing a new capability, detecting whether the location is being spoofed on the device (
locationSpoofing)We are introducing a new capability, detection of unsecure WiFi (
unecureWifi)Removed deprecated functionality
Pbkdf2Nativeand both related native libraries (libpbkdf2_native.soandlibpolarssl.so)Added new
RaspExecutionStatewhich containsonAllChecksFinished()method, which is triggered after all checks are completed.[Android] Added matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermission[Android] New option to start Talsec,
Talsec.start()takes new parameterTalsecModethat determines the dispatcher thread of initialization and sync checks (uses background thread by default)[Android] Capability to check if another app has an option
REQUEST_INSTALL_PACKAGESenabled in the system settings to malware detection
Changed
[Android] Deprecated Nexus repository removed (GCP artifact registry is the main supported distribution repository)
[Android] Shortened the value of threat detection interval
[Android] Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
[Android] Update of internal dependencies and security libraries
[iOS] Updated internal dependencies
Fixed
[Android] Resolved potential collision in threat identifiers
[Android] Root detection related bugs causing false positives
[Android] ANR issue caused by
registerScreenCaptureCallback()method on the main thread[Android]
NullPointerExceptionwhen checking key alias in Keystore on Android 7[Android]
JaCoCoissue causingMethodTooLargeExceptionduring instrumentation[Android]
DeadApplicationExceptionwhen callingSettings.Global.getIntorSettings.Secure.getInton invalid context[Android]
AndroidKeyStorecrashes causingjava.util.concurrent.TimeoutExceptionwhen callingfinalize()method onCipher(GC issues)[Android] Fixed issue with late initializers and
TalsecModecoroutines scopes
Version: 2.2.2
New Feature
[Android] Added
killOnBypasstoTalsecConfigthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker (Android only) (Issue 65)Added API for
timeSpoofingcallback intoThreatEventActions(Android only)Added API for
unsecureWificallback intoThreatEventActions(Android only)Added API for
allChecksFinishedcallback into newRaspExecutionStateEventActionsobject[Android] Added matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermission
Improvement
[Android] Added
killOnBypassmethod to theTalsecConfig.Builderthat configures if the app should be terminated when the threat callbacks are suppressed/hooked by an attacker Issue 65We are introducing a new capability, detecting whether the device time has been tampered with (
timeSpoofing)We are introducing a new capability, detecting whether the location is being spoofed on the device (
locationSpoofing)We are introducing a new capability, detection of unsecure WiFi (
unecureWifi)Removed deprecated functionality
Pbkdf2Nativeand both related native libraries (libpbkdf2_native.soandlibpolarssl.so)Added new
RaspExecutionStatewhich containsonAllChecksFinished()method, which is triggered after all checks are completed.[Android] Added matched permissions to
SuspiciousAppInfoobject when malware detection reason issuspiciousPermission[Android] New option to start Talsec,
Talsec.start()takes new parameterTalsecModethat determines the dispatcher thread of initialization and sync checks (uses background thread by default)[Android] Capability to check if another app has an option
REQUEST_INSTALL_PACKAGESenabled in the system settings to malware detection
Changed
[Android] Deprecated Nexus repository removed (GCP artifact registry is the main supported distribution repository)
[Android] Shortened the value of threat detection interval
[Android] Refactoring of internal architecture of SDK that newly uses Coroutines to manage threading
[Android] Update of internal dependencies and security libraries
[iOS] Updated internal dependencies
Fixed
[Android] Resolved potential collision in threat identifiers
[Android] Root detection related bugs causing false positives
[Android] ANR issue caused by
registerScreenCaptureCallback()method on the main thread[Android]
NullPointerExceptionwhen checking key alias in Keystore on Android 7[Android]
JaCoCoissue causingMethodTooLargeExceptionduring instrumentation[Android]
DeadApplicationExceptionwhen callingSettings.Global.getIntorSettings.Secure.getInton invalid context[Android]
AndroidKeyStorecrashes causingjava.util.concurrent.TimeoutExceptionwhen callingfinalize()method onCipher(GC issues)[Android] Fixed issue with late initializers and
TalsecModecoroutines scopes
Version: 2.2.1
Changed
[Android] Issue with empty
SharedPreferencesfiles
Fixed
[Android] Decreased version of
Kotlinto2.0.0
Version: 2.2.0
New Feature
Added interface for multi-instance detection
Improvement
[iOS] Added palera1n jailbreak detection
[iOS] Improved Dopamine jailbreak detection
[Android] Improved emulator detection
[Android] Added support for 16 KB pages
Fixed
[iOS] Resolved memory-related stability issues
[Android] Removed malware report duplicates
Version: 2.1.0
New feature
Added interface for screenshot / screen recording blocking on iOS.
Improvements
Added interface for external ID storage.
Added eventId to the logs, which is unique per each log. It allows traceability of the same log across various systems.
[Android] New root detection checks added.
Fixed
[iOS] Resolved an issue with the screen recording detection.
[iOS] Resolved an issue that prevented Xcode tests from running correctly.
Version 2.0.0
Changed
Android SDK requires
kotlin_version>=2.0.0[Android] Compile API increased to 35, dependencies updated
[Android] Internal library obfuscation reworked
[Android] Root detection divided into 2 parts (quick initial checks, and time-demanding asynchronous post checks)
[iOS] Improvement of the obfuscation of the SDK
[iOS] Deep signing of the OpenSSL binaries
Fixed
[Android] ANR issues bug-fixing
Version 1.10.0
New feature
Added
screenshot- detection of screenshots, refer to the freeRASP integration documentation.Added
screenRecording- detection of screen recording, refer to the freeRASP integration documentation.Added
blockScreenCapturefor FLAG_SECURE control, an active protection against screen capturing.Added
isScreenCaptureBlocked- to receive whether the screen capture is blocked
Changed
[Android] Raised Android compileSDK level to 35
[Android] Set minifyEnabled in plugin to true implicitly
Improvement
[Android] Improved root detection
Fixed
[Android] Proguard rules to address warnings from okhttp dependency
Version 1.9.0
Improvement
[Android] Added request integrity information to data collection headers.
[Android] Enhanced and accelerated the data collection logic.
Version 1.8.0
Improvement
App icons for detected malware are not fetched automatically anymore, which reduces computation required to retrieve malware data. From now on, app icons have to be retrieved using the
getAppIconmethod.Parsing of malware data is now async.
[Android] Malware data is now parsed on background thread to improve responsiveness.
Version 1.7.0
New features
[Android]
adbEnabledcallback, allowing you to detect USB debugging option enabled in the developer settings on the device.
Version 1.6.0
New features
Added configuration fields for malware detection.
[Android] Malware detection as a new callback for enhanced app security.
[Android] Refactoring Magisk checks in the root detection.
[iOS] Enhanced security with Serotonin Jailbreak Detection to identify compromised devices.
Maintenance
[iOS] Updated SDK code signing; it will now be signed with:
Team ID: PBDDS45LQS
Team Name: Lynx SFT s.r.o.
Bug Fix
Resolved compatibilty issues with JDK 21 (issue #21)
Version 1.5.3
Improvement
[iOS] Renewed the signing certificate.
Version 1.5.2
Bug Fix
[Android] Reported ANR issues present on some devices were resolved (GH Flutter issue #138).
[Android] Reported crashes caused by ConcurrentModificationException and NullPointerException were resolved (GH Flutter issue #140).
[Android] Reported crashes caused by the UnsupportedOperationException were resolved.
Version 1.5.1
Bug Fix
[Android] False positives for hook detection.
Version 1.5.0
New Feature
[Android] Added the auditing of the internal execution for the future check optimization and overall security improvements.
[iOS] Dopamine jailbreak detection.
Improvement
Improved error messages when validation of the freeRASP configuration fails.
Updated
CURLto8.8.0andOpenSSLto3.0.14(Github issue #114).[Android] Changed the way TalsecConfig is created, we introduced a Builder pattern to make the process more streamlined and readable.
[Android] Refactored fetching the list of installed applications for root and hook detection.
[iOS] Enhanced and accelerated the data collection logic.
Bug Fix
[Android] Fixed native crashes (SEGFAULT errors) in
ifpipmethod.[Android] Fixed collision for command line tools (like ping) invoked without absolute path (Github issue #41).
Version 1.4.0
New Feature
Added a new threat
systemVPNfor VPN detection.[Android] Added a new threat
devModefor Developer mode detection.
Improvement
Updated the CA bundle to enhance security for secure connections.
[Android] Updated the GMS dependency to a newer version for improved performance and compatibility.
[iOS] Passcode check is now performed periodically.
Bug Fix
Resolved a problem with displaying the Arabic alphabet in logs caused by the device’s default system locale.
Version 1.3.1
Improvement
[Android] Updated freeRASP SDK artifact hosting ensuring better stability and availibility.
Version 1.3.0
New Feature
[iOS] Added Privacy Manifest.
[iOS] Added codesigning for the SDK, it is signed by:
Team ID:
ASQC376HCN,Team Name:
AHEAD iTec, s.r.o..
Improvement
Updated
CURLto8.5.0andOpenSSLto1.1.1w.[Android] Shortened duration of threat evaluation.
[Android] Improved appIntegrity check and its logging.
[iOS] Improved obfuscation of Swift and C strings.
Bug Fix
[Android] Fixed a native crash bug during one of the native root checks (detected after NDK upgrade).
[iOS] Fixed memory leak (freeRASP iOS issue #13)
Version 1.2.1
[Android] Fixed bug that prevented firing callbacks in specific situations.
[iOS] Fixed bug that caused app being killed in specific situations (#42).
Curious about more in-depth changes for Capacitor? Head over to our GitHub Changelog for the complete history of updates!
Last updated

