
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
robotframework-obfuscator
Advanced tools
The Robot Framework obfuscator is a command line tool which can obfuscate Robot Framework code.
pip can be used to install the obfuscator:
pip install https://github.com/robocorp/robotframework-obfuscator/archive/master.zip
Note that dependencies must also be installed:
pip install robotframework
pip install robotframework-lsp
It depends on Python 3.8+
, Robot Framework 4+
and robotframework-lsp 0.29+
.
After installing it, it's possible to run the obfuscator with:
python -m robotframework_obfuscator --dest <dest-dir> <dir-to-obfuscate>
Where <dest-dir>
is the directory where the obfuscated sources should be put and
<dir-to-obfuscate>
is the directory with the sources to obfuscate.
Note that all files from the <dir-to-obfuscate>
will be copied to the <dest-dir>
but only .robot
and .resource
files will be obfuscated.
If some keyword should not be obfuscated, it's possible to use the --skip-keyword
option to make a call such as:
python -m robotframework_obfuscator --dest <dest-dir> --skip-keyword MyKeyword --skip-keyword AnotherKeyword <dir-to-obfuscate>
If some variable should not be obfuscated, it's possible to use the --skip-var
option to make a call such as:
python -m robotframework_obfuscator --dest <dest-dir> --skip-var my_var --skip-var AnotherVar <dir-to-obfuscate>
Both keyword names and variable names will be obfuscated. If a given keyword or variable name was referenced in a different way (read from a file, environment variable, etc.), it's possible that the program may fail to execute afterwards, thus, it's suggested that the obfuscated version of the program is run to verify that the behavior is still the same.
Note that keyword names passed to Run Keyword
(or other run variants of the Run
from the BuiltIn
library) are properly translated, but if the target code has
a some direct call to run a keyword, it may fail.
It's possible to overcome this by not obfuscating a specific keyword name
with the --skip-keyword
option.
Also note that if some variable is passed as a parameter to Robot Framework
(or through some variables file), it's possible to use the --skip-var
option
to skip translating those variables.
Note that the obfuscator may make your program run slower as in many cases an additional keyword evaluation may be needed for each keyword run -- in general, as a rule of thumb, code that need to be fast, should be in Python, so, it shouldn't make much difference, but if the related code has too much logic leveraged in Robot Framework itself, it may make a difference.
This obfuscator is currently in alpha mode. Please run your program with the obfuscated version to make sure that the behavior is still the same.
FAQs
An obfuscator for Robot Framework code
We found that robotframework-obfuscator demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.