Webinar en inglésWebinar con Jason Lee, mié, 14 octYour newest insider is an AI agent.Jason LeeFormer CISO, Zoom & SplunkInscríbete

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

Crear una cuenta gratisCursor 1.7 o posteriorLeer la documentación

CursorCursor 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.md

Los 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.

  1. Ejecuta un comandoEn cualquier terminal, en macOS, Linux o Windows. Node 18.17 o posterior.
  2. Elige la región e inicia sesiónUE o EE. UU. Tu navegador se abre para iniciar sesión, sin clave que pegar.
  3. Marca CursorEl instalador encuentra los agentes de tu equipo y los marca por ti.
  4. Programa como siempreAbre Cursor 1.7 o posterior: VibeDefend funciona a su lado.

Compruébalo cuando quieras: vibedefend status

Lo que VibeDefend añade a Cursor.

Reglas servidas

Tus reglas de negocio y de seguridad llegan a Cursor antes de cada edición.

CursorCursor 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:14

Toda consulta que mezcla datos del usuario va parametrizada.

OWASP Top 10

Servidas antes de la edición

Protección de secretos

Las lecturas directas de secretos se rechazan; Cursor recibe la referencia gestionada.

CursorCursorwebhooks.ts

  1. cat .env | grep STRIPE

    Bloqueado: lectura directa de un secreto

  2. En su lugarprocess.env.STRIPE_WEBHOOK_SECRET

  3. npm test -- webhooks

    Los tests pasan

Registrado para el equipo

Control de acciones

Comandos destructivos, borrados de esquema y rutas protegidas se detienen antes de ejecutarse.

CursorCursor

  1. rm -rf dist/

    Permitido: salida del build

  2. rm -rf .cache/

    Permitido: caché

  3. rm -rf ./storage/uploads

    Bloqueado: 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.

CursorCursor

  1. SASTsrc/db/users.repo.ts:42

    SQL injection

  2. SCApackage.json

    lodash 4.17.20, CVE-2021-23337

  3. Secretsconfig/prod.yml

    AWS access key

  4. IaCinfra/main.tf

    S3 bucket public-read

  5. CI/CD.github/workflows/deploy.yml

    pull_request_target

En el contexto del agente, en vivo

Preguntas frecuentes.

¿VibeDefend modifica mi configuración de Cursor?
Añade sus hooks y registra el servidor MCP cybedefend, en ~/.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?
El análisis se ejecuta en la región que elegiste al instalar, UE o EE. UU. La decisión de bloquear una acción se toma en tu máquina. Antes de una edición, el hook envía la parte del archivo que se está escribiendo, para encontrar las reglas que se aplican. La revisión de fin de sesión envía los archivos que se modificaron durante la sesión. Tu token de inicio de sesión se queda en el llavero de tu sistema operativo.
¿Qué versión de Cursor necesito?
Cursor 1.7 o posterior, y Node 18.17 o posterior. El instalador funciona en macOS, Linux y Windows.
¿Tengo que vincular cada repositorio?
No en los proyectos importados desde GitHub o GitLab: VibeDefend lee el origin del repositorio y encuentra el proyecto. Para cualquier otro repositorio, ejecuta vibedefend link una vez. El comando escribe .cybedefend/config.json con el ID del proyecto.
¿Cómo lo desinstalo?
Ejecuta 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?
Un archivo de reglas es una indicación que el agente puede seguir u olvidar. VibeDefend usa los hooks de Cursor: la regla adecuada llega antes de cada edición, y una acción peligrosa se bloquea decida lo que decida el agente.
Detalles técnicos para Cursor
Servidor MCP
Disponible~/.cursor/mcp.json
Reglas antes de cada edición
DisponiblepreToolUseEdit|Write|MultiEdit
Acciones peligrosas bloqueadas
DisponiblepreToolUse
Reglas cargadas al inicio
DisponiblesessionStart
Revisión al final de la sesión
Disponiblestop
Revisión de las sesiones largas
DisponiblepreCompact
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.