
Research
Malicious fezbox npm Package Steals Browser Passwords from Cookies via Innovative QR Code Steganographic Technique
A malicious package uses a QR code as steganography in an innovative technique.
github.com/devOpifex/obfuscator
A tool to obfuscate R code by renaming variables, functions, and file names while preserving functionality.
[!WARNING] This tool only obfuscates code and does not encrypt it. Obfuscation is not a security measure and should not be relied upon to protect sensitive code or intellectual property. The obfuscated code can potentially be reverse-engineered. Do not use this tool with the expectation that it makes your code secure to share.
go install github.com/devOpifex/obfuscator@latest
You can also build from source:
git clone https://github.com/devOpifex/obfuscator.git
cd obfuscator
go build
$> obfuscator -h
Usage of obfuscator:
-deobfuscate
Deobfuscate the obfuscated files
-in string
Directory of R files to obfuscate
-key string
Key to obfuscate
-license string
License to prepend to every obfuscated file, e.g.: license
-out string
Directory where to write the obfuscated files
-protect string
Comma separated protected tokens, e.g.: foo,bar
Basic Obfuscation:
obfuscator -in=R -out=obfuscated -key=secret
With License and Protected Tokens:
obfuscator -in=R -out=obfuscated -key=secret -license=license.txt -protect=myFunction,importantVar
Deobfuscation:
obfuscator -deobfuscate -in=obfuscated -out=deobfuscated -key=secret
See obfuscator -h
for more details.
If statements must include curly braces:
if(TRUE) 1 else 0
if(TRUE) {1} else {0}
Lambda functions must include curly braces:
\(x) x + 1
\(x) {x + 1}
Expressions in curly braces outside of standard control structures are not supported:
tryCatch({x + 1})
fn <- \(){x + 1}; tryCatch(fn())
.onLoad
) are not obfuscated__
are not renamed (but their content is still obfuscated).R
extension are processeddo.call()
are not obfuscated - consider alternatives-protect
flag for functions that must maintain their original namesThe obfuscator works by:
You may want to use the Go modules to lex, or parse R code too.
FAQs
Unknown package
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.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.
Application Security
/Research
/Security News
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.