AmuraAMURA Software
Auditoría de código IA · Por herramienta

Auditoría de código generado con Cursor.

Cursor entrega funcionalidad rápido. El mismo patrón que lo permite — código con seguridad, salida con apariencia idiomática, iteración veloz — es el que esconde el riesgo que nosotros leemos. Auditamos bases de código de Cursor línea por línea, nombramos lo que está roto y te decimos qué arreglar primero.

Todas las auditorías de código IA
Por qué esta auditoría

Lo que típicamente entrega Cursor.

Apps Next.js, Python y full-stack con Tailwind, enviadas a gran velocidad por desarrolladores individuales.

  • El autocompletado acepta filtros de propietario que parecen correctos pero pierden el check de user_id
  • El modo agente sube archivos .env junto con el resto del cambio
  • Las dependencias sugeridas por la IA aterrizan en package.json sin que el desarrollador lea qué hacen
  • Los route handlers generados salen sin protección de auth porque el desarrollador asume que la UI ya filtra
Qué encontramos

Patrones que vemos en proyectos Cursor.

Estos son hallazgos anonimizados de auditorías recientes. Los mismos patrones se repiten en bases de código de Cursor — los nombres cambian, los bugs no.
Altosecrets

Archivo .env subido al repositorio con credenciales reales

El repositorio contiene un archivo .env con URLs de base de datos, claves de API o secretos de terceros que apuntan a servicios reales y facturables. Aunque el repositorio sea privado hoy, cualquiera que lo clone para onboarding, lo bifurque o navegue por commits antiguos se queda con un juego de claves operativo.

Críticoauth

Fuga entre clientes por filtro de pertenencia ausente

Una consulta lee por id pero nunca comprueba que el id pertenezca al usuario autenticado — típicamente `SELECT * FROM invoices WHERE id = ?` en lugar de `... WHERE id = ? AND user_id = ?`. Dos cuentas de prueba pueden leerse los registros mutuamente cambiando un número en la URL.

Críticoauth

Rutas de API sin verificación de autenticación

Endpoints que modifican datos — crear, actualizar, eliminar — aceptan peticiones sin comprobar nunca una sesión, un JWT ni un token de API. La UI esconde los botones detrás de una pantalla de login, así que la persona que lo construyó da por hecho que la API está protegida. No lo está: cualquiera con curl y la URL puede llamarla.

Mediosupply-chain

Dependencia inventada o con typosquatting instalada

La IA sugirió un import para un paquete que o bien no existe en npm o se corresponde con un typosquat malicioso de uno real (`reqeusts`, `loadash`, `node-fetchh`). Cuando `npm install` funcionó, instaló o nada útil o el backdoor que alguien colocó al registrar el nombre — y ahora vive en el lockfile.

Altoauth

JWT decodificado pero nunca verificado en el servidor

El backend lee el id de usuario del payload del JWT pero nunca verifica la firma contra la clave pública. Falsificar un token de administrador es un script de una línea — el sistema confía en lo que el cliente diga ser.

Cómo funciona

Afinada para stacks de Cursor.

Saber qué herramienta construyó el código nos permite enfocar la auditoría. Empezamos detectando la firma de Cursor en la base de código, después leemos las superficies donde se concentran los modos de fallo específicos de Cursor: auth, secretos, acceso a datos, dependencias y rutas que tocan el LLM. De cinco a diez días hábiles desde el arranque hasta el informe escrito. No hace falta acceso al despliegue — con acceso de lectura al repositorio basta.

Qué te llevas

Los cinco entregables de la auditoría central.

Informe escrito (PDF)

Hallazgos ordenados por gravedad, con rutas de archivo, referencias de línea, motivo y boceto de arreglo. Legible tanto por ingeniería como por roles no técnicos.

Vídeo Loom de repaso

Grabación de 15 minutos del informe — para el socio, inversor o director que no asistió a la llamada en directo.

Llamada de revisión de 60 minutos

Conversación en vivo sobre gravedad, orden de arreglo y las decisiones que requieren a una persona en el bucle.

Ventana de seguimiento de 30 días

Slack o correo para aclaraciones, revisión de arreglos y un segundo par de ojos sobre los parches.

Plazo: 5 a 10 días hábiles

Base de código típica de pyme construida con IA, desde el arranque hasta el informe. Auditorías más grandes o multi-repo se cotizan aparte.

Preguntas frecuentes

Preguntas específicas de la herramienta.

¿Podéis decir desde el código que usamos Cursor?

+

Frecuentemente sí — Cursor deja huellas estilísticas en la forma de los commits, los patrones de completado y el tipo de sugerencias que los desarrolladores tienden a aceptar. Lo confirmamos leyendo el código, no preguntando a tu equipo.

Usamos el modo agente de Cursor. ¿Cambia eso la auditoría?

+

La amplía. Los cambios en modo agente tocan varios archivos a la vez, así que prestamos atención extra al churn del lockfile, a la higiene del .env y a los diffs que cruzaron fronteras (auth + UI + base de datos) en un solo commit.

¿Cubrís las integraciones MCP de Cursor?

+

Sí. Si tu setup de Cursor usa servidores MCP que leen tu base de código o sistemas externos, auditamos qué pueden ver esos servidores y si su acceso está más acotado que el acceso completo al repositorio del desarrollador.

Confianza

IA segura, trazable,
preparada para empresa.

Diseñamos soluciones con privacidad desde el inicio, control humano, trazabilidad, límites de uso, gestión de permisos y documentación. Para procesos sensibles, ayudamos a evaluar los riesgos y obligaciones aplicables bajo el RGPD y el Reglamento de IA.

  • 01No entrenamos modelos con tus datos sin autorización explícita.
  • 02Revisión humana incorporada cuando el riesgo del proceso lo requiere.
  • 03Trazabilidad: instrucciones, fuentes, permisos, errores y métricas documentados.
  • 04Privacidad, seguridad y control integrados desde el diseño.
  • 05Soluciones que se pueden mantener, auditar y mejorar con el tiempo.
RGPDReglamento de IAAEPDPreparado para ISO 27001Datos alojados en la UE
Diagnóstico personal

Trabajamos con
pocos clientes.

Cada proyecto lo lidera personalmente uno de los socios. Si hay encaje, te respondemos en menos de 24 horas con una primera lectura concreta de tu caso — no con una demostración genérica.

Cómo trabajamos
  1. 01Nos cuentas qué proceso te quita tiempo
  2. 02Te respondemos personalmente en < 24 h
  3. 03Llamada de 20 min — sin demostración ni discurso comercial
Empezar la conversación →