Errores lógicos, vulnerabilidades y malas prácticas en código Python generado por inteligencia artificial: taxonomía y evaluación de técnicas de detección
DOI:
https://doi.org/10.65415/7rhvv450Palabras clave:
inteligencia artificial generativa, Python, seguridad del software, análisis estático, calidad del códigoResumen
Los asistentes de programación basados en modelos de lenguaje de gran tamaño se han incorporado con rapidez a la formación y a la práctica profesional del desarrollo de software, y Python es uno de los lenguajes en los que más se emplean. La evidencia empírica acumulada muestra, sin embargo, que el código que producen puede contener errores lógicos, vulnerabilidades de seguridad y malas prácticas que no siempre son evidentes para quien lo recibe. Este artículo tuvo dos propósitos: organizar en una taxonomía los defectos documentados en código Python generado por inteligencia artificial y evaluar qué técnicas de verificación permiten detectarlos. Se siguió un enfoque mixto en dos fases. En la primera se realizó una revisión documental de estudios empíricos publicados entre 2022 y 2025. En la segunda se construyó un corpus de 35 casos, cada uno con una versión defectuosa y otra corregida, que reproducen los patrones identificados (10 errores lógicos, 15 vulnerabilidades asociadas a la clasificación CWE y 10 malas prácticas), y se analizó con tres herramientas de análisis estático (Bandit, Ruff y Pylint) y con pruebas derivadas de la especificación. Bandit detectó 13 de las 15 vulnerabilidades, pero ninguno de los errores lógicos; Ruff y Pylint detectaron 3 de los 10 errores lógicos; el recorrido de directorios y la ausencia de control de autorización escaparon a todas las herramientas estáticas y solo fueron evidenciados por pruebas. Se concluye que ninguna técnica aislada basta: la verificación del código generado por inteligencia artificial requiere combinar análisis estático de seguridad y de estilo con pruebas basadas en la especificación y con revisión humana, una combinación que debe enseñarse de forma explícita en los cursos de programación
Descargas
Referencias
Asare, O., Nagappan, M., & Asokan, N. (2023). Is GitHub's Copilot as bad as humans at introducing vulnerabilities in code? Empirical Software Engineering, 28(6), Artículo 129. https://doi.org/10.1007/s10664-023-10380-1
Astral Software. (2026). Ruff (Versión 0.16.8) [Software]. https://docs.astral.sh/ruff/
Becker, B. A., Denny, P., Finnie-Ansley, J., Luxton-Reilly, A., Prather, J., & Santos, E. A. (2023). Programming is hard – or at least it used to be: Educational opportunities and challenges of AI code generation. En Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1 (pp. 500–506). ACM. https://doi.org/10.1145/3545945.3569759
Denny, P., Prather, J., Becker, B. A., Finnie-Ansley, J., Hellas, A., Leinonen, J., Luxton-Reilly, A., Reeves, B. N., Santos, E. A., & Sarsa, S. (2024). Computing education in the era of generative AI. Communications of the ACM, 67(2), 56–67. https://doi.org/10.1145/3624720
Finnie-Ansley, J., Denny, P., Becker, B. A., Luxton-Reilly, A., & Prather, J. (2022). The robots are coming: Exploring the implications of OpenAI Codex on introductory programming. En Proceedings of the 24th Australasian Computing Education Conference (pp. 10–19). ACM. https://doi.org/10.1145/3511861.3511863
Fu, Y., Liang, P., Tahir, A., Li, Z., Shahin, M., Yu, J., & Chen, J. (2025). Security weaknesses of Copilot-generated code in GitHub projects: An empirical study. ACM Transactions on Software Engineering and Methodology, 34(8), 1–34. https://doi.org/10.1145/3716848
Jesse, K., Ahmed, T., Devanbu, P. T., & Morgan, E. (2023). Large language models and simple, stupid bugs. En 2023 IEEE/ACM 20th International Conference on Mining Software Repositories (MSR) (pp. 563–575). IEEE. https://doi.org/10.1109/MSR59073.2023.00082
Khoury, R., Avila, A. R., Brunelle, J., & Camara, B. M. (2023). How secure is code generated by ChatGPT? En 2023 IEEE International Conference on Systems, Man, and Cybernetics (SMC) (pp. 2445–2451). IEEE. https://doi.org/10.1109/SMC53992.2023.10394237
Liu, J., Xia, C. S., Wang, Y., & Zhang, L. (2023). Is your code generated by ChatGPT really correct? Rigorous evaluation of large language models for code generation [Preprint]. arXiv. https://doi.org/10.48550/arXiv.2305.01210
Liu, Y., Le-Cong, T., Widyasari, R., Tantithamthavorn, C., Li, L., Le, X.-B. D., & Lo, D. (2024). Refining ChatGPT-generated code: Characterizing and mitigating code quality issues. ACM Transactions on Software Engineering and Methodology, 33(5), Artículo 116. https://doi.org/10.1145/3643674
MITRE. (2024). 2024 CWE Top 25 most dangerous software weaknesses. https://cwe.mitre.org/top25/archive/2024/2024_top25_list.html
Moradi Dakhel, A., Majdinasab, V., Nikanjam, A., Khomh, F., Desmarais, M. C., & Jiang, Z. M. (2023). GitHub Copilot AI pair programmer: Asset or liability? Journal of Systems and Software, 203, Artículo 111734. https://doi.org/10.1016/j.jss.2023.111734
Negri-Ribalta, C., Geraud-Stewart, R., Sergeeva, A., & Lenzini, G. (2024). A systematic literature review on the impact of AI models on the security of code generation. Frontiers in Big Data, 7, Artículo 1386720. https://doi.org/10.3389/fdata.2024.1386720
Pazmiño Pérez, R. J., Lozano Alvarado, C. I., Solis Gomez, B., & León Pérez, C. (2026). Gobernanza institucional de la inteligencia artificial generativa y comportamiento ético en educación superior: efectos mediadores de la alfabetización en IA y la legitimidad percibida de las políticas. Research Club Scientia, 4(3), 1087–1096. https://doi.org/10.65415/g4d29j67
Pearce, H., Ahmad, B., Tan, B., Dolan-Gavitt, B., & Karri, R. (2022). Asleep at the keyboard? Assessing the security of GitHub Copilot's code contributions. En 2022 IEEE Symposium on Security and Privacy (SP) (pp. 754–768). IEEE. https://doi.org/10.1109/SP46214.2022.9833571
Perry, N., Srivastava, M., Kumar, D., & Boneh, D. (2023). Do users write more insecure code with AI assistants? En Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security (pp. 2785–2799). ACM. https://doi.org/10.1145/3576915.3623157
PyCQA. (2026a). Bandit (Versión 1.9.4) [Software]. https://bandit.readthedocs.io/
PyCQA. (2026b). Pylint (Versión 4.1.2) [Software]. https://pylint.readthedocs.io/
Snyder, H. (2019). Literature review as a research methodology: An overview and guidelines. Journal of Business Research, 104, 333–339. https://doi.org/10.1016/j.jbusres.2019.07.039
Spracklen, J., Wijewickrama, R., Sakib, A. H. M. N., Maiti, A., Viswanath, B., & Jadliwala, M. (2025). We have a package for you! A comprehensive analysis of package hallucinations by code generating LLMs. En Proceedings of the 34th USENIX Security Symposium (pp. 3687–3706). USENIX Association. https://www.usenix.org/conference/usenixsecurity25/presentation/spracklen
Tambon, F., Moradi-Dakhel, A., Nikanjam, A., Khomh, F., Desmarais, M. C., & Antoniol, G. (2025). Bugs in large language models generated code: An empirical study. Empirical Software Engineering, 30(3), Artículo 65. https://doi.org/10.1007/s10664-025-10614-4
van Rossum, G., Warsaw, B., & Coghlan, A. (2001). PEP 8 – Style guide for Python code. Python Software Foundation. https://peps.python.org/pep-0008/
Descargas
Publicado
Número
Sección
Licencia
Derechos de autor 2026 Rodrigo José Pazmiño Pérez, Romulo Steev Vélez Martínez, Elisa Flor Guamán Troya, Jhonny Roberto Pilco Llongo, Francisco Paolo Espinel Obregoso

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.








