Skip to main content
Status: Stable Version: 1.0.0 Author: community Tags: mobile, android, apk, static-analysis, secrets, recon
Installation

Summary

Run a complete static analysis of an Android APK file using Linux command-line tools — no emulator, no device, no dynamic instrumentation required.
  • Phase 0 decompiles the APK twice: with apktool for smali, decoded resources, and AndroidManifest.xml, and with jadx for readable Java/Kotlin source — giving the agent full visibility at both bytecode and source level
  • Phase 1 collects baseline APK info: package name, version, SDK targets, DEX count, native libraries, and signing certificate details
  • Phase 2 audits the AndroidManifest.xml for dangerous flags (debuggable, allowBackup, usesCleartextTraffic), exported components without permissions, dangerous permission declarations, deep link schemes, and the network security config
  • Phase 3 runs a 10-section secret sweep across source and resources using ripgrep patterns covering AWS, GCP, Firebase, Stripe, Twilio, GitHub, Slack, Discord, generic credentials, PEM keys, database connection strings, and native library strings
  • Phase 4 maps the full network surface: HTTP/HTTPS URLs, WebSocket endpoints, internal IP addresses, GraphQL endpoints, deep link schemes, and Retrofit/OkHttp base URLs — grouped by production, staging, third-party, and internal
  • Phase 5 fingerprints the tech stack: cross-platform frameworks (Flutter, React Native, Xamarin, Cordova), networking (OkHttp, Retrofit, Volley, Ktor), auth (Firebase, Auth0, Okta, Cognito), storage (Room, Realm, SQLite), analytics and crash reporting, and payment SDKs
  • Phase 6 detects vulnerability patterns across WebView misconfigurations, weak cryptography, insecure data storage, SSL/TLS bypass, intent security issues, tapjacking, and debug artifacts — every finding tagged to OWASP MASVS v2 and OWASP Mobile Top 10 (2024)
  • Phase 7 produces a structured Markdown report with a risk summary table, per-finding evidence and remediation, endpoint inventory, stack table, and top 3 prioritized actions

SKILL.md file

Droid Recon

Full static analysis of an Android APK using Linux tools. Decompile, scan, fingerprint, and report — in one structured pass.

What Does It Check?

In scope:
  • AndroidManifest.xml — exported components, dangerous flags, permissions, network security config
  • Hardcoded secrets — API keys, cloud credentials, private keys, OAuth tokens, database strings, webhook URLs
  • Network surface — all HTTP/HTTPS/WebSocket endpoints, internal IPs, deep link schemes, GraphQL
  • Tech stack — frameworks, networking libs, auth providers, storage engines, analytics, payment SDKs
  • Vulnerability patterns — WebView RCE, weak crypto (MD5/SHA1/AES-ECB), SSL bypass, insecure storage, logging PII, dynamic code loading, tapjacking
  • Native libraries — strings extraction from .so files for embedded secrets or protocol references
Out of scope:
  • Dynamic analysis, runtime hooking, or emulator-based testing — use dedicated mobile dynamic analysis tooling for those
  • Network traffic interception — static analysis only

How It Works

Phase 0: DecompileTwo decompilers run in sequence to maximize coverage:
Phase 1: APK Info & CertificateExtracts package name, version, min/target SDK, DEX count, native library architectures, and signing certificate issuer. Flags debug certificates and self-signed certs.Phase 2: Manifest Analysis
Each exported component is cross-checked for a declared android:permission. Exported without permission = reachable by any app on the device.Phase 3: Secret HuntingSearches run against both jadx_out/ and apktool_out/ using the full pattern list in references/secret-patterns.md:
Native .so libraries are also scanned with strings for embedded secrets and endpoint references.Phase 4: Endpoint & Network Surface Mapping
URLs are categorized as production, staging/dev, third-party services, or internal RFC1918 addresses.Phase 5: Stack Fingerprinting
Phase 6: Vulnerability PatternsEvery finding is tagged to MASVS v2 and OWASP Mobile Top 10 (2024):

Output

The skill produces a full Markdown report structured as:Example secrets table:

Known Limitations

  • Heavily obfuscated APKs (ProGuard/R8 with aggressive settings) may produce incomplete Java source from jadx — smali output from apktool is always available as fallback
  • Flutter APKs store most logic in a compiled binary (libapp.so) — source-level analysis is limited; the skill extracts what it can via strings
  • React Native APKs bundle logic in index.android.bundle — the skill scans it directly but minified code reduces readability
  • Dynamic code loading (DexClassLoader) means some code paths are invisible to static analysis

Benchmark Results

Tested on claude-sonnet-4-6 via Claude Code CLI. Same APK (DIVA — Damn Insecure and Vulnerable App), same model, same prompt. The only variable is whether the skill is loaded.

js-analyzer

JavaScript analysis for secrets, endpoints, sinks, and prototype pollution

finding-writer

Convert raw pentest notes into structured audit findings ready for reporting

nuclei-template-writer

Write production-ready Nuclei templates from vulnerability descriptions