This skill should be used when the user asks to "create a threat model", "define security goals", "generate a data flow diagram", "write security definitions", "perform an initial security assessment", or needs to produce threat model artifacts for new features or architecture changes.
npx skills add https://github.com/bitwarden/ai-plugins --skill threat-modeling
Bitwarden follows a 4-phase engagement model for security work. This skill primarily supports Phase 1 (engineering-owned) and assists with Phase 2-4 artifacts.
${CLAUDE_PLUGIN_ROOT}/references/adr-alignment.md) — a threat model should align with already-accepted architecture, not silently re-derive or contradict itreferences/stride-framework.md)Security Definitions (SDs) are Bitwarden's formal construct for communicating the security posture of a system. Each definition has three components: a threat model (attacker capabilities), security goals (what the system guarantees), and an accepted goal status (honest assessment of whether the goal is currently met).
Use Bitwarden's standard vocabulary when writing definitions — see references/bitwarden-vocabulary.md for the full glossary. Align security goals with Bitwarden's security principles (P01-P06) — see references/security-principles.md.
Describe attacker capabilities AND limitations — what they can and cannot do. Always state both sides to scope the definition precisely:
Include concrete examples where helpful (e.g., "An example for this is a stolen device"). Don't assume external mitigations are in place — even if obtaining an auth token is difficult, still explore what happens if an attacker has one.
Apply these rules when scoping the threat model:
references/writing-quality-sds.md for the dominated-threat anti-pattern and the term Dominated Threat in references/bitwarden-vocabulary.md.State concise, testable guarantees about what cannot happen given the threat model. Reference specific assets (tokens, keys, vault data):
Every goal carries a Rationale — three pieces, one line each:
references/security-principles.md.A goal without a rationale is a claim, not a requirement. Rationales let reviewers judge whether the goal is load-bearing or can be cut.
Two additional rules on goal framing:
process.env or argv, the implementation MUST use stdin or an inherited file descriptor. An SD whose goal forbids env exposure but whose implementation passes the secret through env is internally inconsistent — fix the design, or fix the goal, but do not ship both.Provide an honest assessment of the current state:
When a goal is known to be broken, link to the relevant tracking issue. Note scoping caveats (e.g., "These definitions do not apply in the case of a Vault Timeout set to Never").
Two additional rules:
bw unlock, which scales with KDF iterations and vault size — observed between 1 and 8 seconds on representative hardware." _Brief without a number is not an accepted status — it is a hope._ See the Exposure Window vocabulary entry.references/writing-quality-sds.md for the prioritization heuristic.Use the templates in examples/ when generating artifacts:
examples/security-definition-document.md — Full SD document template with glossary, numbered definitions, Criticality tagging, goal rationale, and accepted goal statusexamples/data-flow-diagram.md — Mermaid DFD template with trust boundariesexamples/threat-catalog.md — Threat catalog table and mitigation tracking templatesConsult these references when writing or reviewing SDs:
references/writing-quality-sds.md — Anti-patterns (dominated threats, adversarial-only attackers, unenforceable goals, aspirational limitations, shell-quoting SDs, the "brief exposure" trap) and the self-consistency checklistreferences/bitwarden-vocabulary.md — Standard terms, including Passive Observer, Dominated Threat, and Exposure Windowreferences/security-principles.md — P01–P06, referenced by every goal's Rationale linereferences/stride-framework.md — STRIDE categories for structured threat identification${CLAUDE_PLUGIN_ROOT}/references/adr-alignment.md — Architecture Decision Record alignment checks shared across security-engineer skillsTeams should initiate a full engagement with the AppSec team (#team-eng-appsec) when:
Quick questions (e.g., concerns about a third-party library or coding practice) don't need a full engagement — post those directly to #team-eng-appsec.
Before finalizing a set of SDs, apply the self-consistency checklist in references/writing-quality-sds.md.
Expert in secure backend coding practices specializing in input validation, authentication, and API security. Use PROACTIVELY for backend security implementations or security code reviews.
This skill should be used when the user asks to "perform cloud penetration testing", "assess Azure or AWS or GCP security", "enumerate cloud resources", "exploit cloud misconfigurations", "test O365 security", "extract secrets from cloud environments", or "audit cloud infrastructure". It provides comprehensive techniques for security assessment across major cloud platforms.
You are a dependency security expert specializing in vulnerability scanning, license compliance, and supply chain security. Analyze project dependencies for known vulnerabilities, licensing issues, outdated packages, and provide actionable remediation strategies.
Comprehensive Flow Nexus platform management - authentication, sandboxes, app deployment, payments, and challenges
This skill should be used when the user asks to "escalate privileges on Linux", "find privesc vectors on Linux systems", "exploit sudo misconfigurations", "abuse SUID binaries", "exploit cron jobs for root access", "enumerate Linux systems for privilege escalation", or "gain root access from low-privilege shell". It provides comprehensive techniques for identifying and exploiting privilege escalation paths on Linux systems.
Expert malware analyst specializing in defensive malware research, threat intelligence, and incident response. Masters sandbox analysis, behavioral analysis, and malware family identification. Handles static/dynamic analysis, unpacking, and IOC extraction. Use PROACTIVELY for malware triage, threat hunting, incident response, or security research.
This skill should be used when the user asks to "use Metasploit for penetration testing", "exploit vulnerabilities with msfconsole", "create payloads with msfvenom", "perform post-exploitation", "use auxiliary modules for scanning", or "develop custom exploits". It provides comprehensive guidance for leveraging the Metasploit Framework in security assessments.
Expert in secure mobile coding practices specializing in input validation, WebView security, and mobile-specific security patterns. Use PROACTIVELY for mobile security implementations or mobile security code reviews.
Take bitwarden/threat-modeling from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.