بنقرة واحدة
stride-dread
STRIDE threat enumeration (prose judgment) + deterministic DREAD severity scoring (executable script)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
STRIDE threat enumeration (prose judgment) + deterministic DREAD severity scoring (executable script)
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | stride-dread |
| description | STRIDE threat enumeration (prose judgment) + deterministic DREAD severity scoring (executable script) |
| version | 2.0.0 |
| source | derived from .claude/agents/_archive/sec.md (2026-04-22); L3 scorer added 2026-05-20 |
| when_to_use | ["Reviewing authentication, authorization, or session management","Designing APIs that handle user data or PII","Reviewing cryptography, secrets management, or key storage","Performing threat modeling on new architecture","Security-critical code review (auth, crypto, data handling)"] |
| allowed-tools | ["Read","Grep","Glob","Bash"] |
Use this skill for structured threat identification and severity scoring. Apply before code review, not after.
STRIDE enumeration is prose judgment — the model reasons through each category. DREAD scoring is deterministic arithmetic — the script computes it exactly and consistently. Never re-derive DREAD scores by hand; always run the scorer.
Enumerate ALL six categories before reviewing code. Never skip categories — absence of a threat is still a finding.
| Category | Question to Answer |
|---|---|
| Spoofing | Can an attacker impersonate a user, service, or system component? |
| Tampering | Can data be modified in transit, at rest, or in processing? |
| Repudiation | Can actions be denied without an audit trail? |
| Information Disclosure | Can sensitive data leak to unauthorized parties? |
| Denial of Service | Can availability be degraded or exhausted? |
| Elevation of Privilege | Can an attacker gain access beyond their authorization? |
Rate each identified threat 1–10 on each of the five DREAD dimensions. The script computes the per-finding average and assigns a severity band.
| Key | Dimension | 1 | 5 | 10 |
|---|---|---|---|---|
| D | Damage potential | Minimal | User data exposed | Mass compromise |
| R | Reproducibility | Requires specific state | Usually reproducible | Always reproducible |
| E | Exploitability | Expert + physical access | Authenticated user | Anyone, unauthenticated |
| A | Affected users | Single user | Subset of users | All users |
| D2 | Discoverability | Obscure internals | Documented behavior | Visible in source/network |
Band thresholds (documented in script, not guessed):
After enumerating STRIDE threats, assemble findings as a JSON array and run the scorer. Consume its output only — the script source never enters context.
Format each finding:
[
{
"title": "Short description of the threat",
"D": 8,
"R": 7,
"E": 6,
"A": 9,
"D2": 5
}
]
Run via Bash (file argument):
python .claude/skills/security/stride-dread/scripts/dread_score.py findings.json
Run via Bash (stdin):
echo '<json array>' | python .claude/skills/security/stride-dread/scripts/dread_score.py -
The script outputs:
findings (score + band appended) and a summary of band counts.Error handling: The script exits non-zero with a clear error message to stderr on invalid dimensions (out of 1-10 range), malformed JSON, or missing fields. Fix the input and re-run — never manually patch the score.
What the agent does with the output:
python .claude/skills/security/stride-dread/scripts/dread_score.py findings.jsonCross-reference findings against OWASP Top 10. Any miss here is a gap in the review.
For any code handling secrets (API keys, tokens, passwords):
If ANY step is missing, flag as High severity minimum.
Self-Critique: "Can I classify every finding under STRIDE? Did I run the scorer (not eyeball it)? Would a pentester find something I missed in 10 minutes of black-box testing?"