Security Rules & Workflows for Cursor and Windsurf AI assistants
VibeSec is an open-source project created by Untamed Theory that makes the new wave of AI development practices more secure across different AI coding tools. It provides a comprehensive set of security rules for both Windsurf and Cursor AI assistants to help developers write more secure code, following industry best practices.
- Downloads security rules for Windsurf and Cursor development workspaces. Pretty Simple.
- Supported AI assistants: Windsurf and Cursor
- Industry Standards: OWASP Top 10 to start (and we'll add more as we go). You can contribute too.
- Language-specific: Security hardening techniques for JavaScript, TypeScript, Python, and more
- Framework-focused: Targeted security recommendations for popular frameworks like React, Next.js, and Supabase
- AI-aware: Special considerations for LLM applications and AI-assisted development. Needs work. Help wanted.
Apply VibeSec to your project with a single command:
# Auto-detect environment (defaults to Windsurf if detection fails)
curl -sL https://raw.githubusercontent.com/untamed-theory/vibesec/main/scripts/install.sh | bash
# Force Cursor installation
curl -sL https://raw.githubusercontent.com/untamed-theory/vibesec/main/scripts/install.sh | bash -s -- --cursor
# Force Windsurf installation
curl -sL https://raw.githubusercontent.com/untamed-theory/vibesec/main/scripts/install.sh | bash -s -- --windsurf
The installation script will automatically detect whether you're using Windsurf or Cursor and install the appropriate rules. If detection fails in a non-interactive environment (like when piped from curl), it will default to Windsurf.
Not feeling lucky? You can always install VibeSec manually. Here's how:
# From the root of your project
# Clone the repository
git clone https://github.com/untamed-theory/vibesec.git
# Install the rules
./vibesec/scripts/install.sh
OR
Copy and paste the rules wherever and however you want. This is America after all.
Consistent security guidelines that work seamlessly across both Windsurf and Cursor AI assistants. |
Get started with a single command installation and zero configuration required. |
Clear examples distinguishing secure vs. insecure patterns with practical code snippets. |
Continuously updated by security experts and the developer community. |
frontend
: CORS configuration, NextJS best practices, Supabase authentication, UI securitybackend
: Rate limiting, API security, server-side validationdatabase
: SQL injection prevention, Supabase hardening, data access controlsinfrastructure
: Secrets management, configuration security, deployment safetyai
: LLM prompt injection prevention, model security considerationssupply-chain
: Dependency management, secure package selection, SBOMgeneral
: OWASP Top 10, cross-cutting security concerns
vibesec/
├── definitions/ # Canonical security rule definitions
│ ├── frontend/ # Frontend security rules
│ ├── backend/ # Backend & API security rules
│ ├── database/ # Database security rules
│ ├── infrastructure/ # Infrastructure & DevOps security rules
│ ├── ai/ # AI & LLM security rules
│ ├── supply-chain/ # Supply chain security rules
│ └── general/ # Cross-cutting security principles
├── rules/ # Built rules for AI assistants
│ ├── windsurf/ # Windsurf-formatted rules (.md)
│ └── cursor/ # Cursor-formatted rules (.mdc)
└── scripts/
├── install.sh # Installation script
└── build_rules.sh # Builds rules from definitions
We welcome contributions from the community!
Contributing to VibeSec is easy:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-rule
) - Create your security rule with these guidelines:
- All security rules start with the prefix
security-
- Create a single canonical rule in the appropriate
definitions/
directory - Include clear code examples showing both secure and insecure patterns
- Run
./scripts/build_rules.sh
to generate Windsurf and Cursor versions
- All security rules start with the prefix
- Commit your changes (
git commit -m 'Add amazing security rule'
) - Push to the branch (
git push origin feature/amazing-rule
) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
This project is licensed under the terms specified in the LICENSE file.