Me han asignado desarrollar una integración a una de las aplicaciones de mi empleador a un sistema externo desarrollado por nuestro cliente. La especificación de nuestro cliente para la integración que tiene algunos defectos flagrantes relacionados con la seguridad. Las fallas permitirían que un usuario no autorizado acceda al sistema para ver datos restringidos.
He señalado las fallas y sus posibles riesgos de seguridad si se implementan como se diseñó, y proporcioné una alternativa sin la falla, pero (en resumen) el cliente me ha dicho "hágalo de la manera que especificamos".
¿Tiene un programador la responsabilidad ética de NO implementar código con riesgos de seguridad conocidos? ¿En qué momento los requisitos de un cliente superan la responsabilidad ética que tenemos como desarrolladores de software para crear aplicaciones seguras?
fuente
Respuestas:
Creo que has hecho tu parte señalando el problema y sugiriendo una alternativa. Si insisten en que haga cosas que los expongan a un cierto nivel de riesgo, debe asegurarse de tener un rastro en papel (y copias de seguridad) que demuestre que lo solicitaron explícitamente, sabiendo los riesgos involucrados. Si realmente erespreocupado, podría decirles que con gusto haría lo que quiere, si primero firman algún tipo de documento legal / descargo de responsabilidad en el que reconocen los riesgos asociados con lo que le han pedido que haga (y, por supuesto, busque un abogado redactar dicho documento). Personalmente no conozco ningún precedente para tal documento para esta situación, pero estoy seguro de que podría encontrar un abogado que lo ayude con esto. Si su empresa tiene un departamento legal, podría ser algo en lo que deberían involucrarse si existe un riesgo potencial de responsabilidad corporativa. Y, por supuesto, si es tan grave, también debe discutir esto con su gerente.
Creo que la única situación en la que podría estar bien negarse a hacer el trabajo sería si se trata de un software para un sistema donde la falla que le preocupa podría llevar al sistema a verse comprometido de tal manera que podría resultar en la muy probable pérdida de vidas / lesiones personales graves o algún tipo de pérdida catastrófica de propiedad.
fuente