又是漏洞!代码BUG何时休

9月13日,Travis CI 发布的一篇安全公告引起了社区公愤。

又是漏洞!代码BUG何时休

不仅Szilágyi 与几名社区成员一起抨击了该公告,网络开发商 Jake Jarvis 也称这是一封“令人尴尬的‘安全公告’。”

而这一切的起因都是因为一个漏洞。

Travis CI 是一个开源的持续集成构建项目,已累计为超过 90 万个开源项目和 60 万用户提供服务。因为它能与 GitHub 和 Bitbucket 无缝集成,所以目前大多数的 GitHub 项目都已移入到 Travis CI 的构建队列中。

就在前些天,Travis CI被爆出存在严重的安全漏洞——所有公共开源存储库的安全环境变量(签名秘钥、访问凭据和所有公共开源项目的API tokens 等)全部包含在 pull request 构建中。

一旦这些环境变量被窃取,那么这一漏洞将导致数千个开源项目的核心被泄露。

漏洞出现8天后,有人将问题同步给了 Travis 的公司。一直到9月10日,这个漏洞终于被修复。

有人可能会奇怪,Travis CI 已经是一个成熟的项目,为什么还会犯如此低级的错误?

实际上,一个程序的代码可能成千上万行,全靠程序员一行一行地敲,要做到完全准确无误,简直难如登天。

所以,即使竭力避免,因为代码问题出现漏洞也屡见不鲜。

就在上个月,谷歌程序员的一个BUG,在业内引起一片哗然,由于代码中少打一个字符“&”,导致大量用户无法解锁登录 Chromebook 。

除此之外,今年2月份,Gab被黑客入侵,导致70GB 的平台用户数据泄露的事情,也闹得沸沸扬扬。

令人大跌眼镜的是,这个关键漏洞是由公司的 CTO Fosco Marotto 引入的。

要知道,Marotto 已经有 23 年的从业经历,曾在 Facebook 工作七年,是后端工具包 Parse 团队的关键成员。

由此可以看出,即使是世界顶级公司,即使是资深工程师,敲的代码也不一定靠得住。

而规范的代码是保证产品质量的有效方式之一,否则很容易产生潜在的质量问题。

如今,大厂们基本都有自己的代码标准和代码质量规则,但这种制度在一般公司很难推行,因为对于研发人员来说,这些规范更像是一个无形的枷锁,被束手束脚。

相比之下,自动化工具可以更有效地执行严格的代码规范。

去年底发布的飞算 SoFlu就很好地印证了这一点,作为全自动软件工程平台,通过托拉拽组件的方式画流程图,以此来完成可视化编程。

飞算 SoFlu团队将前沿大厂使用的开发规范结合实际遇到的问题处理方式后,从效率、安全等多方面考虑后,制定了自己的代码规范。比如,限定每行代码的写法、有些地方不允许 SQL 拼接、Join 不允许超过三次等。

除此之外,所有的代码还必须接受严格检测,确定没问题后才会被提交到代码仓库。同理,所有组件也必须经过代码质量管理工具扫描无误后才让用户使用。

现在,飞算 SoFlu 全自动软件工程平台的质量管理平台上已经有一千多条标准,新的规则也在不断被加入其中。

消灭BUG指日可待!

更重要的是,高质量的代码不仅节约时间,缩短项目周期;而且可以减少人力投入,降低团队管理难度。

完美解决了艾瑞咨询在《中国软件开发行业研究报告(2020)》指出的软件行业存在的四大痛点:项目成本高、开发周期长、代码质量低、团队管理难。

正如中国工程院院士沈昌祥所说的:“全自动软件工程平台在软件开发方面实现了更快更准确,降低了人力成本,节省了劳动力。”

最后,我想说的是,就如制造业解放工人的双手,劳动力的解放是一场革命,过去是工业革命,现在是信息技术的革命。

当软件工程摆脱对人的依赖,代码BUG的时代才会彻底宣告终结!

来源:SoFlu软件机器人

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月18日
下一篇 2021年8月18日

相关推荐