开放源码软件ABC
C 代表让安全团队彻夜难眠的缩略语
当大多数开发人员听到 "合规"这个词时,都会两眼放光。没有人会因为热衷于法律要求、审计或安全标准而投入编码工作。但事实是:如果您正在开发任何严肃的应用程序,无论是医疗保健、金融科技还是 SaaS,合规性都会影响您的业务成败。
在本期的开放源码软件 ABC 中,我们将讨论 "C 代表合规性",并详细分析其重要性、大多数团队的错误以及如何保持领先。
什么是开源合规?
开源合规性的核心是确保您发布的软件遵守规则,既合法又安全。这包括
- 许可证- 每个开放源码软件包都附带条件。
- 法规- 行业标准,如 GDPR、SOC 2、PCI 和 FedRAMP。
- 依赖关系- 代码库中隐藏的库网,它们本身存在风险。
如果忽视这些问题,你冒的不仅是建筑被破坏的风险,还有法律诉讼、罚款和严重声誉受损的风险。
破解开源许可证
并非所有许可证都是一样的:
- MIT 许可→ 几乎可以做任何事情,只需保留版权声明。
- GPL 许可→ 如果您使用它,您的代码也必须是开源的。
- Apache 许可证→ 介于两者之间,有具体的归属要求。
如果混合错误,"简单 "的依赖性升级就会突然变成合规性噩梦。
开发商不能忽视的法规
如果您的应用程序触及用户数据(面对现实吧,几乎所有应用程序都会触及用户数据),那么合规性就不是可有可无的了:
- GDPR- 欧洲数据保护的黄金标准。
- SOC 2- 向企业销售 SaaS 供应商的必备条件。
- PCI DSS- 如果要处理付款,就必须遵守。
- FedRAMP- 如果您要向美国联邦政府销售产品,则必须填写。
稍有不慎,就会面临监管罚款、合同丢失,以及法律和安全团队无尽的头痛。
依赖性:隐藏的合规风险
现代软件堆栈由数百(有时数千)个开源软件包组成。每一个
- 拥有自己的许可证。
- 可能包含漏洞。
- 可能会毫无征兆地失去支持。
一个过时的报废框架或未打补丁的依赖性,都可能在一夜之间影响你的合规性。
团队的错误之处
我们经常看到这种情况:
- 不到最后一刻,就把遵纪守法当作 "可有可无 "的事。
- 在报废框架上运行生产。
- 因为 "还能用 "而忽视依赖性更新。
剧透:这不是战略。那是一种责任。
如何保持合规而不失去理智
聪明的团队是如何解决合规问题的:
- 使用软件构成分析 (SCA) 工具- 扫描依赖关系,查找漏洞和许可证冲突。
- 保持更新- 是的,这很痛苦。是的,这需要时间。但过时的代码 = 合规风险。
- 为生命周期结束(EOL)做好计划--AngularJS、Struts 和 Tomcat 等框架最终会停止更新。如果没有扩展支持,你就会暴露在外。
- 让合规成为开发文化的一部分- 而不仅仅是在法律要求时打勾。
为什么合规不仅仅是一个复选框
归根结底,合规不是为了取悦审计人员。而是要
- 打造值得信赖的软件
- 保护用户和公司
- 让工程师、管理人员和律师远离恐慌模式。
换句话说,合规性可确保您的软件和工作安全。
下一个D 代表文件
这是我们 OSS 之旅的第三站。下一次,我们将讨论为什么 "祝你好运,未来的我 "并不是文档的最佳实践。
在此之前,请及时更新您的依赖关系,保持许可证的正确性,并采取敏锐的合规策略。
主持人
泰勒-科贝特
合规不仅仅是楼上套房的复选框。而是要构建人们在现实世界中可以真正信任和使用的东西。
通过分享: