Los solicitantes para trabajos de ingeniería de software a veces pasan por desafíos de codificación como parte del proceso de entrevista. La compañía puede enviar el código de los solicitantes y una tarea de desarrollo con una fecha límite, y los solicitantes devuelven el código con modificaciones basadas en la tarea de desarrollo.
¿Cómo las empresas que presentan estos desafíos de codificación prueban de manera segura el código que reciben de los solicitantes? Por supuesto, los solicitantes pueden tener la misma pregunta, ¿cómo trabajan de manera segura en el código que se les envía, pero dado que el solicitante se comunica con una compañía establecida, me imagino que las compañías son más confiables en esta situación? ¿Qué precauciones deben tomarse para abrir, explorar y ejecutar de manera segura el código que alguien que apenas conoce envía?
Un buen ejemplo del código en cuestión es una solución completa de Visual Studio de ~ 100,000 líneas de código C ++, con la tarea dev que requiere modificación o adición dentro de las 100 líneas a través de esa solución.
Tal vez la respuesta sea simplemente una cuestión de confianza, pero me pregunto si hay precauciones técnicas que tomen las empresas para asegurarse de que ningún solicitante pueda ejecutar códigos maliciosos en las computadoras de la compañía. Etiqueté virtualización y sandbox porque las máquinas virtuales parecen una forma razonable de sandbox el código en cuestión, pero si probar el código requiere que la computadora que realiza las pruebas tenga instalado un software extenso y costoso, ¿sigue siendo este el método adecuado o el único? ¿Hay algún tipo de análisis antimalware confiable en este caso?