Join our Newsletter — 33% off our NHI Course

How should security teams review React Native apps when source code is not available?

They should treat the shipped binary as the review target and use tooling that can recover structured logic, not just disassemble instructions. The goal is to understand control flow, module boundaries, and embedded dependencies well enough to make security decisions on the artifact that actually ships.

Why This Matters for Security Teams

When source code is unavailable, the security team is reviewing the same artifact that attackers, fraud operators, and reverse engineers can inspect first: the shipped app binary. That changes the task from source review to binary assurance. For React Native apps, the risk is not limited to native libraries. Business logic, API routes, feature flags, and secrets may be embedded in JavaScript bundles, configuration files, or runtime assets that are easy to overlook if the review assumes a traditional mobile codebase.

That distinction matters because a binary-only review often reveals issues that static source-based checklists miss, such as hardcoded endpoints, insecure debug toggles, weak certificate validation, or unintended dependency exposure. Current guidance from NIST SP 800-53 Rev 5 Security and Privacy Controls supports reviewing controls at the system boundary, not just at the development boundary, which is the right mindset here. Teams also need to account for how React Native bridges JavaScript and native components, because weaknesses in either layer can undermine the whole app.

In practice, many security teams encounter mobile exposure only after a release has already shipped with recoverable logic, rather than through intentional pre-release binary assurance.

How It Works in Practice

A practical review starts by extracting what the app actually contains. Security teams should unpack the APK or IPA, identify the JavaScript bundle, inspect embedded assets, enumerate bundled libraries, and map the native-to-JavaScript bridge. The point is not to “read every line” of recovered code, but to reconstruct enough structure to answer security questions about authentication, session handling, data flow, and external dependencies.

For a React Native app, useful checkpoints usually include:

  • Locating the JavaScript bundle and checking whether readable business logic, routes, or feature gates are exposed.
  • Reviewing native modules for access to camera, location, secure storage, biometrics, clipboard, and networking.
  • Searching for secrets, test URLs, debug statements, or environment markers that should never ship.
  • Verifying that certificate validation, transport security, and token handling are enforced in the runtime path, not just in developer documentation.
  • Enumerating third-party dependencies and looking for outdated or vulnerable packages in the delivered artifact.

This is also where control mapping matters. A binary review should be aligned to the review and testing expectations of OWASP Mobile Top 10, even when the source is unavailable, because the most important findings are often configuration and exposure issues rather than pure code defects. Teams should supplement reverse engineering with dynamic analysis, traffic inspection, and device-level testing so they can validate what the app actually does under normal and adversarial conditions. Where mobile apps carry regulated data or privileged access paths, the review should also connect back to identity controls, because token misuse and session theft often matter more than the UI layer itself.

These controls tend to break down when the app depends heavily on runtime-generated code, remote configuration, or aggressive anti-tamper protections because the security team can no longer rely on a stable artifact for consistent analysis.

Common Variations and Edge Cases

Tighter binary review often increases analysis time and tooling overhead, requiring organisations to balance depth against release velocity and app refresh cadence. That tradeoff becomes more visible when the app is frequently rebuilt, obfuscated, or split across multiple delivery tracks, because the review team may be examining a moving target rather than a single signed binary.

Best practice is evolving for heavily obfuscated React Native builds. Obfuscation can slow static analysis, but it does not replace secure engineering. If the team cannot recover meaningful logic, that is itself a finding, because it limits assurance and can conceal risky behaviours. In those cases, security teams should lean more on runtime validation, dependency tracing, and controlled instrumented testing.

Edge cases also arise when the app uses strong anti-debugging, remote feature flagging, or server-driven UI. Those designs may be legitimate, but they can reduce visibility and complicate security review. The right response is not to exempt the app from review, but to shift emphasis toward testable runtime behaviour, backend authorization checks, and update integrity. In regulated environments, teams should document the limitations of binary-only assurance and treat gaps in visibility as a governance issue, not just a tooling issue.

For mobile applications that handle identity tokens, payment data, or sensitive personal data, that documentation should be part of the broader control story alongside NIST SP 800-53 Rev 5 Security and Privacy Controls, because auditability depends on what can be shown to exist in the shipped build, not what was intended in development.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

OWASP Agentic AI Top 10 address the attack and risk surface, while NIST CSF 2.0, NIST SP 800-53 Rev 5, NIST AI RMF and NIST AI 600-1 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
NIST CSF 2.0 PR.DS Binary review helps validate data protection in the shipped app.
NIST SP 800-53 Rev 5 SA-11 Security testing applies to released artifacts when source is missing.
OWASP Agentic AI Top 10 Not directly applicable unless the app embeds agentic AI features.
NIST AI RMF Relevant only if the mobile app includes AI-powered functions.
NIST AI 600-1 Applies when the app bundles GenAI functionality or prompts.

If AI agents are embedded, review runtime tool access and prompt/data exposure separately.