SAML 2.0 metadata trust and hygiene for owned or authorized SP/IdP integrations: EntityID pinning, signing-certificate import, ACS/SSO endpoint allowlists, metadata URL fetch controls, expiry/rotation, and admin dual control. Use when reviewing federation metadata XML, IdP/SP metadata upload or auto-refresh, certificate rollover, or trust-store hygiene — not for attacking third-party IdP production outside engagement scope.
SAML 2.0 metadata trust and hygiene for owned or authorized SP/IdP integrations: EntityID pinning, signing-certificate import, ACS/SSO endpoint allowlists, metadata URL fetch controls, expiry/rotation, and admin dual control. Use when reviewing federation metadata XML, IdP/SP metadata upload or auto-refresh, certificate rollover, or trust-store hygiene — not for attacking third-party IdP production outside engagement scope.
SAML Metadata Hygiene
Review how SAML metadata is obtained, validated, stored, and rotated so
SP/IdP trust anchors stay intentional. Complements runtime checks in
saml-sso-basics; this skill owns the metadata trust plane.
When To Use
Importing or auto-refreshing IdP/SP metadata (XML file, URL, vendor UI)
Reviewing EntityID, signing/encryption certs, ACS, and SSO endpoint lists
Certificate rollover, dual-cert windows, or expired metadata/certs
Hardening admin paths that upload metadata or change federation trust
Private key / vault / rotation for signing material
secrets-management-hygiene
SP library code, parsers, config-as-code quality
code-quality-standards
OAuth/OIDC client registration
oauth-oidc-misconfiguration
Deep SSRF via metadata URL
ssrf-server-side-request-forgery
Scope And Authorization
In scope: org-owned SP/IdP apps, staging federation, labs/CTFs, written
assessments that name the SP and any IdP/tenant you may reconfigure.
Out of scope: swapping metadata on third-party SaaS IdPs you do not own;
publishing live signing keys or production SAMLResponse blobs.
Prefer staging for cert swap and metadata-URL experiments; dual-review prod.
Treat signing private keys as secrets — redact; rotate on exposure
(secrets-management-hygiene). Assessment only — no workforce SSO outages.
Workflow
1. Inventory federation trust
Record role (SP/IdP), EntityIDs (env-separated), metadata source (upload/URL/IaC),
refresh policy, signing policy (Response/Assertion/both), ACS/SSO URLs + bindings,
and who can change trust. Download only from authorized endpoints; keep
originals immutable.
2. Validate document integrity
Confirm well-formed EntityDescriptor from the expected peer — not an
unauthenticated paste from chat.
If metadata is signed, verify with a pre-established trust anchor.
Do not bootstrap trust solely from a key inside the same untrusted file.
Use SAML-aware, XXE-safe parsers; implement loaders under code-quality-standards.
3. Pin EntityID and endpoints
Control
Secure direction
Weak outcome
EntityID
Exact match; separate per env
Accept any; shared prod/dev
ACS (SP)
Exact URL allowlist at IdP
Wildcards; attacker ACS
SSO / SLO (IdP)
HTTPS; host allowlist on SP
HTTP; open-ended endpoints
Bindings
Only needed bindings enabled
Unused Artifact/SOAP exposed
Cross-check UI vs metadata vs IaC so drift cannot reintroduce stale ACS/EntityIDs.
4. Certificate and KeyDescriptor hygiene
Import signing certs from trusted metadata only; runtime must pin IdP
signing cert(s) and ignore untrusted in-message KeyInfo (saml-sso-basics).
Record thumbprint/SKI, validity, key usage, algorithm (RSA-2048+ or org-approved).
Flag expired certs still trusted; encryption vs signing confusion; multi-cert bags.