You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,17 @@
1
+
# freeRASP 3.0.0
2
+
3
+
### Android
4
+
5
+
- ❗ BREAKING CHANGE: Raised minimum supported Android version to 6.0 (API level 23)
6
+
- ✔️ Removed deprecated BouncyCastle dependency that could cause [errors in the build phase](https://github.com/talsec/Free-RASP-ReactNative/issues/13)
7
+
- ✔️ Fixed issue that could cause NullPointerException
8
+
- 🆕 Added new `obfuscationIssues` check, which is triggered when freeRASP doesn't detect any obfuscation of the source code
Copy file name to clipboardExpand all lines: README.md
+61-39Lines changed: 61 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -94,7 +94,19 @@ or
94
94
95
95
### Android
96
96
97
-
_All dependencies of freeRASP for Android are resolved automatically._
97
+
freeRASP for Android requires a minimum **SDK** level of **23**. React Native projects, by default, support even lower levels of minimum SDK. This creates an inconsistency we must solve by updating the minimum SDK level of the application:
98
+
99
+
1. From the root of your project, go to **android > build.gradle**.
100
+
1. In **buildscript**, update **minSdkVersion** to at least **23** (Android 6.0) or higher.
101
+
102
+
```groovy
103
+
buildscript {
104
+
ext {
105
+
minSdkVersion 23
106
+
...
107
+
}
108
+
}
109
+
```
98
110
99
111
### iOS
100
112
@@ -222,9 +234,9 @@ const actions = {
222
234
deviceID: () => {
223
235
console.log('deviceID');
224
236
},
225
-
//iOS only
226
-
passcodeChange: () => {
227
-
console.log('passcodeChange');
237
+
//Android only
238
+
obfuscationIssues: () => {
239
+
console.log('obfuscationIssues');
228
240
},
229
241
};
230
242
@@ -273,23 +285,15 @@ _You can override this default behavior by extending the `actions` object with `
273
285
274
286
## Step 5: Additional note about obfuscation
275
287
276
-
The freeRASP contains public API, so the integration process is as simple as possible. Unfortunately, this public API also creates opportunities for the attacker to use publicly available information to interrupt freeRASP operations or modify your custom reaction implementation in threat callbacks. In order for freeRASP to be as effective as possible, it is highly recommended to apply obfuscation to the final package/application, making the public API more difficult to find and also partially randomized for each application so it cannot be automatically abused by generic hooking scripts.
288
+
The freeRASP contains public API, so the integration process is as simple as possible. Unfortunately, this public API also creates opportunities for the attacker to use publicly available information to interrupt freeRASP operations or modify your custom reaction implementation in threat callbacks. In order to provide as much protection as possible, freeRASP obfuscates its source code. However, if all other code is not obfuscated, one can easily deduct that the obfuscated code belongs to a security library. We, therefore, encourage you to apply code obfuscation to your app, making the public API more difficult to find and also partially randomized for each application so it cannot be automatically abused by generic hooking scripts.
277
289
278
-
### Android
290
+
Probably the easiest way to obfuscate your app is via code minification, a technique that reduces the size of the compiled code by removing unnecessary characters, whitespace, and renaming variables and functions to shorter names. It can be configured for Android devices in **android/app/build.gradle** like so:
279
291
280
-
The majority of Android projects support code shrinking and obfuscation without any additional need for setup. The owner of the project can define the set of rules that are usually automatically used when the application is built in the release mode. For more information, please visit the official documentation
Please note that some other modules in your app may rely on reflection, therefore it may be necessary to add corresponding keep rules into proguard-rules.pro file.
306
+
307
+
If there is a problem with the obfuscation, freeRASP will notify you about it via `obfuscationIssues` callback.
308
+
309
+
You can read more about Android obfuscation in the official documentation:
See the generic info about freeRASP data collection [here](https://github.com/talsec/Free-RASP-Community/tree/master#data-collection-processing-and-gdpr-compliance).
@@ -400,25 +413,25 @@ freeRASP is freemium software i.e. there is a Fair Usage Policy (FUP) that impos
<td>Mentioning of the App name and logo in the marketing communications of Talsec (e.g. "Trusted by" section of the Talsec web or in the social media).</td>
522
+
<td>Mentioning of the App name and logo in the marketing communications of Talsec (e.g. "Trusted by" section on the web).</td>
0 commit comments