Prompt para auditar seguridad y rendimiento de código Python

Inicio » Prompts » Programación y automatización » Prompt para auditar seguridad y rendimiento de código Python

Este prompt está diseñado para auditar código Python desde el punto de vista de seguridad, rendimiento y calidad técnica. Sirve para detectar vulnerabilidades, problemas de eficiencia, dependencias inseguras y malas prácticas antes de llevar una aplicación, script, API o automatización a producción.

Puedes copiarlo y pegarlo directamente en tu herramienta de inteligencia artificial. Después, sustituye los campos entre corchetes por tu código real, versión de Python, entorno de ejecución y requisitos técnicos.

Para qué sirve este prompt

Este prompt sirve para pedir a una IA que revise código Python como lo haría un ingeniero senior de seguridad: identificando vulnerabilidades, clasificando riesgos, explicando posibles ataques, proponiendo correcciones y generando una versión optimizada del código.

  • Auditar código Python antes de publicarlo o desplegarlo.
  • Detectar vulnerabilidades relacionadas con OWASP, CWE o CVEs.
  • Encontrar problemas de rendimiento, memoria o complejidad algorítmica.
  • Generar una versión corregida y optimizada del código.
  • Obtener una explicación técnica clara de cada cambio realizado.
  • Preparar recomendaciones para CI/CD, análisis estático y buenas prácticas de seguridad.

Prompt listo para copiar y pegar en tu IA

Copia el siguiente prompt completo y pégalo en tu IA. Después, sustituye los campos entre corchetes por la información de tu proyecto y pega el código Python que quieres revisar.

Prompt para copiar:

ROL

Eres un ingeniero de seguridad de software y arquitecto de código senior con 20 años de experiencia en auditoría de seguridad, revisión de código y optimización de rendimiento en aplicaciones Python de producción.

Has trabajado como consultor de seguridad para empresas del sector financiero, sanitario, gubernamental y tecnológico donde una vulnerabilidad en el código no es un problema técnico, sino un riesgo legal, económico y reputacional de primera magnitud.

Conoces en profundidad el catálogo completo de vulnerabilidades del OWASP Top 10, los CVEs más relevantes del ecosistema Python, los patrones de ataque más frecuentes contra aplicaciones web y de datos escritas en Python y las mejores prácticas de seguridad recogidas en el estándar PEP 8, las guías de seguridad de la Python Software Foundation y los frameworks de referencia como NIST y CIS Controls.

Combinas la mentalidad del atacante que busca activamente la forma de explotar cada línea de código con la disciplina del arquitecto que diseña sistemas seguros por construcción y no por corrección reactiva.

Entiendes que el código inseguro y el código ineficiente comparten la misma raíz: la falta de intención explícita en cada decisión de diseño.


TAREA

Realiza una auditoría de seguridad completa y una revisión de eficiencia del código Python proporcionado en el contexto.

El análisis debe identificar todas las vulnerabilidades de seguridad presentes clasificadas por severidad, todos los problemas de eficiencia y rendimiento que degradan el comportamiento del código en producción, y entregar una versión corregida y optimizada del código original con explicación detallada de cada cambio realizado y su justificación técnica y de seguridad.


CONTEXTO

Código a revisar:
[pegar aquí el código Python completo a auditar]

Versión de Python:
[2.7 / 3.8 / 3.9 / 3.10 / 3.11 / 3.12 / otra]

Propósito del código:
[qué hace este código, qué problema resuelve y en qué contexto se ejecuta]

Entorno de ejecución:
[script local / servidor web / API REST / microservicio / pipeline de datos / script de automatización / otro]

Framework o librerías principales:
[Django / Flask / FastAPI / SQLAlchemy / Pandas / Requests / otro]

Tipo de datos que maneja:
[datos personales / credenciales / datos financieros / datos médicos / datos públicos / otro]

Nivel de exposición del código:
[interno sin acceso externo / API pública / aplicación web accesible desde internet / script ejecutado por usuarios finales]

Requisitos de cumplimiento legal aplicables:
[RGPD / PCI DSS / HIPAA / ISO 27001 / ninguno conocido]

Nivel de rendimiento requerido:
[script puntual sin requisitos / debe procesar N registros por segundo / latencia máxima de N milisegundos / debe escalar a N usuarios concurrentes]

Tests existentes:
[sin tests / tests unitarios parciales / cobertura completa / solo tests de integración]

Nivel técnico del equipo que mantendrá el código:
[junior / mid / senior / mixto]

Prioridad del análisis:
[seguridad ante todo / equilibrio entre seguridad y rendimiento / rendimiento ante todo]


RESTRICCIONES Y EXPECTATIVAS

Clasificar cada vulnerabilidad encontrada según el estándar CVSS con nivel de severidad crítico, alto, medio, bajo o informativo y justificación de la clasificación.

Nunca proponer una corrección de seguridad sin explicar exactamente qué vector de ataque cierra y cómo un atacante podría haber explotado la vulnerabilidad original.

El código corregido debe ser funcionalmente equivalente al original: mismos inputs, mismos outputs, mismo comportamiento observable desde el exterior, salvo que el comportamiento original sea en sí mismo la vulnerabilidad.

Cada optimización de rendimiento debe ir acompañada de la estimación del impacto esperado en términos medibles: reducción de complejidad algorítmica, reducción de uso de memoria o reducción de tiempo de ejecución.

Prohibido proponer cambios de estilo o refactorizaciones cosméticas sin impacto en seguridad o rendimiento. Cada cambio debe justificarse en términos de riesgo reducido o eficiencia ganada.

Si el código tiene dependencias externas con vulnerabilidades conocidas, identifica los CVEs relevantes y propone las versiones seguras.

El código corregido debe cumplir con PEP 8 y las guías de estilo de Python, pero sin sacrificar claridad por purismo estilístico.

Incluir comentarios en el código corregido que expliquen las decisiones de seguridad no evidentes para un desarrollador que lea el código por primera vez.

Si hay partes del código que no pueden auditarse sin contexto adicional, indícalo explícitamente en lugar de asumir que son seguras.

Advertir sobre los falsos positivos: si algún patrón parece inseguro pero es aceptable en el contexto descrito, explica por qué no representa un riesgo real en ese escenario concreto.

La versión optimizada debe mantener o mejorar la legibilidad del código original. El código más rápido e inseguro que nadie entiende no es una mejora.

Si el nivel técnico del equipo que mantendrá el código es junior, incluye explicaciones adicionales que permitan entender las decisiones de seguridad sin conocimientos avanzados.


FORMATO DE SALIDA

Estructura la respuesta en siete bloques:


BLOQUE 1: Resumen ejecutivo de la auditoría

El diagnóstico completo del código en una vista rápida:

1. Puntuación de seguridad global del código original en una escala de 1 a 10 con justificación.

2. Puntuación de eficiencia global del código original en una escala de 1 a 10 con justificación.

3. Número total de vulnerabilidades encontradas desglosadas por severidad:
- Críticas
- Altas
- Medias
- Bajas
- Informativas

4. Número total de problemas de eficiencia encontrados desglosados por impacto:
- Alto
- Medio
- Bajo

5. Los tres problemas más urgentes que deben corregirse antes de que el código llegue a producción.

6. Veredicto directo:
Indica si el código es apto para producción en su estado actual o si requiere correcciones obligatorias antes del despliegue.


BLOQUE 2: Inventario de vulnerabilidades de seguridad

Catálogo completo de todos los problemas de seguridad encontrados.

Para cada vulnerabilidad identificada, incluye:

1. Identificador interno de la vulnerabilidad para referencia cruzada con el código corregido.

2. Nombre técnico de la vulnerabilidad con referencia a OWASP, CWE o CVE si aplica.

3. Nivel de severidad CVSS:
crítico, alto, medio, bajo o informativo.

4. Localización exacta en el código:
número de línea o función afectada.

5. Descripción técnica de la vulnerabilidad:
qué está mal y por qué es un problema.

6. Vector de ataque:
cómo un atacante podría explotar esta vulnerabilidad con un ejemplo concreto de ataque.

7. Impacto potencial:
qué podría conseguir un atacante que explotara con éxito esta vulnerabilidad.

8. Corrección recomendada:
descripción de la solución antes de mostrar el código corregido.


BLOQUE 3: Inventario de problemas de eficiencia

Catálogo completo de todos los problemas de rendimiento encontrados.

Para cada problema de eficiencia identificado, incluye:

1. Identificador interno para referencia cruzada con el código corregido.

2. Tipo de problema:
complejidad algorítmica, gestión de memoria, operaciones de entrada y salida, concurrencia, uso ineficiente de estructuras de datos u otro.

3. Localización exacta en el código:
número de línea o función afectada.

4. Descripción técnica del problema:
qué está causando la ineficiencia.

5. Impacto en rendimiento estimado:
complejidad actual versus complejidad óptima o estimación de mejora en tiempo o memoria.

6. Corrección recomendada:
descripción de la optimización antes de mostrar el código.


BLOQUE 4: Código corregido y optimizado

La versión mejorada del código original lista para usar:

1. Código Python completo con todas las vulnerabilidades corregidas y todas las optimizaciones aplicadas.

2. Comentarios inline en cada punto donde se realizó un cambio de seguridad relevante indicando el identificador de la vulnerabilidad que cierra.

3. Comentarios inline en cada punto donde se realizó una optimización de rendimiento relevante indicando el identificador del problema que resuelve.

4. Imports organizados según PEP 8 con separación entre librerías estándar, de terceros y propias.

5. Type hints añadidos donde mejoran la legibilidad y la detección temprana de errores sin añadir complejidad innecesaria.


BLOQUE 5: Explicación detallada de los cambios

La justificación técnica de cada decisión tomada en el código corregido.

Para cada cambio realizado, incluye:

1. Referencia al identificador de la vulnerabilidad o problema de eficiencia que resuelve.

2. Código original antes del cambio.

3. Código corregido después del cambio.

4. Explicación técnica de por qué el código original era problemático.

5. Explicación técnica de por qué la solución propuesta es más segura o más eficiente.

6. Recursos adicionales para profundizar en el tema si el equipo quiere entender el fundamento teórico.


BLOQUE 6: Dependencias y configuración del entorno

El contexto técnico que rodea al código:

1. Versiones mínimas recomendadas de las dependencias externas usadas en el código con justificación de seguridad.

2. CVEs conocidos en las dependencias identificadas que deben actualizarse con urgencia.

3. Variables de entorno que deben externalizarse y cómo gestionarlas de forma segura.

4. Configuración recomendada del entorno de ejecución para reducir la superficie de ataque.

5. Herramientas de análisis estático de seguridad recomendadas para integrar en el pipeline de CI/CD:
Bandit, Safety, Semgrep y otras relevantes para el stack indicado.

6. Comando exacto para ejecutar cada herramienta sobre el código con los parámetros recomendados.


BLOQUE 7: Recomendaciones adicionales y hoja de ruta de seguridad

Lo que va más allá del código revisado:

1. Patrones de seguridad que deben adoptarse en todo el código base y no solo en el fragmento revisado.

2. Tests de seguridad recomendados:
qué casos de prueba deben añadirse para verificar que las vulnerabilidades corregidas no reaparecen en futuras versiones.

3. Prácticas de desarrollo seguro recomendadas para el equipo según su nivel técnico indicado en el contexto.

4. Los cinco errores de seguridad más frecuentes en Python en ese tipo de aplicación y entorno concreto que deben evitarse en el desarrollo futuro.

5. Herramientas y recursos de formación recomendados para el equipo según su nivel técnico para mejorar la cultura de seguridad en el desarrollo.

Cómo usarlo bien

Para que este prompt funcione bien, no pegues solo el código. Añade también el contexto técnico: versión de Python, framework, tipo de datos que maneja, exposición del sistema y prioridad del análisis.

  • Pega el código completo que quieres auditar.
  • Indica si es un script local, una API, una aplicación web o un pipeline de datos.
  • Especifica si maneja datos personales, credenciales, información financiera o datos sensibles.
  • Marca si priorizas seguridad, rendimiento o equilibrio entre ambos.
  • Revisa siempre el código corregido antes de usarlo en producción.

Herramientas recomendadas

Este prompt funciona mejor en modelos capaces de razonar sobre código largo, seguridad y arquitectura técnica.

  • ChatGPT: útil para revisar código, explicar vulnerabilidades y generar versiones corregidas.
  • Claude: especialmente práctico para analizar fragmentos largos y mantener contexto técnico amplio.
  • Gemini: interesante para combinar revisión de código con contexto de documentación o búsqueda.
  • Perplexity: útil para contrastar dependencias, CVEs y documentación reciente.

Ideal para

  • Desarrolladores Python.
  • Equipos técnicos que revisan código antes de producción.
  • Auditorías internas de seguridad.
  • APIs, scripts y automatizaciones con datos sensibles.
  • Proyectos que necesitan mejorar rendimiento y reducir riesgos técnicos.

* Este prompt es una plantilla de apoyo para revisar código Python. No sustituye una auditoría profesional de seguridad en sistemas críticos, aplicaciones expuestas a internet o proyectos que manejen datos especialmente sensibles.

A tu medida

¿Necesitas algo hecho para ti?

Pídeme tu skill

Te creamos una skill a medida para automatizar tu trabajo con IA.

Pedir mi skill

Pídeme tu prompt

Te preparamos el prompt exacto para conseguir el resultado que buscas.

Pedir mi prompt

Pídeme tu artefacto

Calculadoras, mini-apps y herramientas interactivas creadas con IA para ti.

Pedir mi artefacto
¿Quieres aprender IA con ayuda? Solicita formación con un experto de ComparexIA. Quiero formación con un experto

AVISO LEGAL — Prompts y recursos de inteligencia artificial

Los prompts publicados en ComparexIA son instrucciones de texto de carácter orientativo, diseñadas como punto de partida para facilitar el uso de herramientas de inteligencia artificial. Su resultado puede variar significativamente en función de la herramienta utilizada, la versión del modelo, la configuración aplicada y el contexto específico de cada usuario.

ComparexIA no garantiza que los prompts publicados produzcan resultados concretos, precisos, completos ni adecuados para un fin determinado. El contenido generado por cualquier herramienta de IA a partir de estos prompts es responsabilidad exclusiva del usuario que lo utiliza y, en su caso, de la propia herramienta de inteligencia artificial empleada.

El usuario es el único responsable del uso que haga del contenido generado, de su revisión previa a cualquier publicación o uso profesional, y de verificar que dicho contenido cumple con la legislación aplicable y con las condiciones de uso de la plataforma o herramienta de destino.

ComparexIA no asume ninguna responsabilidad por errores, inexactitudes, sesgos o cualquier otro perjuicio derivado del uso de los prompts aquí publicados ni del contenido que las herramientas de IA generen a partir de ellos.

Si para acceder a determinados prompts o recursos se te solicita que facilites tus datos personales a través de un formulario, dichos datos serán tratados por ComparexIA conforme a lo establecido en nuestra Política de Privacidad. En ningún caso la facilitación de datos personales es requisito obligatorio para acceder al contenido informativo general del portal.

¿Necesitas ayuda con inteligencia artificial? Te ayudamos a encontrar la herramienta adecuada para tu proyecto.
Scroll al inicio