Skip to content

Commit c7377a8

Browse files
authored
Merge pull request #134 from talsec/release/6.7.0
freeRASP 6.7.0
2 parents 1b3f350 + 2e820f7 commit c7377a8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+1197
-6955
lines changed

CHANGELOG.md

+47
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,50 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [6.7.0] - 2024-09-26
9+
10+
- Android SDK version: 11.1.0
11+
- iOS SDK version: 6.6.0
12+
13+
### Flutter
14+
15+
#### Added
16+
- Auditing mechanism for runtime checks
17+
18+
#### Changed
19+
- Migration to [declarative Gradle plugin](https://docs.flutter.dev/release/breaking-changes/flutter-gradle-plugin-apply)
20+
- [CHANGELOG.md](CHANGELOG.md) now follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)
21+
- Updated [README.md](README.md) with new documentation links
22+
23+
### Android
24+
25+
#### Added
26+
- Auditing mechanism for runtime checks
27+
28+
#### Changed
29+
- Breaking: TalsecConfig creation was migrated to a Builder pattern
30+
- Refactored fetching the list of installed applications for root and hook detection
31+
- Updated OpenSSL to version 3.0.14
32+
- Updated CURL to version 8.8.0
33+
34+
#### Fixed
35+
- Native crashes (SEGFAULT) in `ifpip` method
36+
- Collision for command line tools (e.g. `ping`) which couldn't be invoked without the full path
37+
38+
### iOS
39+
40+
#### Added
41+
- [Dopamine](https://github.com/opa334/Dopamine) jailbreak detection.
42+
43+
#### Changed
44+
- Enhanced and accelerated the data collection logic
45+
- Updated OpenSSL to version 3.0.14
46+
- Updated CURL to version 8.8.0
47+
148
# freeRASP 6.6.0
249

350
## What's new in 6.6.0?

README.md

+8-6
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99

1010
freeRASP for Flutter is a mobile in-app protection and security monitoring SDK. It aims to cover the main aspects of RASP (Runtime App Self Protection) and application shielding.
1111

12-
:loudspeaker: The official documentation has been moved to a new location. You can now find it [here](https://docs.talsec.app/freerasp). :loudspeaker:
13-
12+
:loudspeaker: The official documentation has been moved to a new location. You can now find it [here](https://docs.talsec.app/docs-and-articles-portal). :loudspeaker:
1413

1514
# Overview
1615

@@ -47,8 +46,8 @@ Learn more about commercial features at [https://talsec.app](https://talsec.app)
4746

4847
Learn more about freemium freeRASP features at [GitHub main repository](https://github.com/talsec/Free-RASP-Community).
4948

50-
# :book: Discover Official Documentation
51-
Visit the [GitBook page](https://docs.talsec.app/freerasp) for comprehensive and up-to-date guides, tutorials, and technical documentation. It serves as your go-to resource, offering everything from basic instructions to advanced tips and tricks to help you get the most out of the project.
49+
# :book: Discover the Official freeRASP Documentation
50+
Visit the [GitBook page](https://docs.talsec.app/freerasp) for comprehensive and up-to-date guides, tutorials, and technical documentation specifically for freeRASP. It serves as your go-to resource, offering everything from basic instructions to advanced tips and tricks to help you get the most out of the project.
5251

5352
## :link: Integration Guide
5453
For integrating freeRASP on the Flutter platform, be sure to follow all the steps in the [Integration Guide](https://docs.talsec.app/freerasp/integration). This guide provides detailed instructions to help you achieve a smooth and efficient integration.
@@ -57,12 +56,12 @@ Be sure to bookmark it and stay informed! :books: :sparkles:.
5756

5857
## :scroll: Reference to Legacy Documentation
5958

60-
If you have any suggestions for improvement or notice anything that could be clarified in the new GitBook documentation, please open an issue. Your feedback helps us maintain high-quality resources for all users.
59+
If you have any suggestions for improvement or notice anything that could be clarified in the new GitBook documentation, please open an issue. Your feedback helps us maintain high-quality resources for all users.
6160

6261
For information on older integration methods, you can refer to the [freeRASP wiki](https://github.com/talsec/Free-RASP-Flutter/wiki), which includes comprehensive legacy details and guidance. Additionally, the old integration can be found when you checkout to a specific tag. Your input is invaluable in helping us improve our resources and provide even better support for your needs.
6362

6463
# :rocket: What's New and Changelog
65-
Stay informed and make the most of freeRASP by checking out [What's New and Changelog](https://docs.talsec.app/freerasp/whats-new-and-changelog)! Here, you’ll discover the latest features, enhancements, and bug fixes we’ve implemented to improve your experience across all platforms, including Android, iOS, Flutter, React Native, Capacitor, and Cordova.
64+
Stay informed and make the most of freeRASP by checking out [What's New and Changelog](https://docs.talsec.app/freerasp/whats-new-and-changelog)! Here, you’ll discover the latest features, enhancements, and bug fixes we’ve implemented to improve your experience across all platforms, including Android, iOS, Flutter, React Native, Capacitor, and Cordova.
6665

6766
Don’t miss out on any updates and explore the changelog to see how we’re continually making freeRASP better for you!
6867

@@ -71,3 +70,6 @@ Don’t miss out on any updates and explore the changelog to see how we’re con
7170
If you have any ideas for improvements, feel free to [raise an issue](https://github.com/talsec/Free-RASP-Flutter/issues) and mark it with an **enhancement** label. We track these enhancements using [GitHub Projects](https://docs.github.com/en/issues/planning-and-tracking-with-projects/learning-about-projects/about-projects) to keep tasks organized and connected to relevant issues or pull requests.
7271

7372
You can check out the project board [here](https://github.com/orgs/talsec/projects/2).
73+
74+
# :page_facing_up: License
75+
This project is provided as freemium software, i.e. there is a fair usage policy that imposes some limitations on the free usage. The SDK software consists of open-source and binary parts, which is the property of Talsec. The open-source part is licensed under the MIT License - see the LICENSE file for details.

android/build.gradle

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ version '1.0-SNAPSHOT'
33

44
buildscript {
55
ext.kotlin_version = '1.7.20'
6+
ext.talsec_version = '11.1.0'
67
repositories {
78
google()
89
mavenCentral()
@@ -56,5 +57,5 @@ dependencies {
5657
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
5758

5859
// Talsec SDK
59-
implementation 'com.aheaditec.talsec.security:TalsecSecurity-Community-Flutter:9.6.0'
60+
implementation "com.aheaditec.talsec.security:TalsecSecurity-Community-Flutter:$talsec_version"
6061
}

android/src/main/kotlin/com/aheaditec/freerasp/handlers/PluginThreatHandler.kt

+5
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.aheaditec.freerasp.Threat
55
import com.aheaditec.talsec_security.security.api.ThreatListener
66
import com.aheaditec.talsec_security.security.api.ThreatListener.DeviceState
77
import com.aheaditec.talsec_security.security.api.ThreatListener.ThreatDetected
8+
import com.aheaditec.talsec_security.security.api.SuspiciousAppInfo
89

910
/**
1011
* A Singleton object that implements the [ThreatDetected] and [DeviceState] interfaces to handle
@@ -73,6 +74,10 @@ internal object PluginThreatHandler : ThreatDetected, DeviceState {
7374
notify(Threat.DevMode)
7475
}
7576

77+
override fun onMalwareDetected(appInfo: List<SuspiciousAppInfo>) {
78+
// Nothing to do yet.
79+
}
80+
7681
private fun notify(threat: Threat) {
7782
listener?.threatDetected(threat) ?: detectedThreats.add(threat)
7883
}

android/src/main/kotlin/com/aheaditec/freerasp/utils/Utils.kt

+5-7
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,11 @@ internal class Utils {
3131
isProd = json.getBoolean("isProd")
3232
}
3333

34-
return TalsecConfig(
35-
packageName,
36-
certificateHashes.toTypedArray(),
37-
watcherMail,
38-
alternativeStores.toTypedArray(),
39-
isProd
40-
)
34+
return TalsecConfig.Builder(packageName, certificateHashes.toTypedArray())
35+
.watcherMail(watcherMail)
36+
.supportedAlternativeStores(alternativeStores.toTypedArray())
37+
.prod(isProd)
38+
.build()
4139
}
4240
}
4341
}

example/android/app/build.gradle

+7-15
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
plugins {
2+
id "com.android.application"
3+
id "kotlin-android"
4+
id "dev.flutter.flutter-gradle-plugin"
5+
}
6+
17
def localProperties = new Properties()
28
def localPropertiesFile = rootProject.file('local.properties')
39
if (localPropertiesFile.exists()) {
@@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) {
612
}
713
}
814

9-
def flutterRoot = localProperties.getProperty('flutter.sdk')
10-
if (flutterRoot == null) {
11-
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
12-
}
13-
1415
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
1516
if (flutterVersionCode == null) {
1617
flutterVersionCode = '1'
@@ -21,13 +22,8 @@ if (flutterVersionName == null) {
2122
flutterVersionName = '1.0'
2223
}
2324

24-
apply plugin: 'com.android.application'
25-
apply plugin: 'kotlin-android'
26-
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
27-
2825
android {
29-
// TODO: Update to "flutter.compileSdkVersion" when sdk will be updated to >= 2.0
30-
compileSdkVersion 33
26+
compileSdkVersion flutter.compileSdkVersion
3127

3228
compileOptions {
3329
sourceCompatibility JavaVersion.VERSION_1_8
@@ -65,7 +61,3 @@ android {
6561
flutter {
6662
source '../..'
6763
}
68-
69-
dependencies {
70-
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
71-
}

example/android/build.gradle

-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,3 @@
1-
buildscript {
2-
ext.kotlin_version = '1.6.10'
3-
repositories {
4-
google()
5-
mavenCentral()
6-
}
7-
8-
dependencies {
9-
classpath 'com.android.tools.build:gradle:7.4.2'
10-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
11-
}
12-
}
13-
141
allprojects {
152
repositories {
163
google()

example/android/settings.gradle

+22-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
1-
include ':app'
1+
pluginManagement {
2+
def flutterSdkPath = {
3+
def properties = new Properties()
4+
file("local.properties").withInputStream { properties.load(it) }
5+
def flutterSdkPath = properties.getProperty("flutter.sdk")
6+
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7+
return flutterSdkPath
8+
}()
29

3-
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
4-
def properties = new Properties()
10+
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
511

6-
assert localPropertiesFile.exists()
7-
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
12+
repositories {
13+
google()
14+
mavenCentral()
15+
gradlePluginPortal()
16+
}
17+
}
818

9-
def flutterSdkPath = properties.getProperty("flutter.sdk")
10-
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
11-
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
19+
plugins {
20+
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
21+
id "com.android.application" version "7.4.2" apply false
22+
id "org.jetbrains.kotlin.android" version "1.6.10" apply false
23+
}
24+
25+
include ":app"

example/ios/Flutter/AppFrameworkInfo.plist

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
<key>CFBundleVersion</key>
2222
<string>1.0</string>
2323
<key>MinimumOSVersion</key>
24-
<string>11.0</string>
24+
<string>12.0</string>
2525
</dict>
2626
</plist>

example/ios/Podfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Uncomment this line to define a global platform for your project
2-
# platform :ios, '11.0'
2+
# platform :ios, '12.0'
33

44
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
55
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

example/ios/Podfile.lock

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ EXTERNAL SOURCES:
1414
:path: ".symlinks/plugins/freerasp/ios"
1515

1616
SPEC CHECKSUMS:
17-
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
17+
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
1818
freerasp: bb827d80b926abcfb8f4ca4ff4557c2fe4a5ae21
1919

20-
PODFILE CHECKSUM: ef19549a9bc3046e7bb7d2fab4d021637c0c58a3
20+
PODFILE CHECKSUM: c4c93c5f6502fe2754f48404d3594bf779584011
2121

2222
COCOAPODS: 1.15.2

example/ios/Runner.xcodeproj/project.pbxproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@
155155
97C146E61CF9000F007C117D /* Project object */ = {
156156
isa = PBXProject;
157157
attributes = {
158-
LastUpgradeCheck = 1430;
158+
LastUpgradeCheck = 1510;
159159
ORGANIZATIONNAME = "";
160160
TargetAttributes = {
161161
97C146ED1CF9000F007C117D = {

example/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
3-
LastUpgradeVersion = "1430"
3+
LastUpgradeVersion = "1510"
44
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"

ios/TalsecRuntime.xcframework/Info.plist

+9-5
Original file line numberDiff line numberDiff line change
@@ -5,31 +5,35 @@
55
<key>AvailableLibraries</key>
66
<array>
77
<dict>
8+
<key>BinaryPath</key>
9+
<string>TalsecRuntime.framework/TalsecRuntime</string>
810
<key>LibraryIdentifier</key>
9-
<string>ios-arm64</string>
11+
<string>ios-arm64_x86_64-simulator</string>
1012
<key>LibraryPath</key>
1113
<string>TalsecRuntime.framework</string>
1214
<key>SupportedArchitectures</key>
1315
<array>
1416
<string>arm64</string>
17+
<string>x86_64</string>
1518
</array>
1619
<key>SupportedPlatform</key>
1720
<string>ios</string>
21+
<key>SupportedPlatformVariant</key>
22+
<string>simulator</string>
1823
</dict>
1924
<dict>
25+
<key>BinaryPath</key>
26+
<string>TalsecRuntime.framework/TalsecRuntime</string>
2027
<key>LibraryIdentifier</key>
21-
<string>ios-arm64_x86_64-simulator</string>
28+
<string>ios-arm64</string>
2229
<key>LibraryPath</key>
2330
<string>TalsecRuntime.framework</string>
2431
<key>SupportedArchitectures</key>
2532
<array>
2633
<string>arm64</string>
27-
<string>x86_64</string>
2834
</array>
2935
<key>SupportedPlatform</key>
3036
<string>ios</string>
31-
<key>SupportedPlatformVariant</key>
32-
<string>simulator</string>
3337
</dict>
3438
</array>
3539
<key>CFBundlePackageType</key>
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)