Auditoría de seguridad de un fragmento de código según OWASP

Revisa un fragmento de código en busca de vulnerabilidades del OWASP Top 10: hallazgos con severidad, escenario de abuso, código corregido y pruebas para comprobar que el fallo no vuelve. Pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Incluye 4 variables personalizables y se copia gratis en un clic.

Avanzado · Código · Pendiente de revisión editorial

Prompt

Actúa como ingeniero de seguridad de aplicaciones especializado en revisión de código seguro y en el OWASP Top 10.

Contexto:
- Lenguaje y framework: {{lenguaje}}
- Qué hace este código y dónde se ejecuta: {{contexto}}
- Exposición: {{exposicion}}
- Código a revisar:
```
{{codigo}}
```

Entregables:
1. Resumen ejecutivo en 3 líneas: nivel de riesgo global y el hallazgo más urgente.
2. Tabla de hallazgos: ID, línea o fragmento afectado, categoría OWASP Top 10 y CWE cuando aplique, severidad (crítica, alta, media, baja) justificada según la exposición, y nivel de confianza.
3. Para cada hallazgo: por qué es vulnerable y un escenario de abuso descrito de forma conceptual, sin cargas de explotación listas para usar.
4. Código corregido completo, usando las defensas idiomáticas de {{lenguaje}} (consultas parametrizadas, escapado contextual, validación por lista blanca, control de acceso en servidor, gestión segura de secretos).
5. Pruebas automatizadas que demuestren que la corrección funciona, incluyendo entradas maliciosas típicas.
6. Medidas de defensa en profundidad fuera del código (cabeceras, permisos mínimos, registro y alertas).

Restricciones:
- No marques como vulnerable algo que no puedas justificar; si depende de código que no veo, indícalo como [COMPLETAR: confirmar] y explica qué revisar.
- Señala también lo que está bien hecho, para no romperlo al corregir.
- Si falta contexto clave (autenticación, origen de los datos), pregúntame antes.
- Esta revisión es orientativa: para sistemas en producción con datos sensibles, recomienda una auditoría o pentest profesional.

Formato: resumen, tabla, detalle por hallazgo, código corregido y pruebas.

Cómo usarlo

Pega el fragmento completo de la función o endpoint, no solo la línea sospechosa, y explica de dónde vienen los datos de entrada. Aplica las correcciones empezando por las de severidad crítica y ejecuta las pruebas propuestas.

Ejemplo de uso

Lenguaje: PHP 8 sin framework · Contexto: endpoint que busca pedidos por email del cliente · Exposición: Internet pública · Código: consulta SQL construida concatenando $_GET.

Resultado de ejemplo

1. Resumen

Riesgo crítico. El id se concatena en el SQL (inyección) y no se comprueba que la factura pertenezca al usuario (IDOR). Ambos son explotables desde Internet.

2. Hallazgos

IDFragmentoCategoríaSeveridadConfianza
F1'... WHERE id = ' + req.params.idA03 Inyección · CWE-89CríticaAlta
F2Sin filtro por usuarioA01 Control de acceso · CWE-639AltaAlta
F3SELECT *A01 · exposición de datosMediaMedia
F4Promesa sin catchA09 · errores no gestionadosBajaAlta

4. Código corregido

app.get('/facturas/:id', requireAuth, async (req, res, next) => {
  // Lista blanca: solo enteros positivos
  if (!/^[1-9]\d{0,9}$/.test(req.params.id)) {
    return res.status(400).json({ error: 'id_no_valido' });
  }
  try {
    // Consulta parametrizada (sintaxis de node-postgres: [COMPLETAR: confirmar driver])
    const { rows } = await db.query(
      'SELECT id, numero, fecha, total, estado FROM facturas WHERE id = $1 AND usuario_id = $2',
      [req.params.id, req.user.id],
    );
    // 404 tanto si no existe como si es de otro usuario: no revela qué ids existen
    if (rows.length === 0) return res.status(404).json({ error: 'no_encontrada' });
    return res.json(rows[0]);
  } catch (err) {
    return next(err);
  }
});

Las columnas son un ejemplo: ajústalas a lo que el cliente realmente necesita ver. Esta revisión es orientativa; antes de producción con datos de facturación, conviene una auditoría profesional…

Datos clave

Categoría
Programación y desarrollo · Debugging
Tipo de resultado
Código
Nivel
Avanzado
Pensado para
ChatGPT, Claude, Gemini y Microsoft Copilot
Verificado en
Pendiente de verificación editorial
Variables
Lenguaje y framework, Qué hace y dónde se ejecuta, Exposición y Código
Idioma
Español
Precio
Gratis, sin registro
Actualizado
07/11/2026

Preguntas frecuentes

¿Puede la IA sustituir a una herramienta SAST o a un pentest?

No. Es útil como primera revisión y para entender los fallos, pero puede pasar cosas por alto o dar falsos positivos. Combínala con análisis estático, revisión humana y, en sistemas críticos, pruebas de penetración profesionales.

¿Es seguro pegar mi código en un chatbot?

Elimina antes claves, contraseñas, tokens y datos personales, y revisa la política de tu empresa sobre herramientas de IA. Si el código es confidencial, usa una versión empresarial con garantías de privacidad.

¿Para qué sirve este prompt?

Revisa un fragmento de código en busca de vulnerabilidades del OWASP Top 10: hallazgos con severidad, escenario de abuso, código corregido y pruebas para comprobar que el fallo no vuelve.

¿Con qué herramientas de IA funciona?

Está pensado para ChatGPT, Claude, Gemini y Microsoft Copilot. Todavía no lo hemos verificado en estas herramientas, por lo que los resultados pueden variar entre ellas.

¿Cómo personalizo el prompt?

Pulsa «Personalizar» y rellena las variables (Lenguaje y framework, Qué hace y dónde se ejecuta, Exposición y Código). El texto se actualiza al instante y después puedes copiarlo con un clic. Los valores se guardan solo en tu navegador.

¿Necesito experiencia para usarlo?

Es de nivel avanzado: está pensado para personas con experiencia en el tema que sepan evaluar y ajustar el resultado.

¿Este prompt es gratis?

Sí. Todos los prompts de HomeCasa Prompts son gratuitos, sin registro ni suscripción. Puedes usarlos también en proyectos profesionales.

¿Puedo fiarme del resultado de la IA?

Úsalo como un borrador de calidad: revisa siempre datos, cifras y afirmaciones importantes antes de publicarlos o tomar decisiones.

Prompts relacionados