Fast. Modular. Brutal.
Nutcracker is a powerful, modular, and extensible framework designed for mobile security analysis and offensive threat intelligence. It detects and bypasses anti-root/RASP protections, analyzes insecure Manifest configurations, extracts hardcoded secrets, and performs automated OSINT reconnaissance—all in one tool. Fully aligned with OWASP MASVS for comprehensive security compliance.
Optimized for performance and efficiency. Parallel analysis pipelines with intelligent caching. Built with speed in mind.
Highly modular architecture with feature flags. Enable or disable any module via config.yaml. Easy extension and customization.
Designed with security at its core. Detects DexGuard, Arxan, Appdome, Promon Shield, RootBeer and more. Built for real-world security workflows.
Subdomain enumeration via crt.sh, public leaks on GitHub/Postman/FOFA/Wayback, false-positive filtering and optional web searches via DuckDuckGo.
Complete PDF report with cover, executive summary, anti-root analysis, RASP bypass, misconfigurations, secrets and vulnerability findings.
Hybrid Docker mode: run nutcracker inside a container while connecting to emulators/devices on the host. Ideal for Windows + WSL environments.
frida_server, gadget or fartconfig.yaml# Clone the repository
git clone https://github.com/drneox/nutcracker
cd nutcracker
# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install Python dependencies
pip install -r requirements.txt
# Install system dependencies via Homebrew
brew install apkeep # Download APKs from Google Play / APKPure
brew install jadx # Decompile APKs to Java + XML
brew install apktool # Unpack/repack APKs
brew install semgrep # Static analysis (OWASP MASTG rules)
brew install android-platform-tools # adb
# Java 11+ required
brew install openjdk@21
# Base tools
sudo apt update
sudo apt install -y openjdk-21-jre-headless jadx apktool adb
# apkeep (official binary)
APKEEP_VERSION="0.18.0"
curl -L -o /tmp/apkeep.tgz \
"https://github.com/EFForg/apkeep/releases/download/v${APKEEP_VERSION}/apkeep-x86_64-unknown-linux-musl.tar.gz"
tar -xzf /tmp/apkeep.tgz -C /tmp
sudo install /tmp/apkeep /usr/local/bin/apkeep
# semgrep (via pipx)
pipx install semgrep
# Build and open a container shell
docker compose build
docker compose run --rm nutcracker
# Verify ADB connectivity from container
adb devices
frida-ls-devices
# Run analysis from the container
python nutcracker.py analyze downloads/app.apk
# Activate virtual environment first
source .venv/bin/activate
# Show help
python nutcracker.py --help
# Analyze a local APK
python nutcracker.py analyze downloads/app.apk
# Download and analyze from Google Play
python nutcracker.py scan 'com.example.app'
python nutcracker.py analyze com.example.app
# Batch scan from a package list
python nutcracker.py batch packages.txt
# Setup Google Play AAS Token (interactive)
python nutcracker.py setup-token
python nutcracker.py setup-token --serial emulator-5554 --method auto
# Manual Frida bypass (launch command)
python nutcracker.py launch com.example.app
python nutcracker.py launch com.example.app --serial emulator-5554
# Specify a bypass script manually
python nutcracker.py launch com.example.app \
--script frida_scripts/bypass_com.example.app_....js
Copy config.yaml.example to config.yaml and adjust the values you need.
features:
anti_root_analysis: true
decompilation: true
manifest_scan: true
vuln_scan: false
leak_scan: true
osint_scan: true
report_pdf: true
Check out the documentation and unleash the power of Nutcracker.