hardw00t/ai-security-arsenal

android-pentest

Comprehensive Android mobile application penetration testing with rooted-device ADB and Frida-based MCP tooling.

First seen Feb 2, 2026

Installation

$ npx skills add hardw00t/ai-security-arsenal --skill android-pentest

Summary

  • Comprehensive Android mobile application penetration testing with rooted-device ADB and Frida-based MCP tooling.
  • Covers OWASP MASTG full methodology: recon, static + dynamic analysis, SSL/root bypass, IPC fuzzing, data exfiltration, crypto audit, and reporting.
  • Triggers on requests to pentest Android apps, analyze APKs, bypass mobile security controls, or run MASVS/MASTG assessments.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from hardw00t/ai-security-arsenal · top by installs.

npx skills add hardw00t/ai-security-arsenal

Browse all from hardw00t/ai-security-arsenal

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Stars 98
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Declared agents claude-code

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 13,007 B
  • docs SUMMARY.md 409 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 74 installs

SKILL.md

Android Mobile Application Penetration Testing

Thin router for full MASTG-aligned Android assessments via ADB + Frida + Mobile MCP. Load workflow / methodology / reference files on demand; do not attempt to memorise the whole skill up front.

When to Use

  • Start a new Android app security assessment
  • Bypass SSL pinning, root detection, anti-tamper, or biometric checks
  • Extract/triage local storage (SharedPreferences, DBs, files, logs)
  • Test exported activities, services, providers, receivers, deep links
  • Hook crypto / auth / session / keystore at runtime
  • Map a build to OWASP MASVS / MASTG for compliance evidence
  • Produce structured findings + remediation guidance

Trigger Phrases

"pentest this Android app" • "security test the APK" • "bypass SSL pinning on <app>" • "extract data from <app>" • "test Android authentication" • "fuzz Android intents" • "MASTG testing for <app>" • "mobile app security assessment"

When NOT to Use This Skill

  • iOS apps → use ios-pentest (if available) or generic mobile skill
  • Server-side API fuzzing of mobile backends → use api-security / web-pentest
  • Decompiling Android malware for IR → use malware-analysis, not this pentest-focused skill
  • Supply-chain / SCA on third-party SDKs → use sca / dependency-audit
  • Cloud backend of the mobile app → use cloud-pentest

Decision Tree

Do you have the APK or only package name?
├─ package only → get_app_info + pull_apk (parallel), then branch on protections
└─ APK on disk  → static analysis first (jadx, apktool), then dynamic
                 └─ App runs? → frida_spawn → bypass_ssl → bypass_root → proxy
                 └─ App crashes on root? → see references/troubleshooting.md (Root detection)
                 └─ TLS still not decrypted? → workflows/ssl_pinning_bypass.md Methods 2→3

What's the objective?
├─ Full assessment          → workflows/complete_assessment.md
├─ SSL pinning only         → workflows/ssl_pinning_bypass.md
├─ Auth / session           → workflows/auth_testing.md
├─ Deep links / IPC / fuzz  → workflows/deeplink_intent_testing.md
├─ Crypto audit             → workflows/crypto_analysis.md
└─ Data storage / exfil     → workflows/data_exfiltration.md

Parallelism Hints

Run concurrently (independent, same device):

  • getappinfo + pullapk + listexported_components
  • dumpdatabases + dumpsharedprefs + dumpinternalstorage + dumpexternalstorage + getlogcat
  • Multiple fridarunscript calls against the same PID (cryptohooks.js ∥ credentialhooks.js ∥ intent_monitor.js)
  • Static APK analysis (decompile, secrets scan) ∥ dynamic runtime hooks

Must be sequential:

  • fridaspawnfridabypasssslfridabypass_root (scripts need the PID and must attach before the app finishes its protection init)
  • setup_proxy before any traffic-capture or network workflow
  • installcacert before setup_proxy on a fresh device
  • capturetrafficstart → drive app → capturetrafficstop

Sub-Agent Delegation

  • Spawn a static-analysis sub-agent on the pulled APK (jadx decompile → secrets grep → manifest review → native-lib inventory) while the main agent runs dynamic Frida hooks. Rejoin before reporting.
  • Spawn a per-component sub-agent when fuzzing many exported components: one agent per activity/provider/service batch; each owns its own Frida PID and logcat filter. Avoids cross-contamination of hook state.
  • Spawn a reporting sub-agent to normalise findings into schemas/finding.json and render templates once the main testing pass completes.

Reasoning Budget

  • Extended thinking (high): triaging findings across evidence, classifying severity, writing CWE/MASTG mappings, designing custom Frida hooks for obfuscated classes, reverse-engineering native SSL-pinning paths.
  • Low / no extended thinking: repetitive Frida hook runs, standard dumps, canned payload fuzzing, applying the universal SSL bypass, invoking known MCP tool sequences.
  • Don't burn tokens reasoning about which universal bypass to try first — just run fridabypassssl(pid) and escalate on failure.

Multimodal Hooks

  • Use Mobile MCP getscreenstate + screenshot for UI-driven auth flows (biometric prompts, OAuth redirects, MFA steps). Attach screenshots as evidence.screenshot on the finding.
  • Capture a screenshot at the point of bypass (e.g., authenticated home screen after biometric spoof) — visual evidence strengthens severity justification.
  • For deep-link repros, screenshot the resulting activity to prove the unintended state is reachable.

Structured Output

All findings MUST validate against [schemas/finding.json](schemas/finding.json). Android-specific required/common fields: packagename, appversion, targetsdk, deviceid, fridapid, mastgid, masvscontrol, component.{type,classname,exported}, evidence.{logcat,frida_output,screenshot,pcap}.

Workflow Index

Workflow When
[workflows/completeassessment.md](workflows/completeassessment.md) End-to-end MASTG pass
[workflows/sslpinningbypass.md](workflows/sslpinningbypass.md) Enable TLS interception
[workflows/authtesting.md](workflows/authtesting.md) Login, session, biometric, JWT
[workflows/deeplinkintenttesting.md](workflows/deeplinkintenttesting.md) IPC fuzz, deep links, providers
[workflows/cryptoanalysis.md](workflows/cryptoanalysis.md) Weak algos, hardcoded keys, keystore
[workflows/dataexfiltration.md](workflows/dataexfiltration.md) Local storage + logcat leakage

Methodology Index

Document Coverage
[methodology/recon.md](methodology/recon.md) Info gathering, attack-surface map
[methodology/staticanalysis.md](methodology/staticanalysis.md) APK/smali/secrets review
[methodology/dynamicanalysis.md](methodology/dynamicanalysis.md) Runtime hooking, instrumentation
[methodology/networktesting.md](methodology/networktesting.md) Traffic, API, TLS verification
[methodology/datastorage.md](methodology/datastorage.md) Local storage, DBs, file perms
[methodology/cryptotesting.md](methodology/cryptotesting.md) Encryption and key management
[methodology/authtesting.md](methodology/authtesting.md) Auth, session, biometric
[methodology/clientsideinjection.md](methodology/clientsideinjection.md) WebViews, deep links, providers

Payloads Index

File Use
[payloads/intentinjection.txt](payloads/intentinjection.txt) Intent/IPC fuzz inputs
[payloads/pathtraversal.txt](payloads/pathtraversal.txt) File/provider path escapes
[payloads/sqlinjection.txt](payloads/sqlinjection.txt) Content provider SQLi
[payloads/xsspayloads.txt](payloads/xsspayloads.txt) WebView XSS
[payloads/xxepayloads.txt](payloads/xxepayloads.txt) XML parsers in-app

Examples Index

Example Scenario
[examples/newassessment.md](examples/newassessment.md) Kickoff blueprint for a new target
[examples/datastorageinvestigation.md](examples/datastorageinvestigation.md) Enumerating local sensitive data
[examples/authbypass.md](examples/authbypass.md) Biometric / session / JWT bypass

References Index

Document Coverage
[references/owaspmobiletop10.md](references/owaspmobiletop10.md) OWASP Mobile Top 10 mapping
[references/androidsecuritychecklist.md](references/androidsecuritychecklist.md) Testing checklist
[references/fridasnippets.md](references/fridasnippets.md) Reusable Frida one-liners
[references/troubleshooting.md](references/troubleshooting.md) Frida / SSL / root / ADB / SQLCipher fixes
[references/bountypatterns20242026.md](references/bountypatterns20242026.md) Post-2023 bounty TTPs (deep-link hijack / App-Links bypass, WebView deep-link XSS, unprotected broadcast-receiver leakage)

Checklists

File Purpose
[checklists/owaspmastgfull.md](checklists/owaspmastgfull.md) Full MASTG compliance
[checklists/quickwins.md](checklists/quickwins.md) Fast-vuln sweep
[checklists/preengagement.md](checklists/preengagement.md) Setup verification
[checklists/reportitems.md](checklists/reportitems.md) Report completeness

Templates

Template Purpose
[templates/findingtemplate.md](templates/findingtemplate.md) Per-finding doc
[templates/executivesummary.md](templates/executivesummary.md) Management summary
[templates/technicalreport.md](templates/technicalreport.md) Full technical report
[templates/remediationguide.md](templates/remediationguide.md) Developer-facing fixes

MCP Tool Reference

Device interaction

Tool Purpose
getscreenstate() Current screen / UI tree
tapelement(x,y) / longpress(x,y) Tap / long-press
input_text(text) Type into focused field
press_key(keycode) BACK=4 HOME=3 ENTER=66
swipe(x1,y1,x2,y2) Scroll, pattern unlock

Frida instrumentation

Tool Purpose
fridaspawn(pkg) / fridaattach(pkg) Start or attach
fridarunscript(pid, script) Load JS hooks
fridabypassssl(pid) / fridabypassroot(pid) Universal bypasses
fridahookmethod(pid, class, method) Trace a single method
fridatracecrypto(pid) / fridadumpcredentials(pid) Canned traces
fridaenumerateclasses(pid, pattern) Class discovery under obfuscation
fridamemorysearch(pid, pattern) Find secrets / keys in process memory

Network

Tool Purpose
setupproxy(device, host, port) / clearproxy(device) Proxy wiring
installcacert(device, path) Trust Burp CA (system store)
capturetrafficstart(pkg) / capturetrafficstop() PCAP

Data extraction

Tool Purpose
dumpdatabases(pkg) / dumpshared_prefs(pkg) SQLite + prefs
dumpinternalstorage(pkg) / dumpexternalstorage(pkg) Files
get_logcat(pkg) Package-filtered logs

Components

Tool Purpose
listexportedcomponents(pkg) Attack surface
launchactivity(pkg, activity, extras, datauri) Deep link / intent
send_broadcast(action, extras) Broadcast injection
start_service(pkg, service, extras) Service abuse
querycontentprovider(uri) Provider SQLi / leakage
fuzzintentextra(pkg, comp, key, payloads) Automated fuzz

App management

Tool Purpose
installapk(path) / uninstallapp(pkg) Deploy / remove
clearappdata(pkg) Fresh state
getappinfo(pkg) Metadata, permissions, SDK
listinstalledapps() / pull_apk(pkg) Discovery / extraction

Frida Script Library (scripts/)

sslpinningbypass.js, rootbypass.js, cryptohooks.js, credentialhooks.js, networkhooks.js, biometricbypass.js, antitamperingbypass.js, intentmonitor.js, webviewhooks.js, dynamicdexhooks.js, keystorehooks.js, method_tracer.js.

Tools

Tool Purpose Install
ADB Device comms apt install adb (Android SDK platform-tools)
Frida / frida-tools Dynamic instrumentation pip install frida-tools (≥16.4)
Objection Mobile exploration pip install objection
apktool APK decompile apt install apktool (≥2.9)
jadx Java decompile github.com/skylot/jadx releases (≥1.5)
Burp Suite Traffic interception portswigger.net
Android Studio Emulator, SDK developer.android.com

Setup scripts: setup/setuppentestenv.sh, setup/setupphysicaldevice.sh, setup/setupemulator.py, setup/fridaservermanager.py, setup/burpcertinstaller.sh, setup/checkenvironment.py.

MCP servers expected: android-pentest (Android Dynamic MCP), mobile-mcp (mobile-next for UI). Configure in ~/.claude/mcp.json.

Related Resources

Last Validated

2026-04 — minimum versions: Frida ≥16.4, apktool ≥2.9, jadx ≥1.5, Android platform-tools ≥35.