Imported from cyberful/cyberful (
cyberful/builtin/skills/assess-mobile-security/SKILL.md). Install upstream withnpx skills add cyberful/cyberful --skill assess-mobile-security. Copyright stays with the author.
Assess Mobile Security
Establish the Mobile Trust Model
Define app identifiers, signing identities, distribution channel, minimum and target OS, device integrity assumptions, user roles, backend environments, third-party SDKs, deep-link domains, extensions, companion apps, and sensitive capabilities.
Keep client and backend boundaries separate. A mobile control can raise extraction or tampering cost, but server authorization must remain correct when the client is modified.
Use MASVS and MASTG as coverage indexes, then adapt tests to the application's actual architecture. Read android-review.md, ios-review.md, and mobile-network-storage-resilience.md as applicable.
Correlate Static and Dynamic Evidence
- Inventory packages, components, entitlements, permissions, URL handlers, SDKs, native libraries, and build configuration.
- Trace sensitive data and credentials through storage, logs, IPC, memory, network, backups, notifications, and screenshots.
- Exercise authentication, enrollment, device binding, recovery, offline state, and account switching.
- Observe actual runtime behavior under normal, instrumented, proxied, background, locked, restored, and upgraded states.
- Replay the same API paths outside the app to validate server-side controls.
Static declarations and runtime behavior routinely diverge because of feature flags, remote config, SDK initialization, OS version, and build flavor.
Test Platform Boundaries
Review exported components, deep and universal links, pasteboard or clipboard, file providers, content providers, app extensions, intents, custom URL schemes, WebViews, JavaScript bridges, local servers, push notifications, widgets, and cross-app authentication brokers.
For each entry point, determine who can invoke it, which identity it uses, what inputs select resources or actions, and whether invocation works while locked, logged out, or in another tenant.
Evaluate Resilience Against the Threat Model
Review signing, update channel, anti-tamper, root or jailbreak detection, debugger and instrumentation resistance, integrity APIs, obfuscation, and secret extraction only against explicitly required resilience goals. Treat bypass resistance as layered cost, not as a server-side access control.
Report End-to-End Impact
Document build and OS, device state, static location, runtime sequence, backend request, platform boundary, data or action obtained, and whether the condition survives a modified client. Map findings to the applicable MASVS control family without letting the taxonomy replace evidence.