All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Android SDK version: 19.2.1
- iOS SDK version: 7.1.2
- Added
FreeRaspEvent.Bootloader, reporting an unlocked or compromised bootloader — Android only
- Added bootloader detection (unlocked/compromised) with
onBootloader()callback - Added option to fetch JitPack dependencies from our own Talsec repository (
https://europe-west3-maven.pkg.dev/talsec-artifact-repository/common)
- 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
- Improved KernelSU detection
- Improved hook detection
- Improved Frida detection
- Improved root detection capabilities
- Improved jailbreak detection
- Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks.
- Improved hook detection.
- Fixed issue with app's color scheme initialization.
- Fixed bad memory access in jaibreak check.
- Android SDK version: 18.3.0
- iOS SDK version: 6.14.4
SuspiciousAppInfo.reason(String) renamed toreasons(Set)- Value
"blacklist"inreasonsrenamed to"blocklist" - Removed
MalwareConfigandAndroidConfig.malwareConfig SuspiciousAppDetectionConfig.malwareScanScopeandreasonModeare now non-null with defaultsMalwareScanScope(ScopeType.SIDELOADED_ONLY)andReasonMode.HIGHEST_CONFIDENCE
- New API class
SuspiciousAppDetectionConfigthat can be used to configure malware detection - New API for malware detection configuration in
TalsecConfig, seeTalsecConfig.Builder#suspiciousAppDetection
- Fixed
VerifyErrorcaused byJaCoCobytecode instrumentation - Fixed a potential cause of crash in the multi-instance detector
- Fixed Java interoperability of
ScreenProtectormethods - Fixed Kotlin classpath conflicts in SDK dependency resolution (Kotlin 2.0.0)
- Fine-tuned location spoofing detection
- Modified malware incident log structure for better aggregation
- Android SDK version: 18.0.4
- iOS SDK version: 6.14.4
- Added
raspExecutionStateEvents: SharedFlow<RaspExecutionStateEvent>toFreeraspKMP— a dedicated channel for RASP execution lifecycle events - Added
RaspExecutionStateEventsealed class withAllChecksFinishedevent, indicating that all security checks have completed - Added
FreeRaspEvent.Automationfor detecting automation frameworks (e.g. Appium) — Android only - Added
removeExternalId()toFreeraspKMP— removes a previously stored external ID - Added
permissionsfield toSuspiciousAppInfo
AllChecksFinishedmoved fromFreeRaspEventtoRaspExecutionStateEvent— breaking change, update your event handling accordinglystoreExternalId()now throwsFreeraspKMPExceptionon failure instead of silently failing — breaking change
- Fixed
whitelistedInstallationSourcesnot being correctly passed to the native Android config
- Added Automation detection for detecting automation frameworks (e.g. Appium)
- Added new detection check for KernelSU
- Added wireless ADB detection to existing ADB detections
- Improved
HMAand root detection capabilities
- Fixed memory management issues in the native code
- Patched possibility of
getInstalledPackagesthrowingDeadSystemException - Patched possibility of
getNetworkCapabilitiesthrowingSecurityException - Fixed well-known issue of
Cipher.initthrowingKeyStoreConnectException
- Removed deprecated
monitoringfeature
- Improved
timeSpoofingdetection methods
- Fixed new jailbreak checks false positives on iOS 14 and 13
- Fixed false positives with jailbreak on iOS 15 and 16
- Fixed issue with app crashing on screenshot/screen recording
- Fixed retrigger jailbreak issue on iOS 15 and 16
- Android SDK version: 17.0.0
- iOS SDK version: 6.13.0
- Added
killOnBypasstofreeraspConfig— configures whether the app should be terminated when threat callbacks are suppressed or hooked by an attacker (Android only) (Issue 65) - Added
FreeRaspEvent.TimeSpoofingfor detecting device time tampering (Android only) - Added
FreeRaspEvent.LocationSpoofingfor detecting location spoofing (Android only) - Added
FreeRaspEvent.UnsecureWififor detecting unsecured Wi-Fi connections (Android only) - Added
FreeRaspEvent.AllChecksFinished— notifies when all security checks have completed
- Removed deprecated
Pbkdf2Nativeand both related native libraries (libpbkdf2_native.soandlibpolarssl.so)
- Updated internal dependencies
- Updated internal dependencies