- Platform: iOS
- Weakness: MASWE-0066
- Weakness in the numbering of the MASWE beta: MASWE-0117
- Profiles: P (privacy)
- Type: static, package, manual
- Knowledge: MASTG-KNOW-0077
- Best practices: MASTG-BEST-0051
Overview
Entitlements are signed rights or privileges that enable an iOS app or app extension to use specific platform services, capabilities, or system integrations. Unlike purpose strings, entitlements are not limited to protected resources or user-facing privacy prompts. Some entitlements are mainly functional or security-related, while others may affect privacy by enabling access to personal data, shared containers, cloud data, home data, network capabilities, or system entry points.
If an app enables entitlements or capabilities that it does not need, it may gain unnecessary capability exposure outside the default sandbox model.
Capabilities configured in Xcode are signed into the app as entitlements, but the entitlement itself is not a runtime API call. The associated runtime surface depends on the service. Some examples of entitlements and their related APIs or entry points include:
| Entitlement or capability | Associated APIs or entry points |
| --- | --- |
| com.apple.developer.healthkit | HKHealthStore, HealthKit data types |
| com.apple.security.application-groups | FileManager.containerURL(forSecurityApplicationGroupIdentifier:), UserDefaults(suiteName:) |
| com.apple.developer.icloud-container-identifiers | CKContainer, iCloud container APIs |
| com.apple.developer.homekit | HMHomeManager |
| com.apple.developer.associated-domains | NSUserActivityTypeBrowsingWeb, universal link continuation handlers |
| com.apple.developer.networking.multicast | NWConnectionGroup |
| com.apple.developer.siri | Intents, App Intents, Siri related entry points |
Other security-relevant or platform-service entitlements include Keychain Sharing, Data Protection, Push Notifications, Apple Pay, Network Extensions, NFC Tag Reading, and App Sandbox related entitlements.
An unused entitlement is not usually a direct privacy violation by itself. The risk is latent capability exposure. The app is signed with a right or privilege that can enable access to a service or capability if the app, an extension, bundled framework, feature flag, compromised code path, or later update starts using the related APIs. The clearest framing is least privilege: unneeded entitlements expand what the signed executable is allowed to do, even when the current test does not observe active use.
See MASTG-KNOW-0077 for the relationship between Xcode capabilities, signed entitlements, and the framework APIs or entry points that use the corresponding service.
This test verifies whether the entitlements signed into the app are justified by the app's user-visible functionality and whether they create unnecessary privacy-relevant capability exposure.
Steps
- Use MASTG-TECH-0058 to unzip the app package.
- Use MASTG-TECH-0111 to extract entitlements from the app binaries, including the main app and app extensions.
- Use MASTG-TECH-0066 to look for framework APIs, shared container APIs, identifiers, or system entry points related to the identified entitlements.
The entitlements signed into the app binary are the reliable source, because they are present regardless of how the app was built or signed. The
embedded.mobileprovisionfile can carry the same entitlements, but it only exists when the packaged app includes a provisioning profile, such as development, ad-hoc, enterprise, or App Store submission builds before App Store processing. It is absent in simulator builds, App Store-distributed apps, and pseudo-signed builds (for example, when the binary is signed withldid).
Observation
The output should contain:
- The entitlements embedded in the app's code signatures.
- The entitlement-backed APIs, shared container APIs, identifiers, or system entry points referenced by the app binaries.
Evaluation
The test case fails if the collected evidence shows that the app is signed with an entitlement without a reasonable connection to a user-visible feature, or if the entitlement creates a broader privacy-relevant capability, data access, or data sharing surface than the app's feature set justifies.
Further Validation Required:
Use the signed entitlements, referenced APIs, app metadata, visible app features, and relevant identifiers to determine whether each entitlement is justified, prioritizing entitlements that affect personal data, shared storage, cross-app communication, cloud data, home data, network behavior, or system entry points.
Consider the following when evaluating:
- Is the entitlement and its related API surface reasonably connected to the app's stated purpose or visible functionality?
- Does the entitlement create a personal data access, shared storage, cross-app communication, or system integration surface that is broader or more sensitive than the feature requires?
- Could the app use a narrower alternative instead, such as local app storage instead of an App Group container when cross-app or app-extension sharing is not required?
Static analysis can find unused code, SDK code, dead code, weak-linked frameworks, or APIs that only check availability and never use the entitlement-backed service. Treat an entitlement without matching API references as a failure only when the tester can reasonably connect the entitlement to an unnecessary capability or privacy-relevant data access path. Otherwise, treat it as requiring further validation.
Static analysis may also miss APIs or entry points that are resolved dynamically, hidden through obfuscation, placed in native libraries, loaded from frameworks, invoked by extensions, or only present in server-controlled or feature-flagged code paths. Treat missing API references as absence of evidence, not proof that the app never uses the entitlement-backed service.
Lingitud teemad
| Lingi tüüp | Teema |
|---|---|
| is related to | MASTG-BEST-0051 Minimize iOS Permissions and Entitlements (iOS) |
- OWASP -
EN: Publications of the OWASP Foundation, https://owasp.org/. OWASP® is a registered trademark of the OWASP Foundation, Inc.; GRCA is not affiliated with, nor endorsed by, the OWASP Foundation. Only the versions published by OWASP are authoritative.
- OWASP Application Security Verification Standard (ASVS) 5.0.0, May 2025, from OWASP/ASVS: © 2008-2025 The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: divided into sections and converted into the GRCA format, the wording unchanged. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Mobile Application Security Verification Standard (MASVS) v2.1.0, January 2024, from OWASP/masvs: © The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: converted into the GRCA format, the wording unchanged. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Mobile Application Security Weakness Enumeration (MASWE) v1.0.0, August 2026, from OWASP/maswe: © The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: converted into the GRCA format, the wording unchanged, linked to the MASVS controls they map to. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Mobile Application Security Testing Guide (MASTG) v2.0.0, June 2026, from OWASP/mastg: © The OWASP Foundation, licensed under CC BY-SA 4.0. The tests and best practices only, without code samples, images, tools or apps. Changes: converted into the GRCA format, the wording unchanged; references to other pages of the MASTG as links to mas.owasp.org; the weakness of each test in the numbering of MASWE v1 and linked to it. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Software Assurance Maturity Model (SAMM) v2.2.0, July 2026, from owaspsamm/core: © The OWASP Foundation, licensed under CC BY-SA 4.0. Changes: converted into the GRCA format, the wording unchanged; short codes (G-SM-1-A) built from the model, the assessment questions as assessment procedures of their activities. These adaptations are shared under CC BY-SA 4.0 as well.
- OWASP Top 10:2025, from OWASP/Top10: © 2003-2025 The OWASP® Foundation, Inc., licensed under CC BY-SA 4.0. The ten categories, without the icons. Changes: converted into the GRCA format, the wording unchanged. These adaptations are shared under CC BY-SA 4.0 as well. The names of the mapped CWEs (Common Weakness Enumeration): © 2006–2026 The MITRE Corporation. License: The MITRE Corporation hereby grants you a non-exclusive, royalty-free license to use CWE for research, development, and commercial purposes. Any copy you make for such purposes is authorized on the condition that you reproduce MITRE’s copyright designation and this license in any such copy. See the CWE Terms of Use. CWE™ is a trademark of The MITRE Corporation.
DE: Veröffentlichungen der OWASP Foundation, https://owasp.org/. OWASP® ist eine eingetragene Marke der OWASP Foundation, Inc.; GRCA steht in keiner Verbindung zur OWASP Foundation und wird von ihr nicht unterstützt. Maßgeblich sind allein die von OWASP veröffentlichten Fassungen.
- OWASP Application Security Verification Standard (ASVS) 5.0.0, Mai 2025, aus OWASP/ASVS: © 2008-2025 The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in Abschnitte aufgeteilt und in das GRCA-Format umgewandelt, der Wortlaut unverändert. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Mobile Application Security Verification Standard (MASVS) v2.1.0, Januar 2024, aus OWASP/masvs: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Mobile Application Security Weakness Enumeration (MASWE) v1.0.0, August 2026, aus OWASP/maswe: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert, mit den MASVS-Controls verknüpft, denen sie zugeordnet sind. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Mobile Application Security Testing Guide (MASTG) v2.0.0, Juni 2026, aus OWASP/mastg: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Nur die Tests und Best Practices, ohne Codebeispiele, Bilder, Werkzeuge und Apps. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert; Verweise auf andere Seiten des MASTG als Links zu mas.owasp.org; die Schwachstelle jedes Tests in der Nummerierung der MASWE v1 und mit ihr verknüpft. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Software Assurance Maturity Model (SAMM) v2.2.0, Juli 2026, aus owaspsamm/core: © The OWASP Foundation, lizenziert unter CC BY-SA 4.0. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert; Kürzel (G-SM-1-A) aus dem Modell gebildet, die Assessment-Fragen als Prüfverfahren ihrer Aktivitäten. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0.
- OWASP Top 10:2025, aus OWASP/Top10: © 2003-2025 The OWASP® Foundation, Inc., lizenziert unter CC BY-SA 4.0. Die zehn Kategorien, ohne die Symbole. Änderungen: in das GRCA-Format umgewandelt, der Wortlaut unverändert. Diese Bearbeitungen stehen ebenfalls unter CC BY-SA 4.0. Die Namen der zugeordneten CWEs (Common Weakness Enumeration): © 2006–2026 The MITRE Corporation. MITRE erlaubt die Nutzung für Forschung, Entwicklung und kommerzielle Zwecke, wenn jede Kopie den Urheberrechtsvermerk und die Lizenz enthält; maßgeblich ist der englische Wortlaut der Lizenz oben und die CWE Terms of Use. CWE™ ist eine Marke der MITRE Corporation.