在开源代码的时候该如何避免安全风险的发生?

简介: 作为开发者来讲,不管是在实际开发中使用开源项目,还是直接投身于开源的贡献中,关于开源相关的内容想必都有自己独到的见解。开源与开发者息息相关,可能有的开发者会觉得不使用开源项目,自己就与开源无关了?这种想法是片面的,因为就算没有在实际开发中使用开源项目,但是在实际开发中肯定会用到一些第三方的插件,那么能保证这些插件没有用到开源的内容么?所以,开源与每一位开发者都有联系。

前言

作为开发者来讲,不管是在实际开发中使用开源项目,还是直接投身于开源的贡献中,关于开源相关的内容想必都有自己独到的见解。开源与开发者息息相关,可能有的开发者会觉得不使用开源项目,自己就与开源无关了?这种想法是片面的,因为就算没有在实际开发中使用开源项目,但是在实际开发中肯定会用到一些第三方的插件,那么能保证这些插件没有用到开源的内容么?所以,开源与每一位开发者都有联系。

正文

首先来看一下开源这件事,由于本人也是一位一线的开发人员,使用开源已经5年多了,很荣幸自己在2022年以贡献者的身份投入到一个开源项目中,虽然自己没有贡献太多的内容,但是自己迈出了参与开源贡献的第一步,是真的值得纪念的事情。通过自己投入到开源项目的贡献才发现,作为一个开源项目的贡献者很不容易,不仅要兼顾日常工作,还要保证开源的进度,也让我对开源项目有着更加直接、切身的体验,而且我觉得投身开源的每一位贡献值都太不容易了,每一位开源贡献值都值得尊重,也希望各位开发者多多支持开源项目,助力我们国内开源领域的腾飞。

image.png

开源项目有了,贡献者也有了,但是如何保证协调发展呢?众所周知,随着这几年开源项目的蓬勃发展,以开源软件为基础构建的软件系统成为软件开发的主流趋势,而且开源软件版本更新迭代快、维护人员缺少、安全开发机制不完善等现状,也导致了一些安全事件的发生,给开源软件的使用者带来信息安全风险,甚至会引起隐私信息泄露的可能。好在,开源贡献者们早就注意到这些问题,为了保证开源生态的良好发展,建立开源安全机制,亡羊补牢,为时不晚,比如openKylin社区推出的“可控开源”体系,就是为开源安全保驾护航的。

“开源可控”,其实就是在保证开源项目代码安全的前提下,让开发者和用户能够安全持续、稳定有效的使用开源软件以及服务。开源可控主要是在代码层面出发,涉及来源、设计、使用、更新和发展等五个环节,主要涵盖代码流转中的全链路的安全监控管理,从而做到来源可控、设计可控、使用可控、更新可控和发展可控。

现在有一种说法:上云就能解决开源带来的安全问题。那么上云真的能从一定程度上解决开源带来的安全性问题吗?虽然上云可以从一定程度上解决开源带来的安全性问题,比如在身份鉴权、加密、网络和数据安全等方面,进而保护使用开源代码的应用的安全。但是,个人觉得事情没有那么简单,因为使用开源存在的安全风险,不是单纯的从这些方面规避就可以了,其实是它一个综合的问题,不仅需要根据具体的使用场景和业务需求,还需要针对开源应用的核心环节进行层层监控,尽可能早的发现、避免开源所带来的问题,尤其是上云之后引起的一些新的问题:兼容性问题、云厂商自身可能存在的漏洞和风险、数据隐私问题等。

最后

不管是使用开源之后在本地还是上云,都是需要保持清醒头脑,提高安全风险意识和防范措施,及时掌握行业最新动态和安全知识,这样才能从根本上避免因为主观意识引起的安全风险。以上为个人观点,如有不妥之处,还请各位看官包涵,欢迎一起交流沟通。

image.png

相关文章
|
安全
使用SPF防止邮件伪造
伪造的邮件,能传播病毒,木马和虚假信息,对用户造成巨大危害。当按照Sender PolicyFramework (SPF) 的策略去配置域名DNS,可以防止邮件被伪造。可登录www.openspf.org查阅。
2998 0
|
数据安全/隐私保护
经典权限系统设计(五张表)
经典权限系统设计(五张表)
|
安全 Java
【高并发】synchronized原理是什么?这次彻底懂了!!
一、synchronized的基本使用 synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。synchronized的作用主要有三个: (1)确保线程互斥的访问同步代码。 (2)保证共享变量的修改能够及时可见。 (3)有效解决重排序问题。 从语法上讲,synchronized总共有三种用法: (1)修饰普通方法。 (2)修饰静态方法。 (3)修饰代码块。 接下来,我就通过几个例子程序来说明一下这三种使用方式(为了便于比较,三段代码除了synchronized的使用方式不同以外,其他基本保持一致)。
325 0
【高并发】synchronized原理是什么?这次彻底懂了!!
|
缓存 监控 安全
❤️Android Runtime (ART) 和 Dalvik❤️
目录 1. Dalvik 1.1 Dalvik 和 JVM 区别 1.2 Dalvik 如何运行 java 1.3 dex文件 1.4 65535 2. Android Runtime (ART) 2.1 ART 功能 2.1.1 预先 (AOT) 编译 2.1.2 垃圾回收方面的优化 2.1.3 开发和调试方面的优化 2.2 Android 8.0 中的 ART 功能改进 2.2.1 并发压缩式垃圾回收器 2.2.2 循环优化 2.2.3 类层次结构分析 2.2.4 .oat 文件中的内嵌缓存 2.2.5 Dexlayout 2.2.6 Dex 缓存移除
533 0
❤️Android Runtime (ART) 和 Dalvik❤️
|
存储 机器学习/深度学习 并行计算
【白话模型量化系列一】矩阵乘法量化
【白话模型量化系列一】矩阵乘法量化
274 0
|
4月前
|
自然语言处理 搜索推荐 机器人
大语言模型及其应用场景
大语言模型(如通义千问)凭借强大的自然语言处理能力,在内容创作、对话系统、翻译、信息抽取、代码生成、智能搜索、教育、企业管理和法律等领域展现巨大潜力,助力提升各行业智能化水平。
365 0
|
Ubuntu Windows
教你彻底卸载Ubuntu双系统,去污不残留
教你彻底卸载Ubuntu双系统,去污不残留
3164 0
教你彻底卸载Ubuntu双系统,去污不残留
|
XML 安全 JavaScript
单点登录必知的两个著名协议:SAML、OAuth2
单点登录必知的两个著名协议:SAML、OAuth2
|
安全 Cloud Native Unix
开源的安全性:挑战与机会
开源的安全性:挑战与机会
159 0
|
5月前
|
机器学习/深度学习 vr&ar 异构计算
diffusers
【9月更文挑战第22天】
305 75

热门文章

最新文章

相关实验场景

更多