areas/software/security/skills/threat-modeling/SKILL.md
Apply STRIDE threat modeling to system designs, identify IDOR and authorization vulnerabilities, and build threat matrices for security reviews. Use when the user designs a new system, reviews an architecture, prepares for a security audit, or asks about common API vulnerabilities like IDOR or broken access control.
npx skillsauth add sawrus/agent-guides threat-modelingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Expertise: STRIDE framework, IDOR prevention, authorization boundary analysis, threat matrices for API and system security reviews.
When designing a new system, adding an integration, reviewing an architecture, or preparing for a security review.
| Threat | Question | Example | |:---|:---|:---| | Spoofing | Can an attacker impersonate a user/service? | Forged JWT, SSRF to metadata service | | Tampering | Can data be modified in transit/at rest? | SQL injection, cache poisoning | | Repudiation | Can users deny performing an action? | Missing audit logs | | Information Disclosure | Can sensitive data be exposed? | Error messages leaking stack traces | | Denial of Service | Can the service be made unavailable? | No rate limiting on public endpoints | | Elevation of Privilege | Can a low-privilege user gain higher access? | IDOR, broken object-level authorization |
# ❌ Vulnerable
@app.get("/invoices/{invoice_id}")
def get_invoice(invoice_id: int, current_user: User = Depends(get_current_user)):
return db.query(Invoice).filter(Invoice.id == invoice_id).first()
# ✅ Safe: always scope to authenticated user
@app.get("/invoices/{invoice_id}")
def get_invoice(invoice_id: int, current_user: User = Depends(get_current_user)):
invoice = db.query(Invoice).filter(
Invoice.id == invoice_id,
Invoice.owner_id == current_user.id # ← ownership check
).first()
if not invoice:
raise HTTPException(status_code=404) # 404, not 403
return invoice
testing
QA Expert for writing E2E tests, test scenarios, test plans, and ensuring test coverage quality.
development
Expert UI/UX design intelligence for creating distinctive, high-craft, and mobile-first interfaces. Focuses on premium aesthetics, touch-first ergonomics, and Flutter performance.
development
Code Review Expert for static analysis, security auditing, architecture review, and ensuring code quality standards.
development
Babysit a GitHub pull request after creation by continuously polling review comments, CI checks/workflow runs, and mergeability state until the PR is merged/closed or user help is required. Diagnose failures, retry likely flaky failures up to 3 times, auto-fix/push branch-related issues when appropriate, and keep watching open PRs so fresh review feedback is surfaced promptly. Use when the user asks Codex to monitor a PR, watch CI, handle review comments, or keep an eye on failures and feedback on an open PR.