我被指派为我的雇主的应用程序之一与客户开发的外部系统集成。我们客户的集成规范存在一些与安全性有关的明显缺陷。这些缺陷将允许未经授权的用户访问系统以查看受限制的数据。
我已经指出了缺陷及其潜在的安全风险(如果按设计实施它们),并提供了没有缺陷的替代方法,但是(总之)客户已经告诉他们“按照我们指定的方式进行操作”。
程序员是否有道德责任不实施具有已知安全风险的代码?在什么时候,客户的要求超过我们作为软件开发人员创建安全应用程序所承担的道德责任?
9
您已经指出了风险,但是您是否还指出了这些风险对其运营某些方面的可能性以及(可能更重要的)影响?您确定客户完全了解风险并拥有相应的证明文件吗?
—
Thomas Owens
我最近在一些工作中一直在脑海里折腾。如果我们相对于桥梁建造者进行相同的比较,在这种情况下,他被要求建造一座桥梁,而桥梁下面没有那些烦人的,阻碍性的支撑,或者只能承受两辆汽车的重量,那么出于他的声誉,他可能会拒绝。我认为工程师/人员有责任拒绝时,确实有必要提出意见。诚然,绝大多数设计投诉都没有接近人身伤害/死亡的风险。
—
Katana314
@TheSoftwareDev足够公平,但我要补充一点,有时人为风险可能比我们意识到的要深。一种安全隐患,使黑客能够轻松获取人们的信息并窃取其身份,使他们无家可归,以后自杀。一个社交网络漏洞,使缠扰者可以拦截妇女关于在餐厅开会的私人通讯,然后亲自跟踪并诱捕她;创造性地进行思考可能有些病态,但是有时我们可能会忘记我们的项目可能会被使用的范围很广。
—
Katana314
@gnat并不是真的重复。链接的问题是关于软件道德的一般方法,这个问题是在问“不再是我的问题”之前,OP应该打多少仗。
—
rath