DragonJAR/Android-Pentesting-Skill
Android-Pentesting-Skill is an open-source "skill" package that turns an AI coding agent (Claude Code, OpenCode, etc.) into an Android APK security auditor. It orchestrates APKTool/JADX decompilation, MASTG-aligned Semgrep static rules, source-to-sink tracing, a Runtime Defense Analysis engine that maps detected RASP/anti-tampering protections (root detection, SSL pinning, Frida detection, SafetyNet, Approov, DexGuard, etc.) to reusable Frida bypass profiles, and CVSS 4.0/MASVS-scored professional reporting, plus smali patching/repackaging workflows for authorized lab use. It ships 37+ bundled Frida scripts, 70+ Semgrep MASTG rules, and framework-specific handling for Flutter, React Native, Cordova, and Unity apps.
What to do
The value the summary omits is the exact command sequence and its ordering constraint. Install by cloning into your agent's skills directory:
cd ~/.agents/skills/
git clone https://github.com/DragonJAR/Android-Pentesting-Skill Android-Pentesting-SkillVerify dependencies before running anything:
python3 scripts/06-setup/preflight-check.pyShell and PowerShell variants exist (preflight-check.sh, preflight-check.ps1); the Bash script needs Bash 4+ (/opt/homebrew/bin/bash on macOS Homebrew).
How it works
The RASP bypass is a four-step "DRY" pipeline that is print-first — it will not execute a bypass until you pass --run --authorized-lab. The ordering matters: detect, then map detections to reusable profiles, then generate a reviewable command, then (only if authorized) run.
# 1) Detect RASP/runtime defenses
bash scripts/02-rasp/runtime-defense-analyzer.sh app.apk com.target.app --output findings-rda.json
# 2) Review available bypass profiles
bash scripts/02-rasp/rasp-bypass-runner.sh --list-profiles
# 3) Generate a reviewed Frida command from findings
bash scripts/02-rasp/rasp-bypass-runner.sh \
--package com.target.app \
--from-rda findings-rda.json \
--print-command
# 4) Execute only in an authorized lab
bash scripts/02-rasp/rasp-bypass-runner.sh \
--package com.target.app \
--from-rda findings-rda.json \
--run --authorized-labProfiles live in scripts/02-rasp/bypass-profiles.json and reference Frida scripts under assets/frida-scripts/. Phase structure runs 0–5 (decode → manifest/attack-surface → grep patterns → Semgrep MASTG rules → source-to-sink → RASP → classification/scoring); the transcripts show it auto-detects Flutter, React Native (libhermes.so), and native frameworks and adjusts (e.g. extracting assets/index.android.bundle for RN secret scans).
flowchart LR
D[RDA detect] --> P[list-profiles]
P --> C[print-command]
C -->|reviewed| A{--authorized-lab?}
A -->|yes| R[run bypass]
A -->|no| STOP[print only, no exec]Caveats
The page states one hard limit explicitly: client-side Frida hooks cannot forge server-side attestation verdicts. For Approov, Play Integrity, or SafetyNet, you need an authorized test tenant, backend allowlist, mock verifier, or approved lab config — not a hook. Bypass validation only covers client-side controls (SSL pinning, root/debug/emulator checks, anti-Frida, FLAG_SECURE, packer/native checks) and only "where technically feasible." The RDA in the transcript exposed 18 catalog entries but only 14 executable detectors, so detection coverage exceeds bypass coverage.
Organisations named here
- CVSS
- MASTG
- MASVS
- OWASP Mobile Top 10
Technologies named here
- Android-Pentesting-Skill
- Android APKs
- Flutter apps
- APKTool
- JADX
- React Native apps
- APKiD
- Android 14+
- Android 15/16
- Android SDK tools
- Frida
- Android Keystore2
- DexGuard 9+
- Semgrep
- RDA
- Arxan
- rasp-bypass-runner.sh
- calculate-score.py
- frida-exploit-helper.py
- Blutter
- ssl-pinning-bypass.js
- root-detection-bypass.js
- native-root-detection-probe.js
- native-hook.js
- biometric-bypass.js
- network-interceptor.js
- crypto-intercept.js
- zipalign
- apksigner
- adb-backup-extract.sh
- drozer-automated.sh
- firebase-check.sh
- inspect-app-sandbox.sh
- live-logcat-analyzer.py
- mobsf-api-scan.py
- burp-findings-export.py
- rop-helper.py
- correlate-findings.py
- generate-report.py
- fetch-apk-gmail.py
- advanced-static-checks.sh
- version-diff-audit.sh
- preflight-check.py/.sh/.ps1
- Android
- Claude Code
- OpenCode
Techniques named here
- Exported Activity Without Permission
- Exported Activity with Intent Redirection
- Hardcoded API Key / Hardcoded Credentials
- Debug Logging/Mode Enabled
- Weak SSL Certificate Validation
- SSL Pinning Bypass
- Root Detection Bypass
- Intent Injection / Confused Deputy
- Deep Link Exploitation
- Source-to-sink data flow tracing
- RASP/Runtime Defense Detection
- APK Repackaging/Patching
- Secret extraction from JavaScript bundle
Related in Mobile Security
thomasbuilds/Spectre

Mobile Network Hacking: Recon on Local Mobile Networks
Why the Stryker Attack Still Matters. And Five Steps You Can Take Today
