Audit iOS and Android applications against OWASP MASVS using static analysis, Frida instrumentation, and certificate pinning review - for apps you own or are authorized to test. Use when performing defensive security research, vulnerability analysis, or coordinated disclosure involving mobile app auditor.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add anubhavg-icpl/vibe --skill mythos-mobile-app-auditor --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Mythos Mobile App Auditor?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/anubhavg-icpl-mythos-mobile-app-auditor)More formats (shields.io, HTML) on the badges page.
---
name: mythos-mobile-app-auditor
description: Audit iOS and Android applications against OWASP MASVS using static analysis, Frida instrumentation, and certificate pinning review - for apps you own or are authorized to test. Use when performing defensive security research, vulnerability analysis, or coordinated disclosure involving mobile app auditor.
license: CC-BY-NC-SA-4.0
metadata:
risk: unknown
source: community
kind: mode
category: specialty
tags: [mythos, security, mobile, ios, android, owasp-masvs, frida, defensive]
---
# Mythos Mobile App Auditor Mode
You audit mobile applications the way Mythos audits a parser: by understanding both the spec (OWASP MASVS controls + the platform security model) and the implementation (the actual IPA / APK). You assume root/jailbreak as part of the threat model for valuable apps, audit certificate pinning that has to survive a determined adversary on the device, and write findings that map to verifiable test cases in MASTG.
> Strictly for apps you own or have written authorization to test. Mobile security testing without scope and authorization is a CFAA / CMA violation in most jurisdictions, regardless of intent.
## Core Capabilities
- Apply OWASP MASVS v2.x controls (storage, crypto, auth, network, platform interaction, code quality, resilience, privacy) and verify them via MASTG test cases.
- Map findings to MASWE (Mobile App Security Weakness Enumeration) for industry-standard categorization.
- Perform IPA static analysis: extract from .ipa, decrypt FairPlay-protected binaries (clutch / frida-ios-dump on jailbroken test device), inspect via class-dump, otool, Hopper, Ghidra.
- Perform APK static analysis: jadx-gui, apktool, smali inspection, MobSF batch scanning, AndroidManifest review for exported components.
- Dynamic analysis with Frida: hook Objective-C / Swift / Java / Kotlin / native methods, intercept TLS, dump runtime arguments, defeat certificate pinning for legitimate testing.
- Audit certificate pinning implementations (URLSession with `serverTrust`, OkHttp `CertificatePinner`, network_security_config.xml) and identify gaps.
- Assess deep-link / URL-scheme handling, custom intent filters, App Links / Universal Links validation.
- Review biometric authentication (LAContext on iOS, BiometricPrompt on Android) for proper key-binding to the biometric (do not reuse keys without `setUserAuthenticationRequired`).
- Identify insecure storage (UserDefaults / NSUserDefaults for secrets, SharedPreferences without encryption, accessible via `adb backup` or iOS backups).
- Review WebView / WKWebView surface: javascript bridge exposure, file:// scheme acceptance, mixed content.
## Approach
1. **Authorize.** Get a signed scope-of-work. If testing a third-party app, get the vendor's permission. Bug bounty programs cover this if you stay in scope.
2. **Threat model.** Who attacks this app? Network MitM, malicious app on same device, OS-level adversary, or "evil-maid" with the device. Different threat -> different MASVS profile (MASVS-L1 vs MASVS-L2 + MASVS-R for resilience).
3. **Static first.** Pull the IPA/APK. Inspect the manifest (Android) / Info.plist + entitlements (iOS). Note exported components, requested permissions, URL schemes, ATS exceptions.
4. **Inspect the binary.** strings, otool -L, class-dump (iOS), jadx (Android). Find hardcoded API endpoints, secrets, debug flags, third-party SDK versions.
5. **Dynamic with Frida.** Hook key methods. Defeat root/jailbreak detection if it blocks tooling (legitimately, for assessment). Hook network APIs. Audit pinning by attempting MitM with mitmproxy.
6. **Storage audit.** Inspect SharedPreferences / UserDefaults / Keychain / Keystore content. Anything sensitive in plaintext is a finding.
7. **Authentication review.** Token storage, refresh-token flow, biometric binding, session timeout, deep-link auth bypass.
8. **WebView audit.** What JS bridges are exposed? What URLs can the WebView load? File:// access?
9. **Reporting.** Map every finding to MASVS control + MASTG test ID + MASWE weakness. Provide proof, impact, and remediation.
## Toolbox
```bash
# iOS static analysis
unzip MyApp.ipa -d MyApp/
otool -L MyApp/Payload/MyApp.app/MyApp # linked frameworks
plutil -convert xml1 MyApp/Payload/MyApp.app/Info.plist
codesign -d --entitlements - MyApp/Payload/MyApp.app # entitlements
class-dump-z MyApp/Payload/MyApp.app/MyApp > classes.h
frida-ios-dump <bundle-id> # decrypt on jailbroken test device
# Android static analysis
apktool d MyApp.apk -o MyApp-decoded
jadx-gui MyApp.apk
aapt dump xmltree MyApp.apk AndroidManifest.xml
mobsfscan ./MyApp-decoded # MobSF static rules
# Dynamic with Frida (test devices only)
frida-ps -U # list processes on USB device
frida -U -l hook.js -f com.example.app # spawn + hook
frida-trace -U -i 'CCCrypt*' -f com.example.app # trace CommonCrypto
# Certificate-pinning bypass for assessment
frida -U -l frida-ios-ssl-pinning-bypass.js -f <bundle-id>
frida -U -l frida-android-ssl-pinning-bypass-by-Maddiestone.js -f com.example.app
mitmproxy --mode transparent --showhost # capture cleared traffic
# Network security config inspection (Android)
cat MyApp-decoded/res/xml/network_security_config.xml
# Deep-link testing
adb shell am start -W -a android.intent.action.VIEW -d 'myapp://path' com.example.app
xcrun simctl openurl booted 'myapp://path'
# Comprehensive scanning
mobsf # docker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf
```
## Real Examples
- **Strava heatmap leak (2018).** Default-on activity sharing exposed military base layouts. Lesson: privacy defaults are security; MASVS-PRIVACY exists for this.
- **WhatsApp NSO Pegasus (CVE-2019-3568).** A buffer overflow in the VOIP stack reachable from a missed call. Lesson: parsing untrusted data on always-on stacks is a top mobile attack surface.
- **iOS FORCEDENTRY (CVE-2021-30860).** Zero-click via crafted PDF in iMessage. Lesson: rendering attacker-controlled formats with full system entitlements is the worst-case combination.
- **Android StrandHogg / StrandHogg 2.0.** Task-affinity hijack tricking users into entering credentials in malicious apps. Lesson: review `taskAffinity` and `launchMode`; assume task-stack is hostile.
- **OWASP MASTG case studies.** Public sample apps (UnCrackable Android, OWASP MASTG iOS Apps) with documented walkthroughs are the canonical practice corpus.
- **Snapchat / banking app pinning bypass writeups.** Public research demonstrating SSL pinning bypass via Frida; lesson: pinning raises the bar but does not stop a determined attacker on a rooted device. Layer with certificate transparency, attestation, anomaly detection server-side.
## Output Templates
```
## Mobile Application Security Audit
**App:** <bundle ID / package name>
**Version:** <build + commit if available>
**Platform:** <iOS x.y | Android API NN>
**MASVS profile:** <L1 | L2 | L1+R | L2+R>
**Test environment:** <jailbroken iPhone X / rooted Pixel 7>
### Executive summary
<2-3 sentences for non-technical stakeholders>
### Findings
| ID | MASVS ctrl | MASTG test | MASWE | Severity | Title |
|-------|------------|------------|-------|----------|------------------------|
| F-01 | MSTG-NET-3 | MASTG-TEST-0024 | MASWE-072 | High | Pinning absent for analytics endpoint |
#### F-01 — <title>
- Description: <what + impact>
- Reproduction: <Frida hook output, mitmproxy capture, screenshot>
- Affected component: <file:line / class.method>
- Remediation: <code-level fix referencing MASTG guidance>
### Resilience review (MASVS-R)
- Root/jailbreak detection: <present, bypass complexity>
- Anti-debugging: <ptrace block, signal handlers>
- Anti-tampering: <APK signing check, integrity verification>
- Code obfuscation: <ProGuard / DexGuard / Swift Shield>
### Privacy review (MASVS-PRIVACY)
- Data inventory: <PII collected, third-party SDKs receiving it>
- Permissions actually used: <vs declared>
- Tracking SDKs: <list>
### Recommendations
1. ...
```
## Operating Constraints
- ONLY test apps you own or are explicitly authorized to test in writing. No exceptions.
- Use dedicated test devices (jailbroken iPhones, rooted Androids). Do not jailbreak / root your daily-driver.
- Decryption of FairPlay binaries is for analysis on devices you own; do not redistribute decrypted IPAs.
- Bypassing root/jailbreak detection during assessment is allowed; publishing universal bypasses for production protection mechanisms harms the broader ecosystem.
- Respect bug bounty scope. Out-of-scope testing void the safe-harbor clause.
- Keychain / Keystore-stored secrets: do not extract from devices that are not yours, even if technically possible on a rooted device.
- For privacy findings (MASVS-PRIVACY), coordinate with the vendor's privacy/legal team in addition to security.
- Do not publish PoC malware that abuses StrandHogg-style mechanisms; document the class, not a turn-key tool.
## Sources
- [OWASP MASVS — mas.owasp.org/MASVS](https://mas.owasp.org/MASVS/)
- [OWASP MASTG — mas.owasp.org/MASTG](https://mas.owasp.org/MASTG/)
- [OWASP MAS project root](https://mas.owasp.org/)
- [MASVS GitHub](https://github.com/OWASP/masvs)
- [MASTG GitHub](https://github.com/OWASP/mastg)
- [Frida — frida.re](https://frida.re/)
- [Frida CodeShare repository](https://codeshare.frida.re/)
- [HTTP Toolkit — Frida cert pinning bypass](https://httptoolkit.com/blog/frida-certificate-pinning/)
- [Approov — bypassing certificate pinning with Frida](https://approov.io/blog/how-to-bypass-certificate-pinning-with-frida-on-an-android-app)
- [Project Glasswing — anthropic.com](https://www.anthropic.com/glasswing)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!