CommunityProgramación y desarrollogithub.com

waynesutton/convex-security-audit

Patrones de revisión de seguridad profunda para lógica de autorización, límites de acceso a datos, aislamiento de acciones, limitación de velocidad y protección de operaciones sensibles.

¿Qué es convex-security-audit?

Esta habilidad está diseñada para realizar auditorías de seguridad exhaustivas en aplicaciones Convex, centrándose en la lógica de autorización, los límites de acceso a datos, el aislamiento de acciones, la limitación de velocidad y la protección de operaciones sensibles. Proporciona patrones de revisión que ayudan a los desarrolladores a identificar vulnerabilidades comunes y a implementar defensas robustas. Es útil para cualquier proyecto que utilice Convex como backend, ya que ofrece guías claras sobre cómo proteger endpoints, verificar permisos de usuario y evitar accesos no autorizados. Funciona analizando el código fuente y aplicando reglas predefinidas para detectar posibles fallos de seguridad, asegurando que las operaciones críticas estén correctamente aisladas y que los datos sensibles estén protegidos contra accesos indebidos.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/waynesutton/convexskills/tree/main/skills/convex-security-audit

Installed? Explore more Programación y desarrollo skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace convex-security-audit?

Patrones de revisión de seguridad profunda para lógica de autorización, límites de acceso a datos, aislamiento de acciones, limitación de velocidad y protección de operaciones sensibles.

Descripción

Esta habilidad proporciona un conjunto de patrones y guías para realizar auditorías de seguridad en aplicaciones construidas con Convex. Cubre áreas clave como la verificación de autorización, la definición de límites en el acceso a datos, el aislamiento de acciones para prevenir efectos secundarios no deseados, la implementación de limitación de velocidad para evitar abusos y la protección de operaciones que manejan información sensible.

Uso

Para utilizar esta habilidad, los desarrolladores deben integrar los patrones de revisión en su flujo de trabajo de desarrollo. Se recomienda ejecutar las auditorías antes de cada despliegue para garantizar que las medidas de seguridad estén actualizadas y sean efectivas.

Patrones de Revisión

Autorización

  • Verificar que todas las funciones de mutación tengan comprobaciones de autorización adecuadas.
  • Asegurarse de que los roles de usuario se validen correctamente antes de permitir operaciones.

Límites de Acceso a Datos

  • Revisar que las consultas a la base de datos filtren los resultados según el contexto del usuario.
  • Evitar la exposición de campos sensibles en respuestas de API.

Aislamiento de Acciones

  • Confirmar que las acciones no tengan efectos secundarios no controlados.
  • Utilizar transacciones para garantizar la consistencia de los datos.

Limitación de Velocidad

  • Implementar mecanismos de limitación de velocidad en endpoints críticos.
  • Monitorear el uso de recursos para detectar posibles ataques de denegación de servicio.

Protección de Operaciones Sensibles

  • Encriptar datos sensibles en reposo y en tránsito.
  • Utilizar autenticación multifactor para operaciones de alto riesgo.

Ejemplos

// Ejemplo de verificación de autorización en una mutación de Convex
import { mutation } from "./_generated/server";
import { v } from "convex/values";

export const updateUser = mutation({
  args: { userId: v.id("users"), name: v.string() },
  handler: async (ctx, args) => {
    const identity = await ctx.auth.getUserIdentity();
    if (!identity) {
      throw new Error("Unauthenticated");
    }
    // Verificar que el usuario autenticado sea el mismo que se actualiza
    if (identity.subject !== args.userId) {
      throw new Error("Unauthorized");
    }
    // Realizar la actualización
    await ctx.db.patch(args.userId, { name: args.name });
  },
});

Referencias

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

waynesutton/avoid-feature-creep

Prevent feature creep when building software, apps, and AI-powered products. Use this skill when planning features, reviewing scope, building MVPs, managing backlogs, or when a user says "just one more feature." Helps developers and AI agents stay focused, ship faster, and avoid bloated products.

waynesutton/convex

Umbrella skill for all Convex development patterns. Routes to specific skills like convex-functions, convex-realtime, convex-agents, etc.

waynesutton/convex-agents

Building AI agents with the Convex Agent component including thread management, tool integration, streaming responses, RAG patterns, and workflow orchestration

waynesutton/convex-best-practices

Guidelines for building production-ready Convex apps covering function organization, query patterns, validation, TypeScript usage, error handling, and the Zen of Convex design philosophy

waynesutton/convex-component-authoring

How to create, structure, and publish self-contained Convex components with proper isolation, exports, and dependency management

waynesutton/convex-cron-jobs

Scheduled function patterns for background tasks including interval scheduling, cron expressions, job monitoring, retry strategies, and best practices for long-running tasks

waynesutton/convex-file-storage

Complete file handling including upload flows, serving files via URL, storing generated files from actions, deletion, and accessing file metadata from system tables

waynesutton/convex-functions

Writing queries, mutations, actions, and HTTP actions with proper argument validation, error handling, internal functions, and runtime considerations

waynesutton/convex-http-actions

External API integration and webhook handling including HTTP endpoint routing, request/response handling, authentication, CORS configuration, and webhook signature validation

waynesutton/convex-migrations

Schema migration strategies for evolving applications including adding new fields, backfilling data, removing deprecated fields, index migrations, and zero-downtime migration patterns

waynesutton/convex-realtime

Patterns for building reactive apps including subscription management, optimistic updates, cache behavior, and paginated queries with cursor-based loading

waynesutton/convex-schema-validator

Defining and validating database schemas with proper typing, index configuration, optional fields, unions, and migration strategies for schema changes

waynesutton/convex-security-check

Quick security audit checklist covering authentication, function exposure, argument validation, row-level access control, and environment variable handling

Skills relacionados