Guardrails para Cursor, hechos con tus propias reglas.
Las reglas de tu empresa llegan a Cursor antes de cada edición. Lo que nunca debe hacer se bloquea antes de ejecutarse.
npx -y @cybedefend/vibedefend@latest install
Cursor está escribiendobilling/refund.ts
export async function refund(req: Request) { const { id, amount } = await req.json(); const invoice = await db.invoices.find({ id, tenant: req.tenant, }); if (amount > 500) await approvals.second(invoice); return payments.refund(invoice, amount); }
Cada consulta se limita al tenant.
rules/data-access.mdLos reembolsos de más de 500 € necesitan un segundo aprobador.
Aprobada una vez por Sofia M.Revisado antes del commit: limpio
Listo en cuatro pasos.
- Ejecuta un comandoEn cualquier terminal, en macOS, Linux o Windows. Node 18.17 o posterior.
- Elige la región e inicia sesiónUE o EE. UU. Tu navegador se abre para iniciar sesión, sin clave que pegar.
- Marca CursorEl instalador encuentra los agentes de tu equipo y los marca por ti.
- Programa como siempreAbre Cursor 1.7 o posterior: VibeDefend funciona a su lado.
Lo que VibeDefend añade a Cursor.
Reglas servidas
Tus reglas de negocio y de seguridad llegan a Cursor antes de cada edición.
Cursor está escribiendosrc/billing/cart-checkout.ts
const total = new Decimal128(cart.sum); const rows = await db.query( "SELECT * FROM carts WHERE id = $1", [id] );
Los importes usan Decimal128, nunca Number.
Extraída de src/billing.ts:14Toda consulta que mezcla datos del usuario va parametrizada.
OWASP Top 10Servidas antes de la edición
Protección de secretos
Las lecturas directas de secretos se rechazan; Cursor recibe la referencia gestionada.
Cursorwebhooks.ts
cat .env | grep STRIPEBloqueado: lectura directa de un secreto
En su lugar
process.env.STRIPE_WEBHOOK_SECRETnpm test -- webhooksLos tests pasan
Registrado para el equipo
Control de acciones
Comandos destructivos, borrados de esquema y rutas protegidas se detienen antes de ejecutarse.
Cursor
rm -rf dist/Permitido: salida del build
rm -rf .cache/Permitido: caché
rm -rf ./storage/uploadsBloqueado: ruta protegida, archivos de los usuarios
Registrado para el equipo
Hallazgos en vivo
Los hallazgos de SAST, SCA, secretos, IaC y CI/CD, en vivo en la sesión.
Cursor
SAST
src/db/users.repo.ts:42SQL injection
SCA
package.jsonlodash 4.17.20, CVE-2021-23337
Secrets
config/prod.ymlAWS access key
IaC
infra/main.tfS3 bucket public-read
CI/CD
.github/workflows/deploy.ymlpull_request_target
En el contexto del agente, en vivo
Preguntas frecuentes.
¿VibeDefend modifica mi configuración de Cursor?
~/.cursor/hooks.json, ~/.cursor/mcp.json. Tus propios hooks se mantienen: volver a ejecutar el instalador solo sustituye las entradas de VibeDefend.¿Qué sale de mi máquina?
¿Qué versión de Cursor necesito?
¿Tengo que vincular cada repositorio?
vibedefend link una vez. El comando escribe .cybedefend/config.json con el ID del proyecto.¿Cómo lo desinstalo?
vibedefend uninstall: elimina todos los archivos que instaló VibeDefend. Si instalaste el paquete de forma global, ejecuta después npm uninstall -g @cybedefend/vibedefend.¿Qué diferencia hay entre las reglas de Cursor y VibeDefend?
Detalles técnicos para Cursor
- Servidor MCP
- Disponible
~/.cursor/mcp.json - Reglas antes de cada edición
- Disponible
preToolUseEdit|Write|MultiEdit - Acciones peligrosas bloqueadas
- Disponible
preToolUse - Reglas cargadas al inicio
- Disponible
sessionStart - Revisión al final de la sesión
- Disponible
stop - Revisión de las sesiones largas
- Disponible
preCompact - Recordatorio en cada prompt
- No disponibleSin equivalenteNo disponible en Cursor.
Lo que escribe para Cursor
~/.cursor/hooks.json~/.cursor/mcp.json
Además, el runner de los hooks en ~/.cybedefend/. Tus propios hooks se mantienen: volver a ejecutar el instalador solo sustituye las entradas de VibeDefend.
Cursor 1.7 o posterior: las versiones anteriores ignoran hooks.json. Si el comando cursor no está en tu PATH, el instalador no puede leer la versión y conecta los hooks de todos modos, así que compruébala tú.
Si un hook falla, no te bloquea. Solo una denegación de los Action Guards detiene una llamada a herramienta.
¿Algo no va bien? vibedefend status da un informe de solo lectura, y vibedefend doctor repara lo que puede.