Cuando miras el código fuente, puede ser muy difícil detectar todos los errores.
La fuente es una descripción de lo que hace el programa, pero no cómo. Si un desarrollador comete un error, puede que no sea obvio que lo haya hecho, o incluso que sea un error, si no afecta la funcionalidad aparente del programa
Para asegurarse de que no haya vulnerabilidades, el código debe revisarse para detectar errores. Esto requiere que las personas que entienden lo que se supone que haga el programa (en este caso, la implementación de un latido cardíaco TLS) lean el código fuente y realicen pruebas en el programa, lo que requiere tiempo y dinero. El equipo de OpenSSL no tiene la capacidad de buscar todos los errores potenciales, especialmente porque está hecho de voluntarios. Es por esta razón que el error pasó desapercibido. Fue solo después de que un investigador de seguridad en Google revisó OpenSSL cuando se descubrió y corrigió la vulnerabilidad.
Necesitas la habilidad de encontrar errores para poder solucionarlos.
Una vez que se libera un parche, siempre hay una ventana entre cuando se suelta el parche y cuando lo aplican los usuarios. Los atacantes tienen la capacidad de atacar a los usuarios en esa ventana ya que todavía son vulnerables. Esto es lo mismo con todo el software.