agentsclimarketplace

Stride

Skill 0x1337c0d3/claude-security/skills/sentinel/skills/stride

STRIDE threat modeling. Use when the user asks to "run STRIDE", "threat model with STRIDE", "check for spoofing/tampering/repudiation/info disclosure/DoS/ privilege escalation", or invokes /sentinel:stride. Analyzes the codebase across all 6 STRIDE threat categories (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege).From its SKILL.md

Install
npx -y skills add 0x1337c0d3/claude-security --skill stride

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.2 KB, as published. Nobody here has run it

STRIDE Threat Model

Analyze the codebase across all 6 STRIDE threat categories. Each category maps to a violated security property and a set of concrete code patterns to detect.

Framework Reference

Load ../../references/stride.md for the full STRIDE category definitions, applicable controls, CWE mappings, and OWASP cross-references.

Usage

/sentinel:stride                          # Full STRIDE analysis (all 6 categories)
/sentinel:stride --only S,E               # Only Spoofing and Elevation of Privilege
/sentinel:stride --depth deep             # Trace data flows across trust boundaries
/sentinel:stride --fix                    # Include fix suggestions inline

Category Overview

LetterCategorySecurity PropertyFinding PrefixFocus
SSpoofingAuthenticationSPOOFToken forgery, session fixation, credential theft, identity impersonation
TTamperingIntegrityTAMPSQL injection, parameter tampering, MITM, file modification, XSS
RRepudiationNon-repudiationREPUDMissing audit logs, log tampering, insufficient forensic evidence
IInformation DisclosureConfidentialityDISCError message leaks, sensitive data in logs, cleartext transmission
DDenial of ServiceAvailabilityDOSResource exhaustion, ReDoS, no rate limiting, decompression bombs
EElevation of PrivilegeAuthorizationPRIVBroken access control, IDOR, JWT manipulation, role confusion

Workflow

Step 1 — Scope

Default scope: full codebase. Build a focused file list for each category:

CategoryFile Patterns to Prioritize
S - SpoofingAuth controllers, session middleware, token validation, login/register routes
T - TamperingInput handlers, database queries, API endpoints, file operations
R - RepudiationLogging config, audit trail, transaction records, security event handlers
I - Info DisclosureError handlers, API responses, log statements, config files, env vars
D - DoSInput parsers, regex patterns, resource allocation, file uploads, rate limiting
E - Privilege EscalationAuthorization middleware, role checks, admin routes, RBAC config

Step 2 — Analyze Each Category

Work through each relevant category (all 6 by default, or --only selection).

For each category, look for the patterns below and produce findings.


S — Spoofing Patterns

  • JWT with alg: none accepted or algorithm not validated
  • Session tokens generated with Math.random() or non-cryptographic RNG
  • Session fixation: session ID not rotated after login
  • Password comparison with == instead of constant-time comparison
  • OAuth state parameter missing or not validated
  • Token expiry not enforced (no exp claim check)
  • Cookie missing HttpOnly, Secure, or SameSite flags
  • Auth bypass via HTTP method override or X-HTTP-Method-Override

T — Tampering Patterns

  • User input directly concatenated into SQL queries (SQLi)
  • User input reflected in HTML without encoding (XSS)
  • Server-side template injection (user input in template strings)
  • Command injection (user input in shell commands, exec, system)
  • File path traversal (../ in file operations)
  • Mass assignment: request body bound to model without allowlist
  • Prototype pollution in JavaScript
  • Deserialization of untrusted data without type/integrity checks

R — Repudiation Patterns

  • Security-sensitive actions (login, password change, payment) not logged
  • Logs do not include: user identity, timestamp, IP, action, outcome
  • Application-level log deletion or modification is possible
  • No tamper-evident logging (logs writable by application process)
  • Admin actions not recorded in audit log
  • Log aggregation to remote store not configured

I — Information Disclosure Patterns

  • Stack traces or exception details returned in production responses
  • Internal hostnames, IPs, or paths in error messages
  • Sensitive fields (passwords, tokens, SSNs) included in API responses
  • Secrets or credentials logged
  • Debug endpoints active in production (/debug, /metrics with internals)
  • Directory listing enabled on static file server
  • Source maps exposed in production build

D — Denial of Service Patterns

  • Regular expressions vulnerable to catastrophic backtracking (ReDoS)
  • No rate limiting on authentication endpoints
  • No maximum payload size enforced on file upload or JSON body
  • Recursive or deeply nested input parsing without depth limit
  • Unbounded database queries (no LIMIT, no pagination)
  • XML/YAML parsing without entity expansion protection (XXE, Billion Laughs)
  • No timeout on external HTTP calls
  • Resource-intensive operations callable without authentication

E — Elevation of Privilege Patterns

  • Authorization check missing on sensitive endpoints (only authentication checked)
  • IDOR: resource accessed by ID without ownership validation
  • Role check performed on client side only
  • Horizontal privilege escalation: user can access other users' data by changing ID
  • Admin routes accessible to non-admin roles
  • JWT role or isAdmin claim modifiable without signature verification
  • RBAC misconfiguration: overly permissive wildcard permissions
  • Privileged operation available via indirect reference (e.g., batch API)

Step 3 — Findings Format

For each finding:

[STRIDE-XXX] Title
Category: [S/T/R/I/D/E] | Severity: CRITICAL/HIGH/MEDIUM/LOW | CWE: CWE-XXX
Location: file:line | Confidence: HIGH/MEDIUM/LOW

STRIDE category: [Category name] — [Security property violated]

Attack scenario:
1. [Attacker action]
2. [What the code fails to do]
3. [Impact]

Evidence:
  [vulnerable code snippet]

Fix:
  [corrected code + one-line explanation]

OWASP: [OWASP 2021 category] | Compliance: [relevant frameworks]

Step 4 — Per-Element Threat Matrix

Build a matrix showing which STRIDE categories produced findings per component:

| Component | S | T | R | I | D | E | Findings |
|-----------|---|---|---|---|---|---|----------|
| Auth controller | X | | | | | X | SPOOF-001, PRIV-002 |
| API gateway | | X | | X | X | | TAMP-001, DISC-003 |

Step 5 — Report

Produce findings ranked by severity. Then the threat matrix. Then write report:

OUTPUT_DIR=$(git rev-parse --show-toplevel 2>/dev/null || echo "$PWD")
REPORT_FILE="${OUTPUT_DIR}/stride-$(date +%Y%m%d).md"

Save the full report to ${REPORT_FILE}.

Step 6 — Sentinel Integration

If Sentinel has run recently (check for reports/security-*.md):

  • Cross-reference STRIDE findings with Sentinel SENTINEL-XXX findings
  • Map each Sentinel finding to its STRIDE category
  • Note findings Sentinel found but STRIDE did not (tool-detected vs architecture)
  • Note findings STRIDE found but Sentinel did not (logic/architecture vs code patterns)
  • Produce combined summary: "Sentinel detected N tool-level findings. STRIDE identified M architectural threats. X overlap."

Severity Guidance

SeverityCriteria
CRITICALAuth bypass (S/E), RCE via injection (T), mass data disclosure (I)
HIGHSQLi, stored XSS, IDOR on sensitive data, no rate limit on auth
MEDIUMReflected XSS, log gaps, excessive data exposure, ReDoS on public input
LOWMissing security headers, verbose errors, minor info disclosure

Report Format

Format your final output following the standard Sentinel report structure defined in ${CLAUDE_SKILL_DIR}/../../templates/report.md. Use your skill's domain-specific finding IDs (e.g. STRIDE-SPOOF-001, RT-SK-001, API-001) in the Finding ID column. Include the Security Scorecard and Findings sections as a minimum. Omit the Cross-Validation Summary section if you ran only AI analysis (no tool comparison).

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.