consulting-adrs
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
This skill should be used when the user asks to "analyze code for security issues", "check for OWASP vulnerabilities", "review code against CWE Top 25", "find injection vulnerabilities", "do a security code review", or needs manual security analysis against OWASP Top 10, API Top
$ npx -y skills add bitwarden/ai-plugins --skill analyzing-code-security --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/analyzing-code-securityContext preview
The summary Claude sees to decide when to auto-load this skill.
This skill should be used when the user asks to "analyze code for security issues", "check for OWASP vulnerabilities", "review code against CWE Top 25", "find injection vulnerabilities", "do a security code review", or needs manual security analysis against OWASP Top 10, API Top
name: analyzing-code-security description: This skill should be used when the user asks to "analyze code for security issues", "check for OWASP vulnerabilities", "review code against CWE Top 25", "find injection vulnerabilities", "do a security code review", or needs manual security analysis against OWASP Top 10, API Top 10, Mobile Top 10, or CWE/SANS frameworks.
Follow these steps when conducting a manual security code review:
1. **Identify the attack surface.** Determine entry points: API endpoints, message handlers, file parsers, user-facing forms. Read route definitions and controller registrations to build a map. 2. **Trace data flows from sources to sinks.** Follow untrusted input (HTTP parameters, headers, request bodies, file uploads, external API responses) through all transformations to dangerous operations (database queries, command execution, HTML rendering, file system access). 3. **Check trust boundary crossings.** At every point where data crosses a trust boundary (client→server, service→service, user input→database), verify that validation, authentication, and authorization are enforced. 4. **Apply framework checklists.** Consult `references/framework-checklists.md` for OWASP Web/API/Mobile Top 10 and CWE Top 25. Check each applicable category against the code under review. 5. **Adopt an adversarial mindset.** Form a hypothesis (e.g., "I can bypass SSO", "I can access another user's vault") and work backwards to determine what conditions would make it exploitable. 6. **Map findings to CWE IDs.** Every finding must include the specific CWE identifier, the code location, and the data flow that makes it exploitable. 7. **Classify by practical exploitability.** Distinguish between practically exploitable vulnerabilities and theoretical risks. Prioritize accordingly but document both.
The most frequently encountered categories across Bitwarden's stack:
For complete framework checklists (all OWASP and CWE categories), consult **`references/framework-checklists.md`**.
For CORRECT/WRONG code examples in C#, TypeScript, and SQL, consult **`references/vulnerability-patterns.md`**.
Adopt an adversarial mindset during security code review — this differs from regular code review which seeks to strengthen code.
**How to think adversarially:**
1. **Create a hypothesis** — e.g., "I can bypass SSO", "I can access another user's vault", "I can escalate from member to admin" 2. **Work backwards** — What conditions would need to be true for the attack to succeed? Can those conditions be fabricated? 3. **Question assumptions** — Is that authorization check always reached? What happens if the middleware fails? What if the token is malformed but not invalid? 4. **Consider failure modes** — What happens when things fail? Do they fail open (insecure) or fail closed (secure)?
For detailed checklists and code examples, consult:
A curated collection of plugins for AI-assisted development at Bitwarden. Enables discovery and distribution of quality-controlled plugins for use with Claude Code.
Check a design, change, pull request, plan, or threat model against Bitwarden's Architecture Decision Records (ADRs), or locate…
Use when the user provides a single Jira issue key and asks whether it is still relevant, still applicable, still pending, still…
File Jira work items that stand on their own, with real ticket titles, acceptance criteria in whatever field the target project…
Use whenever the user mentions a Jira issue key and wants more than a surface-level lookup — "Read PROJ-123", "What's PROJ-123…
Use when the user is addressing pull request review comments locally and asks for help evaluating, implementing, or drafting…
Use this skill to validate findings during a code review. For each finding, run the rejection criteria and verification checks.…