Expertise / 07

Mobile app security testing

Follow the boundaries between the mobile app, the device, external entry points and the APIs that authorize real actions.

Discuss this engagement ↗See the scope ↓

Prepare scope and inputs →Inspect an illustrative finding →

External links and SDK inputs enter the mobile app's current session. The server independently checks identity, tenant and action before returning a protected record. Local Keychain or Keystore controls protect device-held material but do not replace server authorization.
A trusted app still needs server authorization.

Review device, link, session and API boundaries separately.

Original Web3Sec diagram. On small screens, scroll the figure or open the full-size version.

Who this is for

A clear question.
A useful outcome.

Teams preparing an Android or iOS release, changing authentication or deep links, adding an SDK, or assessing how a mobile client handles sensitive data and backend authority.

A mobile assessment needs the application that users install and the services it can reach. A locked screen, biometric prompt or hidden menu does not by itself establish server-side authorization. The review follows sensitive data through storage, network requests, platform integration and session lifecycle, then connects reachable behavior to realistic prerequisites. Native apps and hybrid frameworks such as Flutter or React Native can be scoped according to their platform code, plugins, WebViews and API dependencies; available device, OS and specialist coverage is agreed before work. Relevant OWASP MASVS requirements and MASTG techniques can organize coverage without turning a bounded assessment into a certification claim.

What you should leave with

  • Understand which client, platform or API boundaries can expose sensitive data or enable an unintended operation within the agreed test conditions.
  • Give mobile and backend engineers evidence that identifies whether the corrective change belongs in the app, native integration, server or release configuration.
  • Make the tested builds, devices, OS versions, access model and important exclusions visible to the release decision-maker.

Review boundary

What the work can cover.

01

App and API authority

login and recovery, session and refresh-token lifecycle, account switching, logout, sensitive actions, device binding and authorization decisions that must be enforced by the server.

02

Local data and key handling

files, databases, preferences, logs, caches, backups, clipboard, notifications and screenshots where relevant; Keychain or Android Keystore use, access conditions and the limits of client-held secrets.

03

Platform entry points

Android exported components, intents and content providers; custom URL schemes, Android App Links and iOS universal links; parameter validation, authenticated state and sensitive actions reached without the normal UI flow.

04

Network and embedded content

TLS and server-trust configuration, environment endpoints, WebViews, native bridges and the authority granted to embedded or remotely supplied content.

05

Release and dependency behavior

manifests or entitlements, debuggability, signing and distribution configuration relevant to the supplied build, native plugins, third-party SDK data flows and differences between test and intended release artifacts.

From context to evidence

How the engagement works.

01

Pin builds, accounts and platform coverage

Agree on Android and/or iOS artifacts, version and build identifiers, device and OS coverage, distribution route, source-assisted access if available, authorized APIs, test accounts, representative roles and synthetic data. Provide architecture, sensitive workflows, SDK inventory and a technical stop contact. Confirm any instrumentation, proxying or special test-build requirements without requesting signing private keys or production credentials.

02

Examine the installed behavior and connected controls

Combine relevant static review with controlled device and network observations. Exercise the agreed data, session and external-entry workflows, then validate backend boundaries with authorized accounts. Record whether a result requires a stock, modified or instrumented environment and whether a debug-only behavior is present in the intended release. Tool alerts are leads to validate, not findings on their own.

03

Explain fixes and retest the right artifact

Report prerequisites, affected app and API paths, sanitized evidence, impact and remediation direction. Distinguish demonstrated exposure from a hypothetical consequence. For an agreed retest, identify the patched app build, relevant backend revision and device conditions, verify legitimate workflows alongside denied cases and record remaining exclusions.

Concrete outputs

Deliverables you can use.

Examples below are illustrative. They describe possible work products, not past client findings or promised results.

Mobile boundary and coverage record

The app, API, platform, device and version scope with relevant requirement coverage and exclusions. Illustrative example: an Android App Link is verified for the expected domain, while the linked invoice still requires a separate tenant-authorization check.

Reproducible, bounded findings

A prioritized record of observed behavior, required conditions and the responsible control layer. Illustrative example: a synthetic session token remains in an application log after logout, or an authorized test account can reach another test tenant’s record through the API.

Release and remediation review

Fix status tied to the examined app build and server behavior, with positive and negative verification cases. Differences between an instrumented test package and the intended release are identified rather than silently treated as equivalent.

Scope and responsibility

Boundaries worth agreeing early.

  • Testing requires explicit authority for the app, accounts, APIs, devices and techniques in scope. Store or platform infrastructure, unrelated SDK providers and real users are excluded unless separately authorized.
  • Physical device extraction, baseband or OS exploit research, unrestricted malware analysis, destructive actions and live-fund transactions are not implied by a mobile app assessment. Any specialist requirements are scoped explicitly.
  • A bounded test does not prove the absence of mobile vulnerabilities, establish a MASVS certification, guarantee app-store approval or substitute for legal privacy review. SDK data-flow observations are limited to the tested configuration and journeys.
  • Use synthetic data and agreed test identities. Private signing keys, seed phrases, personal device backups and unrestricted production credentials are not routine review inputs.

Before sharing code, customer information, or incident artifacts, agree on confidentiality and a private transfer channel. Keep the initial message high level.

Before we begin

Common questions.

Do you test Android and iOS, including Flutter or React Native?

Either or both platforms can be discussed. The proposal identifies the supplied artifacts, framework and native plugins, device and OS coverage, access needs and available specialist depth. Shared application code does not remove platform-specific behavior from the scope decision.

Is a mobile app test different from testing its APIs?

Yes. Local storage, platform components, deep links, WebViews and release settings need client-side examination, while permissions over accounts and records still need server-side checks. The scope should say which API and backend paths are tested rather than assuming one assessment automatically covers both.

Do you need source code or a special test build?

Source access can improve understanding, and an installable build is needed for agreed runtime testing. Distribution, instrumentation and network-observation requirements are confirmed during scoping. Any special test build is compared with the intended release, and differences are recorded as limitations.

Does the report certify MASVS compliance?

No. Relevant MASVS requirements and MASTG techniques may be mapped to the agreed coverage, with tested, excluded and unassessed areas made explicit. The report describes evidence for the supplied builds and conditions, not a certification or guarantee about every future release.

Go a little deeper

Practical reading.

The approach behind the work →

Connected work

Related services.

A good place to start

Bring the difficult
security question.

A launch, an architecture decision, a suspicious signal, or something that needs explaining. Let’s define the work it needs.

Talk to Raiders