Ich wurde beauftragt, eine Integration in eine der Anwendungen meines Arbeitgebers in ein externes System zu entwickeln, das von unserem Kunden entwickelt wurde. Die Spezifikation unseres Kunden für die Integration, die einige offensichtliche Sicherheitsmängel aufweist. Die Fehler würden einem nicht autorisierten Benutzer den Zugriff auf das System ermöglichen, um eingeschränkte Daten anzuzeigen.
Ich habe auf die Mängel und ihre potenziellen Sicherheitsrisiken hingewiesen, wenn sie wie geplant implementiert werden und eine Alternative ohne den Mangel darstellen, aber (kurz gesagt) vom Kunden die Anweisung erhalten, "es so zu tun, wie wir es angegeben haben".
Hat ein Programmierer die ethische Verantwortung, KEINEN Code mit bekannten Sicherheitsrisiken zu implementieren? Ab wann überwiegen die Anforderungen eines Kunden die ethische Verantwortung, die wir als Softwareentwickler für die Erstellung sicherer Anwendungen haben?