Port MASTG-TEST-0068 (iOS Certificate Pinning) to v2#3732
Draft
Port MASTG-TEST-0068 (iOS Certificate Pinning) to v2#3732
Conversation
Co-authored-by: cpholguera <29175115+cpholguera@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Create new MASTG v2 test for custom certificate stores and pinning
Port MASTG-TEST-0068 (iOS Certificate Pinning) to v2
Feb 27, 2026
Collaborator
|
@copilot please also add the corresponding MASTG-DEMOs with fake IDs as well |
Co-authored-by: cpholguera <29175115+cpholguera@users.noreply.github.com>
Contributor
Author
Added four demos in commit
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ports the v1 iOS certificate pinning test to the MASTG v2 structure, splitting it into focused, typed tests and extending the relevant knowledge article with a comprehensive Certificate Pinning section.
Knowledge (
MASTG-KNOW-0072)Added a Certificate Pinning section covering all iOS pinning surfaces:
NSPinnedDomains— recommended declarative approach withInfo.plistXML example, includingNSPinnedCAIdentities/NSPinnedLeafIdentities, backup pin and rotation caveatsURLSessionDelegatetrust evaluation — common pitfalls (unconditionaluseCredential, missingcancelAuthenticationChallenge)PublicKeysTrustEvaluator), AFNetworking (AFSecurityPolicy)WKNavigationDelegatecoverage gaps for sub-resource loadsSecTrust/NetworkframeworkNew v2 Tests (fake IDs pending merge)
MASTG-TEST-0x01MASTG-TEST-0x02MASTG-TEST-0x03MASTG-TEST-0x04MASTG-TEST-0x02covers third-party library expiration keys (e.g., TrustKit'skTSKExpirationDateinInfo.plist), sinceNSPinnedDomainsitself has no expiration support.MASTG-TEST-0x03referencesMASTG-TECH-0064(bypass/identify hooked APIs) andMASTG-TECH-0086(method tracing) for surfacing pinning delegates at runtime.New v2 Demos (fake IDs pending merge)
MASTG-DEMO-0x01MASTG-DEMO-0x02MASTG-DEMO-0x03MASTG-DEMO-0x04MASTG-DEMO-0x01: Shows an
Info.plistwithoutNSPinnedDomains. Therun.shusesplutil/jq/gronto search for the key and produces an emptyoutput.txt, confirming no pins are configured.MASTG-DEMO-0x02: Shows a TrustKit
TSKConfigurationwithTSKExpirationDate = 2020-01-01. Therun.shextracts the date, and the evaluation confirms it is in the past.MASTG-DEMO-0x03 (
status: draft): Shows aURLSessionDelegateimplementation that accepts any server credential unconditionally. Includesfrida-traceand objection steps for method tracing.MASTG-DEMO-0x04 (
status: draft): Describes the MITM proxy interception scenario for an app with no pinning configured.Best Practice
Added
MASTG-BEST-0032— iOS certificate pinning recommendation favoringNSPinnedDomains, with guidance on CA vs. leaf pinning, backup pins, rotation strategy, and bypass risk.Deprecation
MASTG-TEST-0068markedstatus: deprecated,covered_by: [MASTG-TEST-0x01..0x04].Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.