低代码并不意味着低风险

更新日期: 2022-06-04阅读: 660标签: 代码

在过去几年里,低代码和无代码工具及平台的兴起席卷了企业领域的方方面面。 Gartner 2021 年魔力象限 报告称,在低代码这块,41% 的非 IT 从业人员使用低代码/无代码工具定制或构建数据技术解决方案。Gartner 预测,到 2025 年底,将会有一半的低代码新客户是来自于 IT 组织之外的商业买家。

低代码/无代码工具通过一套拖拽式的用户界面,允许非程序员用户创建或修改应用程序,使得用户无需依赖传统的开发团队即可开发新的数据驱动型应用程序。低代码/无代码开发让企业得以通过使用预构建好的应用程序组件"块",轻松地创建出能够快速部署的应用程序。

低/无代码工具及平台的目标用户是两组完全不同的人群。一组是非技术人员,有时被称作是"平民开发者",他们使用这些工具来创建自己的应用程序,通常是为了简化他们的工作流程然后连接一些可能无法相互通信的产品。

另外一组则是传统的开发人员,他们使用这些预构建的块来简化自己的工作,帮助他们更快地将关键业务的预构建应用程序组件组合到一起。Mendix 最近发布的一项 调查 显示,64% 的 IT 专业人士认可低代码作为他们的首选解决方案。

在所有使用低代码的项目里,有多达 59% 的项目是属于业务和 IT 团队之间的协作,这意味着用户需要像处理其他任意第三方代码组件一样考虑软件供应链里的低代码/无代码组件。

低代码/无代码的风险

和软件供应链有关的业务风险在低代码/无代码的世界里同样存在,因为它们同样是基于容器的架构或是无服务器计算这些较为传统的开发范式。

任何这些范式的实现都有赖于它们所使用的框架是建立在安全的基础之上这一前提假设。换句话说,这假定了它们没有任何可能影响监管合规性或是在发生网络安全事件时直接影响商业声誉的造假能力。

举个例子,拿容器世界作个示范,我们已经看到了相关的大量报道:一些恶意用户在容器镜像里植入了挖矿软件然后将这些恶意软件发布到公共的 Docker 注册表。这可是一只肥羊,那些从一些知名的注册表拉取容器的用户很少会去检查它们。然而如果没有仔细检查容器镜像里面的内容的话,任何部署,只要引用了它们,也就等于为各种网络威胁敞开了大门,这里面还包括了可能会影响数据保护的意想不到的功能。

这也是为什么软件供应链会成为网络安全团队首要考虑因素的原因之一。

将第三方 api 的交互脚手架化

过去的 2021 年在软件方面教会我们的一件事情就是,供应链很复杂,而且攻击者会利用我们对于一些开发范式的信任不断寻找可乘之机。

向平民开发者推出低代码/无代码产品将会带来的安全风险,可能会比用户自身意识到的要更加复杂。一个平民开发者也许知道其应用程序的数据隐私要求,但是他未必能完全清楚脚手架是如何与第三方 API 交互的,从而使他们的组织很容易无意中就违反了一些合规性要求。比如,加州隐私权法案(CPRA)定义了几个新的个人身份信息(PII)类别,并将数据传输要求扩展到加州消费者隐私法案(CCPA)定义的范畴之外。熟悉 CCPA 要求并且使用低/无代码框架的平民开发者可能不理解如何正确处理这些新的需求,甚至对于脚手架是如何解决这些问题也并不是很清楚。

投资低代码/无代码解决方案的一些组织应当在其选择供应商的过程中涵盖以下部分:

  • 执行过一些常见的安全框架(如 NIST 800-218 1.1,安全软件开发框架等)的全面安全审核;
  • 提供一份由供应商给出的软件物料清单(SBOM),用于描述支持低代码/无代码框架的软件供应链的复杂性;
  • 审核数据传输实践以及 API 的使用以确认数据操作的监管影响;
  • 了解低/无代码供应商提供的与漏洞管理工作相关的补丁的服务级别协议(SLA)。

最底下的仍然是代码

尽管低代码/无代码框架为开发人员和平民开发者提供了一种简单的开发范式,它们却仍然需要代码的支持。“低代码"和"无代码"术语代表着用户需要知道多少程度的代码细节, 而不是 说它们具体包含多少代码。和所有现代软件一样,低代码\无代码框架同样也是基于多种来源的代码库构建的:已经商业化的第三方供应商、开源组件以及云 API 服务。这些元素中的每一个都可以代表一门独立的代码流派,每个流派都拥有属于自己的代码流。将它们放到一起,也就构成了一个现代服务的供应链,因此任何损害该供应链的行为都可以看作是一次供应链攻击。

这也即是为什么了解软件供应链是如此重要的原因,即便对于低代码或者无代码的框架来说同样如此。它们最底下仍然是靠代码赋能了这些应用程序,如果框架提供者没有能力管理相关风险的话,那么最终承担这些风险的仍然会是它们的消费者。

原文链接:low-code-does-not-mean-low-risk(翻译:Colstuwjx)

链接: https://fly63.com/article/detial/11650

不要浪费时间写完美代码

一个系统可以维持5年,10年,甚至20年以上,但是代码和设计模式的生命周期非常短,当对一个解决方案使用不同的方法进行迭代的时候,通常只能维持数月,数日,甚至几分钟的时间

Google内部在代码质量上的实践

良好的编程习惯涉及到很多方面,但在软件行业内,大多数的公司或组织都不会把良好的编程习惯列为主要关注点。 例如,具有可读性和可维护性的代码比编写好的测试代码或使用正确的工具更有意义,前者的意义在于可以让代码更易于理解和修改。

减少嵌套,降低代码复杂度

减少嵌套会让代码可读性更好,同时也能更容易的找出bug,开发人员可以更快的迭代,程序也会越来越稳定。简化代码,让编程更轻松!

关于 Google 发布的 JS 代码规范

Google为了那些还不熟悉代码规范的人发布了一个JS代码规范。其中列出了编写简洁易懂的代码所应该做的最佳实践。代码规范并不是一种编写正确JavaScript代码的规则,而是为了保持源代码编写模式一致的一种选择。

你解决的问题比你编写的代码更重要!

程序员似乎忘记了软件的真正目的,那就是解决现实问题。您编写的代码的目的是为了创造价值并使现有世界变得更美好,而不是满足您对自我世界应该是什么的以自我为中心的观点。有人说:如果你拥有的只是一把锤子,那么一切看起来都像钉子一样

tinymce与prism代码高亮实现及汉化的配置

TinyMCE是一个轻量级的基于浏览器的所见即所得编辑器,由JavaScript写成。它对IE6+和Firefox1.5+都有着非常良好的支持。功能方强大,并且功能配置灵活简单。另一特点是加载速度非常快的。

js函数式编程与代码执行效率

函数式编程对应的是命令式编程, 函数式编程的核心当然是对函数的运用. 而高阶函数(Higher-order)是实现函数式编程的基本要素。高阶函数可以将其他函数作为参数或者返回结果。所以JS天生就支持函数式编程

接手代码太烂,要不要辞职?

朋友发表了一条说说:入职新公司,从重构代码到放弃”,我就问他怎么了?他说,刚进一家新公司,接手代码太烂,领导让我先熟悉业务逻辑,然后去修复之前项目中遗留的bug,实在不行就重构

js高亮显示关键词_页面、搜索关键词高亮显示

页面实现关键词高亮显示:在项目期间遇到一个需求,就是搜索关键词时需要高亮显示,主要通过正则匹配来实现页面关键词高亮显示。在搜索结果中高亮显示关键词:有一组关键词数组,在数组中筛选出符合关键字的内容并将关键字高亮

写优雅的代码,做优雅的程序员

软件工程学什么? 学计算机,写程序,做软件,当程序员。听说学计算机很辛苦? 是的,IT行业加班现象严重。在计算机世界里,技术日新月异,自学能力是程序员最重要的能力之一。选了这个专业,就要时刻保持好奇心和技术嗅觉,不能只满足于完成课内作业。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!