Skip to content

OWASP MASTG Report Reference

Variables Reference

General

Variable Description
{{Year}} The current year
{{CreatedDate}}

Organization

Variable Description
{{OrganizationName}} The name of the organization.
{{OrganizationEmail}} The email of the organization.
{{OrganizationPhone}} The phone of the organization.
{{{OrganizationDescription}}} The description of the organization.
{{OrganizationContactName}} The contact of the organization.
{{OrganizationUrl}} The url of the organization.

Client

Variable Description
{{ClientName}} The name of the client.
{{ClientEmail}} The email of the client.
{{ClientPhone}} The phone of the client.
{{{ClientDescription}}} The description of the client.
{{ClientContactName}} The contact of the client.
{{ClientUrl}} The url of the client.

Targets

Variable Description
{{TargetName}} The name of the target.
{{TargetDescription}} The description of the target.
{{TargetType}} The type of the target.

Android

Storage

Storage Test Status Notes
MASVS-STORAGE-1 The app securely stores sensitive data. {{Storage1Status}} {{Storage1Note}}
Testing Local Storage for Sensitive Data {{Storage1Status1}} {{Storage1Note1}}
Testing the Device-Access-Security Policy {{Storage1Status2}} {{Storage1Note2}}
MASVS-STORAGE-2 The app prevents leakage of sensitive data. {{Storage2Status}} {{Storage2Note}}
Testing Memory for Sensitive Data {{Storage2Status1}} {{Storage2Note1}}
Testing Backups for Sensitive Data {{Storage2Status2}} {{Storage2Note2}}
Testing Logs for Sensitive Data {{Storage2Status3}} {{Storage2Note3}}
Determining Whether Sensitive Data Is Shared with Third Parties via Notifications {{Storage2Status4}} {{Storage2Note4}}
Determining Whether the Keyboard Cache Is Disabled for Text Input Fields {{Storage2Status5}} {{Storage2Note5}}
Determining Whether Sensitive Data Is Shared with Third Parties via Embedded Services {{Storage2Status6}} {{Storage2Note6}}

Cryptography

Crypthography Test Status Notes
MASVS-CRYPTO-1 The app employs current strong cryptography and uses it according to industry best practices. {{Crypto1Status}} {{Crypto1Note}}
Testing Symmetric Cryptography {{Crypto1Status1}} {{Crypto1Note1}}
Testing Random Number Generation {{Crypto1Status2}} {{Crypto1Note2}}
Testing the Configuration of Cryptographic Standard Algorithms {{Crypto1Status3}} {{Crypto1Note3}}
MASVS-CRYPTO-2 The app performs key management according to industry best practices. {{Crypto2Status}} {{Crypto2Note}}
Testing the Purposes of Keys {{Crypto2Status1}} {{Crypto2Note1}}

Authentication and Authorization

Authentication & Authorization Test Status Notes
MASVS-AUTH-1 The app uses secure authentication and authorization protocols and follows the relevant best practices. {{Auth1Status}} {{Auth1Note}}
MASVS-AUTH-2 The app performs local authentication securely according to the platform best practices. {{Auth2Status}} {{Auth2Note}}
Testing Confirm Credentials {{Auth2Status1}} {{Auth2Note1}}
Testing Biometric Authentication {{Auth2Status2}} {{Auth2Note2}}
MASVS-AUTH-3 The app secures sensitive operations with additional authentication. {{Auth3Status}} {{Auth3Note}}

Network Communications

Network Communications Test Status Notes
MASVS-NETWORK-1 The app performs identity pinning for all remote endpoints under the developer's control. {{Network1Status}} {{Network1Note}}
Testing the Security Provider {{Network1Status1}} {{Network1Note1}}
Testing Data Encryption on the Network {{Network1Status2}} {{Network1Note2}}
Testing the TLS Settings {{Network1Status3}} {{Network1Note3}}
Testing Endpoint Identify Verification {{Network1Status4}} {{Network1Note4}}
MASVS-NETWORK-2 The app performs identity pinning for all remote endpoints under the developer's control. {{Network2Status}} {{Network2Note}}
Testing Custom Certificate Stores and Certificate Pinning {{Network2Status1}} {{Network2Note1}}

Platform Interaction

Platform Interaction Test Status Notes
MASVS-PLATFORM-1 The app uses IPC mechanisms securely. {{Platform1Status}} {{Platform1Note}}
Testing for App Permissions {{Platform1Status1}} {{Platform1Note1}}
Testing for Sensitive Functionality Exposure Through IPC {{Platform1Status2}} {{Platform1Note2}}
Testing Deep Links {{Platform1Status3}} {{Platform1Note3}}
Testing for Vulnerable Implementation of PendingIntent {{Platform1Status4}} {{Platform1Note4}}
Determining Whether Sensitive Stored Data Has Been Exposed via IPC Mechanisms {{Platform1Status5}} {{Platform1Note5}}
MASVS-PLATFORM-2 The app uses WebViews securely. {{Platform2Status}} {{Platform2Note}}
Testing WebView Protocol Handlers {{Platform2Status1}} {{Platform2Note1}}
Testing JavaScript Execution in WebViews {{Platform2Status2}} {{Platform2Note2}}
Testing WebViews Cleanup {{Platform2Status3}} {{Platform2Note3}}
Testing for Java Objects Exposed Through WebViews {{Platform2Status4}} {{Platform2Note4}}
MASVS-PLATFORM-3 The app uses the user interface securely. {{Platform3Status}} {{Platform3Note}}
Checking for Sensitive Data Disclosure Through the User Interface {{Platform3Status1}} {{Platform3Note1}}
Finding Sensitive Information in Auto-Generated Screenshots {{Platform3Status2}} {{Platform3Note2}}
Testing for Overlay Attacks {{Platform3Status3}} {{Platform3Note3}}

Code Quality

Code Quality Test Status Notes
MASVS-CODE-1 The app requires an up-to-date platform version. {{Code1Status}} {{Code1Note}}
MASVS-CODE-2 The app has a mechanism for enforcing app updates. {{Code2Status}} {{Code2Note}}
Testing Enforced Updating {{Code2Status1}} {{Code2Note1}}
MASVS-CODE-3 The app only uses software components without known vulnerabilities. {{Code3Status}} {{Code3Note}}
Checking for Weaknesses in Third Party Libraries {{Code3Status1}} {{Code3Note1}}
MASVS-CODE-4 The app only uses software components without known vulnerabilities. {{Code4Status}} {{Code4Note}}
Testing Object Persistence {{Code4Status1}} {{Code4Note1}}
Make Sure That Free Security Features Are Activated {{Code4Status2}} {{Code4Note2}}
Testing Local Storage for Input Validation {{Code4Status3}} {{Code4Note3}}
Testing for Injection Flaws {{Code4Status4}} {{Code4Note4}}
Testing for URL Loading in WebViews {{Code4Status5}} {{Code4Note5}}
Memory Corruption Bugs {{Code4Status6}} {{Code4Note6}}
Testing Implicit Intents {{Code4Status7}} {{Code4Note7}}

Resilience Against Reverse Engineering

Resilience against reverse Test Status Notes
MASVS-RESILIENCE-1 The app validates the integrity of the platform. {{Resilience1Status}} {{Resilience1Note}}
Testing Emulator Detection {{Resilience1Status1}} {{Resilience1Note1}}
Testing Root Detection {{Resilience1Status2}} {{Resilience1Note2}}
MASVS-RESILIENCE-2 The app implements anti-tampering mechanisms. {{Resilience2Status}} {{Resilience2Note}}
Testing Runtime Integrity Checks {{Resilience2Status1}} {{Resilience2Note1}}
Testing File Integrity Checks {{Resilience2Status2}} {{Resilience2Note2}}
Making Sure that the App is Properly Signed {{Resilience2Status3}} {{Resilience2Note3}}
MASVS-RESILIENCE-3 The app implements anti-static analysis mechanisms. {{Resilience3Status}} {{Resilience3Note}}
Testing for Debugging Symbols {{Resilience3Status1}} {{Resilience3Note1}}
Testing Obfuscation {{Resilience3Status2}} {{Resilience3Note2}}
Testing for Debugging Code and Verbose Error Logging {{Resilience3Status3}} {{Resilience3Note3}}
MASVS-RESILIENCE-4 The app implements anti-dynamic analysis techniques. {{Resilience4Status}} {{Resilience4Note}}
Testing Anti-Debugging Detection {{Resilience4Status1}} {{Resilience4Note1}}
Testing whether the App is Debuggable {{Resilience4Status2}} {{Resilience4Note2}}
Testing Reverse Engineering Tools Detection {{Resilience4Status3}} {{Resilience4Note3}}

iOS

Storage

Storage Test Status Notes
MASVS-STORAGE-1 The app securely stores sensitive data. {{Storage1Status}} {{Storage1Note}}
Testing Local Storage for Sensitive Data {{Storage1Status3}} {{Storage1Note3}}
MASVS-STORAGE-2 The app prevents leakage of sensitive data. {{Storage2Status}} {{Storage2Note}}
Finding Sensitive Data in the Keyboard Cache {{Storage2Status7}} {{Storage2Note7}}
Testing Backups for Sensitive Data {{Storage2Status8}} {{Storage2Note8}}
Checking Logs for Sensitive Data {{Storage2Status9}} {{Storage2Note9}}
Determining Whether Sensitive Data Is Shared with Third Parties {{Storage2Status10}} {{Storage2Note10}}
Testing Memory for Sensitive Data {{Storage2Status11}} {{Storage2Note11}}

Cryptography

Crypthography Test Status Notes
MASVS-CRYPTO-1 The app employs current strong cryptography and uses it according to industry best practices. {{Crypto1Status}} {{Crypto1Note}}
Verifying the Configuration of Cryptographic Standard Algorithms {{Crypto1Status4}} {{Crypto1Note4}}
Testing Random Number Generation {{Crypto1Status5}} {{Crypto1Note5}}
MASVS-CRYPTO-2 The app performs key management according to industry best practices. {{Crypto2Status}} {{Crypto2Note}}
Testing Key Management {{Crypto2Status2}} {{Crypto2Note2}}

Authentication and Authorization

Authentication & Authorization Test Status Notes
MASVS-AUTH-1 The app uses secure authentication and authorization protocols and follows the relevant best practices. {{Auth1Status}} {{Auth1Note}}
MASVS-AUTH-2 The app performs local authentication securely according to the platform best practices. {{Auth2Status}} {{Auth2Note}}
Testing Local Authentication {{Auth2Status3}} {{Auth2Note3}}
MASVS-AUTH-3 The app secures sensitive operations with additional authentication. {{Auth3Status}} {{Auth3Note}}

Network Communications

Network Communications Test Status Notes
MASVS-NETWORK-1 The app secures all network traffic according to the current best practices. {{Network1Status}} {{Network1Note}}
Testing Endpoint Identity Verification {{Network1Status5}} {{Network1Note5}}
Testing the TLS Settings {{Network1Status6}} {{Network1Note6}}
Testing Data Encryption on the Network {{Network1Status7}} {{Network1Note7}}
MASVS-NETWORK-2 The app performs identity pinning for all remote endpoints under the developer's control. {{Network2Status}} {{Network2Note}}
Testing Custom Certificate Stores and Certificate Pinning {{Network2Status2}} {{Network2Note2}}

Platform Interaction

Platform Interaction Test Status Notes
MASVS-PLATFORM-1 The app uses IPC mechanisms securely. {{Platform1Status}} {{Platform1Note}}
Testing UIActivity Sharing {{Platform1Status6}} {{Platform1Note6}}
Testing App Permissions {{Platform1Status7}} {{Platform1Note7}}
Testing Universal Links {{Platform1Status8}} {{Platform1Note8}}
Determining Whether Sensitive Data Is Exposed via IPC Mechanisms {{Platform1Status9}} {{Platform1Note9}}
Testing Custom URL Schemes {{Platform1Status10}} {{Platform1Note10}}
Testing for Sensitive Functionality Exposure Through IPC {{Platform1Status11}} {{Platform1Note11}}
Testing App Extensions {{Platform1Status12}} {{Platform1Note12}}
Testing UIPasteboard {{Platform1Status13}} {{Platform1Note13}}
MASVS-PLATFORM-2 The app uses WebViews securely. {{Platform2Status}} {{Platform2Note}}
Testing iOS WebViews {{Platform2Status5}} {{Platform2Note5}}
Determining Whether Native Methods Are Exposed Through WebViews {{Platform2Status6}} {{Platform2Note6}}
Testing WebView Protocol Handlers {{Platform2Status7}} {{Platform2Note7}}
MASVS-PLATFORM-3 The app uses the user interface securely. {{Platform3Status}} {{Platform3Note}}
Testing Auto-Generated Screenshots for Sensitive Information {{Platform3Status4}} {{Platform3Note4}}
Checking for Sensitive Data Disclosed Through the User Interface {{Platform3Status5}} {{Platform3Note5}}

Code Quality

Code Quality Test Status Notes
MASVS-CODE-1 The app requires an up-to-date platform version. {{Code1Status}} {{Code1Note}}
MASVS-CODE-2 The app has a mechanism for enforcing app updates. {{Code2Status}} {{Code2Note}}
Testing Enforced Updating {{Code2Status2}} {{Code2Note2}}
MASVS-CODE-3 The app only uses software components without known vulnerabilities. {{Code3Status}} {{Code3Note}}
Checking for Weaknesses in Third Party Libraries {{Code3Status2}} {{Code3Note2}}
MASVS-CODE-4 The app only uses software components without known vulnerabilities. {{Code4Status}} {{Code4Note}}
Testing Object Persistence {{Code4Status8}} {{Code4Note8}}
Make Sure That Free Security Features Are Activated {{Code4Status9}} {{Code4Note9}}
Memory Corruption Bugs {{Code4Status10}} {{Code4Note10}}

Resilience Against Reverse Engineering

Resilience against reverse Name Status Notes
MASVS-RESILIENCE-1 The app validates the integrity of the platform. {{Resilience1Status}} {{Resilience1Note}}
Testing Emulator Detection {{Resilience1Status3}} {{Resilience1Note3}}
Testing Jailbreak Detection {{Resilience1Status4}} {{Resilience1Note4}}
MASVS-RESILIENCE-2 The app implements anti-tampering mechanisms. {{Resilience2Status}} {{Resilience2Note}}
Making Sure that the App Is Properly Signed {{Resilience2Status4}} {{Resilience2Note4}}
Testing File Integrity Checks {{Resilience2Status5}} {{Resilience2Note5}}
MASVS-RESILIENCE-3 The app implements anti-static analysis mechanisms. {{Resilience3Status}} {{Resilience3Note}}
Testing for Debugging Symbols {{Resilience3Status4}} {{Resilience3Note4}}
Testing Obfuscation {{Resilience3Status5}} {{Resilience3Note5}}
Testing for Debugging Code and Verbose Error Logging {{Resilience3Status6}} {{Resilience3Note6}}
MASVS-RESILIENCE-4 The app implements anti-dynamic analysis techniques. {{Resilience4Status}} {{Resilience4Note}}
Testing Reverse Engineering Tools Detection {{Resilience4Status4}} {{Resilience4Note4}}
Testing whether the App is Debuggable {{Resilience4Status5}} {{Resilience4Note5}}
Testing Anti-Debugging Detection {{Resilience4Status6}} {{Resilience4Note6}}