开源治理工具选一个

           

       随着开源技术在云计算、大数据、AI领域的不断运用,不断破除技术壁垒,让企业快速建立自身的应用,在开源软件基础一,自主研发部分代码,便可以推出企业自身品牌的产品,开源技术的应用极大的推动了云计算、大数据、AI等领域的快速发展。但是开源软件的引用不可避免的带来了知识产权、信息安全等方面问题。根据Gartner统计,98%的企业管理者并不知道自己研发产品里的成分、安全程度以及是否可能侵权等情况,其实产品团队快速交付的产品可能蕴含着巨大风险,这些风险可能导致企业产品受到攻击、公司名誉和声誉受到影响,严重者由于知识产权方面诉讼可能面临企业经营风险。另一个方面,随着开源技术的不断广泛应用,更多的安全漏洞被暴露出来,每年超过4000个安全漏洞从开源软件中被报告出来,且不断递增的趋势,而由于开源软件任何人都可以下载和研究代码中的潜在风险,引用了开源软件的产品软件就更容易受到攻击。

        国内,很多科研院所和大企业也逐渐认识到开源技术带来的问题,关于开源治理的研究和探讨逐渐成为热门话题。在2019年,中国信息通信研究院牵头制定了国内首个《开源治理能力评价方法》系列标准,旨在通过标准制定指导开源相关企业规范内部开源治理流程,维护国内开源秩序,推动开源生态健康有序发展。该评价方法分成两个部分,第1部分是面向自发开源企业,第2部分是面向开源用户。这些评价方法的推出,开源软件生产企业有了标准可参考,使用开源软件的企业遵守这些评价方法,避免企业使用开源软件带来的风险。当然企业需要根据这个评价方法制定符合企业自身的开源管控流程规范。

        但是笔者认为仅仅依据评价方法是不够的,规范、流程等的落地执行,执行情况、执行效果是需要相应的检查方法和手段进行管理的,所以是需要在这个开源治理的流程和方法中,是需要借助工具进行检查的,尤其是对开发完成的软件产品,代码量可能数十万行、上百万行甚至更大,对于管理者就像是一个黑盒子,仅仅产品功能实现和满足了,并不代表没有风险,是需要通过对软件成分和漏洞进行检测的工具进行验证的,让整个产品的代码在管理者面前不再是黑盒,代码成分中有哪些开源组件、这些组件是否有安全漏洞,是否存在引用许可风险、开发团队到底编写了多少代码等等,如果能够通过检测,就能让管理者一目了然,胸中有数,便于后续的管理和市场运作。

       那么对于一款可以针对系统中的开源组件进行检测的软件工具,应该具备哪些功能、性能等指标呢?根据笔者经验,这里我列出一个清单,仅供参考。

  

  1. 首先支持主流的开发语言,最少支持10种以上检测语言,最好也能支持二进制文件、jar包和动态链接库检测,因为有时候引用的不是源代码。支持的语言至少包括C/C++JavaJavaScriptC#PythonPHPRubyGoObjective-CPLSQL/SQLSwift
  2. 开源软件检测,主要采用的是检索技术,那要求工具包括的开源代码库和安全漏洞要足够多,这样才能保证匹配精度;且上述数据最好本地化安装部署,否则涉及到自身代码的安全问题,例如Blackduck不安装本地库,检测结果就不能对应到源代码上;
  3. 目前,CVE漏洞库中总计在20万左右,且国内也有两个漏洞库CNVDCNNVD,里面有国内企业上传的漏洞,对于一款检测工具,其中漏洞库也是越大越好,起码库中不少于10万个安全漏洞;
  4. 对于被检测项目,能够实现提供检测项目的版本号、发布时间、检测时间、代码行数、自主研发代码比例、开源组件占比,组件匹配情况、部分匹配情况和外部依赖情况信息;
  5. 对于检测出的每个组件成分,提供当前版本号、发布日期、包含漏洞数量,包括高、中、低不同等级的漏洞数量,组件类型(开源、闭源),并提供组件对应的最新版本信息,以及建议升级到相应版本的信息;并为用户提供升级下载的链接;
  6. 对于检测出的每个组件成分,提供组件许可协议的详细信息,包括简称、风险等级、使用范围、影响项目等。至少支持60种以上的许可证类型;
  7. 对于检测出的每个组件成分,提供组件包含的漏洞详情,至少包括漏洞CVE官方名称、发布日期,漏洞对应的CWE漏洞类型。最好能够提供CVSS2.0CVSS3.0(通用漏洞评分系统)参考,这样管理者就能了解包含安全漏洞的严重程度、可利用性和影响项目信息。对于每个漏洞,提供漏洞详情描述、并提供导向CWE官方网站的详情页面链接,让用户能够快速掌握漏洞信息;
  8. 项目、组件、漏洞三者之间的关联分析,既能够通过项目找到组件及其包含的漏洞,也能够通过漏洞找到存在的组件,影响的项目数量、项目名称等信息;
  9. 对于管理者,能够统计当前用户项目数量和状态信息、组件语言等信息,所有组件以及其漏洞信息、组件开发语言信息等,所有漏洞及其严重级别统计、影响项目统计、漏洞类型统计等信息;
  10. 分析开源软件的粒度,越细越好。至少包括文件级、函数级,有些工具只是做到了文件级还是不够的;
  11. 能够根据客户要求进行定制,例如建立企业可信组件库,纳入Devops工作流、工具链;
  12. 检测效率达到60万行/小时以上,太慢速度会让人失去耐心;

 

       面对越来越严峻的开源环境,在国家层面上加快对开源生态治理的法律、法律,而对于开源软件生产企业,遵守开源生态的法律法规,守住企业经营的底线,对于开源软件的广大用户,需要根据法律法规制定符合企业自身的治理规范和流程,同时借助自动化的检测工具落地,能够让您的企业生产减少风险。

 

关注安全  关注作者

关于代码安全,跟作者沟通交流请留言。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/40911.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人微控制器编程(CoCube)-破除定势

从课程到生活; 从书本到理想; 从程序到生态; 从个体到集群; 从特殊到一般; 从传统到现代; 从技术到科学; 从理论到工程; 从基础到高阶。 …… 课程归根结底,是为学生服务…

复制浏览器html代码吗,网页文字不能直接复制?只需简单几招即可轻松破除限制,想学吗?...

原标题:网页文字不能直接复制?只需简单几招即可轻松破除限制,想学吗? 想必大家在网上都遇到这样的问题,网页文字受到限制无法直接复制,这该如何是好呢? 既不想登录注册又想直接复制走内容&#…

LR低代码快速开发平台 高效调整企业组织架构

组织架构以及围绕组织架构的设计、实施和变革,是企业管理永恒的话题,它上承公司的业务战略和运营模式,下接业务流程和信息系统建设,重要性不言而喻。数字化变革浪潮之下,商业模式的颠覆、价值链的重塑都需要由相匹配的…

自己动手写编译器:通过语法编译构建语法树并实现中间代码生成

上一节我们手动构造了语法树,然后调用各个节点实现中间代码生成。语法树的构建由语法解析完成,本节我们要完成语法解析逻辑,在语法解析过程中构造语法树,然后再像上一节那样实现中间代码生成。 这里我们再次回顾一下左递归&#…

安卓原神QQ机器人搭建教程

1,下载安装Termux 下载地址:https://f-droid.org/packages/com.termux/ 滑到下面点击这个 2,打开Termux,安装Ubuntu 安装模拟权限git,python,执行下面命令 pkg install proot git python -y 3&#xff…

如何在windows电脑上完成原神签到、祈愿抽卡分析等功能

一款开源的游戏辅助工具——原神助手。支持原神签到、祈愿抽卡分析、查看便签状态和游戏详细数据等。 开发者自述也是偶然间接触到《原神》,于是一发不可收拾,爱上这款游戏了。 在游戏中,如果要查看角色信息等内容,就必须需要登…

不同服务器的ps4账号吗,原神PC与PS4互通数据吗 不同平台数据互通分析

原神最近上线了pc版本,那么,你知道PC与PS4互通吗?这是很多玩家关心的问题,不同的平台,数据能否互通呢?比如说,不同平台是否可以一起玩,不同平台帐号是否可以切换,下面就为…

如何在 Mac 上玩原神?简单三步流畅运行

该方法也是本人一点点摸索出来的,花了很久,已经帮大家踩过坑了,该方法是最简单方便的,而且画质高、运行流畅,甘雨姐姐我来了~ 注意此方法只支持 M 系列芯片 一、安装 playCover github 源码地址 :https:/…

指令微调数据集整理

文章目录 开源指令数据集斯坦福数据链家数据Baize(基于少量种子问题的对话数据) 垂直领域数据集医疗领域的英文数据医疗领域的中文数据法律领域中文数据 COIG数据集(可商用的中文数据集) 开源指令数据集 斯坦福数据 斯坦福52K英文指令数据:…

Linux下使用Samba做域控

AI画妹子的工作先暂告一段落。毕竟戗行也是要有门槛的。 企业中使用Windows Server使用活动目录集中管理PC、服务器是很成熟的方案。突然想到,如果有一天出于某种原因不再使用微软方案了,AD该如何替代?问了一下chatGPT,它说&…

LINUX下设置postgresql的登录密码

1、postgresql登录密码主要是修改2个方向:首先用户有密码,其次是在配置文件中设置登录的限制参数 2、修改密码: alter role postgres with password Postgres; 提示面修改完成 3、修改配置文件pg_hub.conf,在IPV4下或者本地local下&#x…

获取 Panabit Linux 版 root 密码

面包多 - Panabit - root 密码重置工具https://mbd.pub/o/bread/mbd-Y5yTk5hx 可以重置 Panabit Linux 版本的 root 密码,直接获取 root 权限。 下载并在 Panabit 应用商店手动安装后就能看到列表中有新增 root 密码重置工具 打开 工具页面就可以对 root 密码进行重…

PostgreSQL数据库设置登录数据库密码

PostgreSQL数据库安装完以后会默认创建一个管理员的账号postgres用户,默认登录时是不需要密码验证就可以直接登录的 修改用户登录认证密码有两种方式: 1、用命令行的sql语句来进行修改 登录到PostgreSQL数据库里 [rootnode1 ~ 10:51:32]# su postgres b…

phpMyAdmin中config.inc.php设置密码和修改密码的方法

phpMyAdmin有3种授权模式: 1. cookie: 显示一个web登录页面,输入mysql的用户名和密码,然后进入管理界面。 $cfg[Servers][$i][auth_type] cookie; /* Server parameters */ $cfg[Servers][$i][host] localhost; $cfg[Servers][$i][connect_…

使用pgAdmin 4来修改PostgreSQL中的用户密码

参考博客: https://blog.csdn.net/solocoder/article/details/100593380 1、首先是打开我们的软件:pgAdmin 4.app运行起来 2、浏览器会默认打开一个界面如下: 3、然后是依次找到如下的 Servers-> PostgreSQL 11->Login/Group Roles-&…

ChatGPT一出,这10大职业可能先丢饭碗

转自:新智元 编辑:David 【导读】ChatGPT一出,很多人害怕自己的工作会被AI取代。最近,有外媒盘点了最可能被ChatGPT取代10大高危职位。 自从去年11月发布以来,OpenAI的ChatGPT已经被用来写求职信,创作儿童读…

Langchain-agent入门笔记(1)

LangChain里的Agent实现 官方模块介绍文档:Agents — 🦜🔗 LangChain 0.0.191 官网API文档:Agents — 🦜🔗 LangChain 0.0.191 核心要点: (1)需要依赖于用户输入的未…

5分钟带你了解Android Room

1、前言 最近在开发中,Room用的比较多,时不时要查资料,干脆写一篇Room的使用和Room的封装。如果写的不好,或者有错误之处,恳请在评论、私信、邮箱指出,万分感谢🙏 2、添加依赖 dependencies …

AI自动生成代码,是时候冷静下来思考如何保障代码安全了

HDC期间可参与华为开发者大会Check新人抽奖活动,活动链接在文末。 华为开发者大会2023将于7月7日与各位开发者进行见面,本次大会的主题演讲内容为:AI重塑千行百业。 自从AI聊天被推出之后,其热度就一直是高居不下。身边的小伙伴们…

如何将数据表格快速转换成LaTeX格式?

1.首先,在这个网站Comprehensive TEX Archive Network中下载宏文件。不要担心内存问题,很小的,下载后只有几百k。 2.其次,打开你的excel,将下载后的文件直接拖拽到excel表中,excel表格顶部会出现加载项这个…