El autor del marco web escrito en el lenguaje Rust eliminó después de recibir críticas por un «uso incorrecto» del lenguaje Rust. El marco actix-web, que ha sido descargado más de 800,000 veces, permite integrar funcionalidad de servidor y cliente http en aplicaciones en Rust, y está diseñado para lograr el máximo rendimiento y en muchas pruebas de marcos web.
Poco antes del incidente, se reportó en los issues de GitHub un comportamiento indefinido (Undefined Behaviour) en el código del servidor actix-web, que ocurre en un bloque que se ejecuta en modo (que permite llevar a cabo acciones inseguras con punteros). El autor de actix-web no eliminó el bloque unsafe, pero reestructuró la llamada a este bloque para que no ocurriera el comportamiento indefinido. Las sugerencias para eliminar unsafe fueron rechazadas por el autor, quien argumentó sobre la posible pérdida de rendimiento y declaró que no usa unsafe sin necesidad y está convencido de la seguridad de los bloques que operan en este modo.
Un miembro del equipo RustSec, que descubrió el comportamiento indefinido, no estuvo de acuerdo y sugirió que el uso de muchos bloques unsafe en actix-web es injustificable. Después de esto, él publicó
acerca de la inadmisibilidad del uso de unsafe, en el que, entre otras cosas, se mencionó que el enfoque implementado en actix-web para trabajar con punteros (varios punteros mutables a los mismos datos) podría potencialmente causar vulnerabilidades de use-after-free y no se ajusta a la paradigma de desarrollo en Rust.
Después artículos en , en los issues de GitHub trolls y el autor de actix-web fue objeto de y insultos por el uso incorrecto de Rust. El autor no soportó la presión psicológica, y , lo que puso fin a su participación en Open Source.
Fuente: opennet.ru
