api-security
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
This skill helps Claude write secure web applications. Use this when working on any web application or when a user requests a scan or audit to ensure security best practices are followed.
Claude Code
$ npx -y skills add behisecc/vibesec-skill --skill VibeSec-Skill --agent claude-code
Codex
$ npx skills add behisecc/vibesec-skill --skill VibeSec-Skill -a codex -y
Cursor
$ npx skills add behisecc/vibesec-skill --skill VibeSec-Skill -a cursor -y
Gemini CLI
$ npx skills add behisecc/vibesec-skill --skill VibeSec-Skill -a gemini-cli -y
GitHub Copilot
$ npx skills add behisecc/vibesec-skill --skill VibeSec-Skill -a github-copilot -y
OpenCode
$ npx skills add behisecc/vibesec-skill --skill VibeSec-Skill -a opencode -y
Windsurf
$ npx skills add behisecc/vibesec-skill --skill VibeSec-Skill -a windsurf -y
name: VibeSec-Skill description: This skill helps Claude write secure web applications. Use this when working on any web application or when a user requests a scan or audit to ensure security best practices are followed.
This guide provides comprehensive secure coding practices for web applications. As an AI assistant, your role is to approach code from a **bug hunter's perspective** and make applications **as secure as possible** without breaking functionality.
**Key Principles:**
---
Access control vulnerabilities occur when users can access resources or perform actions beyond their intended permissions.
For **every data point and action** that requires authentication:
1. **User-Level Authorization**
2. **Use UUIDs Instead of Sequential IDs**
3. **Account Lifecycle Handling**
# Pseudocode for secure resource access
function getResource(resourceId, currentUser):
resource = database.find(resourceId)
if resource is null:
return 404 # Don't reveal if resource exists
if resource.ownerId != currentUser.id:
if not currentUser.hasOrgAccess(resource.orgId):
return 404 # Return 404, not 403, to prevent enumeration
return resource---
Every input controllable by the user—whether directly or indirectly—must be sanitized against XSS.
**Direct Inputs:**
**Indirect Inputs:**
**Often Overlooked:**
1. **Output Encoding** (Context-Specific)
2. **Content Security Policy (CSP)**
Content-Security-Policy:
default-src 'self';
script-src 'self';
style-src 'self' 'unsafe-inline';
img-src 'self' data: https:;
font-src 'self';
connect-src 'self' https://api.yourdomain.com;
frame-ancestors 'none';
base-uri 'self';
form-action 'self';3. **Input Sanitization**
4. **Additional Headers**
---
Every state-changing endpoint must be protected against CSRF attacks.
**Authenticated Actions:**
**Pre-Authentication Actions:**
1. **CSRF Tokens**
Stop vibe coding vulnerabilities into production. An AI skill that brings 5+ years of bug bounty hunting experience directly into your AI coding workflow - so LLM models write secure code from the start.
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…