Seguridad de memoria en Go: El peligro oculto de la falta de seguridad de hilos

2025-07-25

Este artículo cuestiona la comprensión común de la seguridad de memoria en Go. El autor argumenta que la simple seguridad de memoria (por ejemplo, evitar el acceso fuera de los límites) no es suficiente para programas robustos; la verdadera seguridad radica en evitar el comportamiento indefinido (UB). Un ejemplo de programa Go demuestra cómo las carreras de datos pueden llevar a UB y bloqueos, incluso sin usar operaciones `unsafe`. El autor argumenta que el manejo de las carreras de datos en Go no es lo suficientemente estricto, contradiciendo sus afirmaciones de seguridad de memoria, haciendo que los programas Go sean más vulnerables a exploits de seguridad. La conclusión enfatiza que la seguridad del lenguaje no es binaria, pero comprender las garantías de seguridad de un lenguaje y las compensaciones es crucial.

Desarrollo Carrera de Datos