Free mock IdPs only test happy-path logins. SAML Chaos Lab acts as an adversarial Identity Provider, injecting dual-key rollovers, XML signature wrapping (XSW), expired assertions, and replay attacks directly into your Service Provider ACS before Fortune 500 enterprise rollouts.
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_resp_9a8f" Version="2.0"> <saml:Issuer>https://idp.okta-mock.local/sso</saml:Issuer> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:KeyInfo> <!-- MUTATION: Injected Secondary Rollover Cert #2 (Overlap Period) --> <ds:X509Certificate>MIIDqDCCApCgAwIBAgIGAX29bQz8...[ROTATED_SECONDARY_KEY]</ds:X509Certificate> </ds:KeyInfo> <ds:SignatureValue>f7bE2wKq...[VALID_RSA_SHA256_WITH_SECONDARY_KEY]</ds:SignatureValue> </ds:Signature> <saml:Assertion ID="_assert_c71e"> <saml:Subject><saml:NameID>admin@enterprise.corp</saml:NameID></saml:Subject> </saml:Assertion> </samlp:Response>
SP keystore caches multiple signing keys; verifies assertion via rotated secondary cert without dropped sessions.
SP only stores the primary cert in config. Valid rotation triggers 'Signature verification failed' — company-wide SSO lockout.
Standard staging environments only test happy-path logins with a static mock certificate. In enterprise production, identity providers like Okta, Microsoft Entra ID, and Ping Identity regularly roll signing keys or experience clock drift.
When an enterprise admin schedules a certificate rotation, Okta publishes a new certificate alongside the existing one. If your Service Provider code only binds to a single static string in an environment variable, every single user is locked out the millisecond the IdP switches the signing key.
SAML 2.0 assertions are valid for a temporal window (typically 5 minutes). If your ACS endpoint fails to index consumed Assertion IDs in a distributed TTL cache (such as Redis), an attacker or intercepted browser token can replay the exact same response and authenticate repeatedly.
Naive XML parsing libraries verify the digital signature against one node in the XML DOM tree, but extract user attributes (like `admin: true` or `email`) from a different node. SAML Chaos Lab injects all 8 XSW variants to prove your parser is strictly anchored.
18 hostile test vectors covering every critical failure mode outlined in OASIS SAML 2.0 specifications and enterprise vendor security audits.
| Fault Code | Failure Injection Vector | Target Domain | Expected SP Verdict | Enterprise Severity |
|---|---|---|---|---|
| SAML-CERT-001 | Dual-Key Overlap Secondary Cert Acceptance | Key Lifecycle | ACCEPT (HTTP 200) | CRITICAL AVAILABILITY |
| SAML-CERT-002 | Expired Signing Certificate in Metadata | Key Lifecycle | REJECT (HTTP 401) | HIGH SECURITY |
| SAML-CERT-003 | Unrecognized / Self-Signed Rogue IdP Certificate | Trust Boundary | REJECT (HTTP 401) | CRITICAL SPOOFING |
| SAML-XSW-001 | XSW-1: Cloned Root Assertion with Detached Signature | XML Integrity | REJECT (HTTP 401) | CVSS 9.8 EXPLOIT |
| SAML-XSW-003 | XSW-3: Extensions Wrapper with Forged Assertion Root | XML Integrity | REJECT (HTTP 401) | CVSS 9.8 EXPLOIT |
| SAML-TIME-001 | Assertion Exceeds NotOnOrAfter (-300s Expired) | Temporal Validity | REJECT (HTTP 401) | HIGH BOUNDARY |
| SAML-TIME-002 | Excessive Clock Skew Tolerance Test (+180s in Future) | Temporal Validity | REJECT (HTTP 401) | MEDIUM SKEW |
| SAML-REPLAY-001 | Duplicate Consumed Assertion ID Re-transmission | Replay Defense | REJECT (HTTP 400) | HIGH PENTEST RISK |
| SAML-AUD-001 | Mismatched Audience Restriction URI Injection | Audience Scope | REJECT (HTTP 403) | HIGH INTEGRITY |
Enterprise procurement teams from Fortune 500 banks, healthcare networks, and defense contractors will not take your word that SSO works. They demand verified evidence of certificate rollover tolerance, clock boundary limits, and signature wrapping immunity.
Run 6 baseline checks locally for free, unlock all 33 CVE scenarios for your next release, or automate full SAML conformance in CI/CD.
Run the mock IdP and 6 baseline protocol-hygiene checks locally on your workstation.
For engineering teams closing enterprise deals or running a pre-release audit.
Automate SAML negative testing inside GitHub Actions and CI pipelines.
Submit your work email to receive our sample signed SOC 2 SAML Readiness Audit Report and new CVE scenario updates for CI/CD pipelines.