十年磨一剑,墨菲安全正式发布开源项目murphysec(一)

简介: 十年磨一剑,墨菲安全正式发布开源项目murphysec

先抛出两个问题


你们公司从超市买一桶水回去,喝之前会做检测吗?会担心水被人下毒吗?

你们公司的程序员从 GitHub 上 clone 一个开源项目或者组件,引入到线上项目代码中运行,你会担心有安全漏洞吗?会担心软件投毒吗?


开源技术的应用成为驱动新一轮产业数字化升级的核心动力


“迎接数字时代,激活数据要素潜能,推进网络强国建设,加快建设数字经济、数字社会、数字政府,以数字化转型整体驱动生产方式、生活方式和治理方式变革。”


这是国家“十四五”规划中第五篇关于加快数字化发展,建设数字中国中明确提出的规划要求。软件应用作为构建数字化的必要基础元素,随着数字化变革的进程不断推进和深化,企业及社会组织对于供应链软件的需求日益提升,其中不管是开源软件还是闭源的商业软件开始被大量引入,而这些供应链软件引入的同时无疑给企业带来了越来越多的潜在安全威胁。


开源软件被企业大量引入


据统计,2020年较2015年开源项目数增长了近3倍,中国有超88%的企业在使用开源技术,开源代码占软件代码的比例已经从2015年的不到40%上升到19年的超过70%,大大提升了开发效率,加快了创新步伐。


软件供应链攻击成为国家、企业面临的主要威胁


开源技术应用、国际形势复杂、软件供应链的多样化,供应链各个环节的攻击急剧上升,软件供应链安全风险已然成为企业及组织的主要安全威胁。当前开源软件生产、分发、使用全过程缺乏有效的风险管理及生态治理能力,导致近几年全球范围内重大软件供应链安全事件频发,这无疑给企业稳定发展带来非常大的不确定性。

1.png

2020年12月,SolarWinds 公司软件更新包中存在后门导致客户被入侵,该事件影响了数千家机构,包括美国国家安全局和美国能源部。


2021年3月,一名研究员使用“供应链“漏洞(抢注内部组件名称的方式)成功入侵了 35 家重要公司的内部系统:包括 Microsoft、Apple、PayPal、Shopify、Netflix、Yelp、Tesla 和 Uber。


2021年12月,log4j2 漏洞爆发,墨菲安全实验室对 log4j2 的1~4层依赖关系进行了统计分析,可以发现总共有超过173104个组件受该漏洞影响。


2022年3月,墨菲安全实验室连续2天全球首发预警了 Spark&Hadoop RCE漏洞及 Spring Cloud 的表达式注入漏洞;紧接着之后蚂蚁安全研究员又发现 Spring 框架远程命令执行漏洞。


这些还只是影响非常大的事件和漏洞,除此之外每天新增曝出的通用组件漏洞都在数十起至数百起之间,这些都是企业所依赖的供应链软件所存在的潜在威胁。这背后我们看到的是和新冠病毒一样具备高传染性、致命性和变异能力的安全威胁,只不过的区别是新冠病毒影响的是人类的身体,而这些漏洞缺陷影响的是全球任何接入数字化的企业。


关于我们和墨菲安全


墨菲安全的创始团队成员都是来自百度、华为、贝壳的企业安全建设团队,过去十年大家一直在从事企业安全建设的工作,不管是在哪一家公司,我们每一个人都经历过太多次深夜的“安全事件应急响应”,“漏洞分析”。当然我们也时常和研发同学因为修一个漏洞而撕X,过去十年,三千多个日夜,每天几乎都在和代码和漏洞打交道。我们也很渴望每一个工程师生产的软件就像我们今天喝的矿泉水一样,安全而健康。我们不用战战兢兢的去为我们买的每一瓶水做“安全评估”。


软件供应链能不能像传统生产矿泉水的供应链一样安全有保障


让每一个开发都能够更安全的使用开源代码,让每一家企业都能够安全的管理软件供应链。是我们最初去做这件事情的想法,墨菲安全早期(大概2020年5月,启动这个开源项目的时候)其实有另外一个名字,叫 gokusec,后来我们发现这个名字好像被其他公司用了,所以改名墨菲安全。这个过程我们一直在思考的一个问题是:如何能够为软件供应链的生态建立一个有效治理的安全能力,我们能做点什么?


不知道大家有没有想过,如果新冠疫情爆发的时候,没有核酸检测这样的工具,后果会是怎么样?大概是我们无法及时发现谁得了新冠,身边的人也没办法及时有效的防控,患病者也无法得到及时有效的治疗,今天所建立的一切防控机制其实都是空谈。开源组件的应用非常广泛且具备非常复杂的依赖关系,这使得开源软件的漏洞其实就像新冠病毒一样, 具备强大的传染性、致命性、变异能力,而今天如果我们要对这些软件供应链里的新冠进行有效的控制,似乎我们首先最缺的是一款针对开源软件漏洞缺陷检测的核酸工具?它应该具备很好的准确性、易用性和低成本,而这就是墨菲安全推出的开源项目murphysec 的核心理念,为每一个软件开发者提供一款易用、专业且高效的代码安全检测工具,当然如果他还有特效药的作用,那就更棒了。


关于 murphysec


murphysec 是墨菲安全开发的一款开源软件安全检测工具,致力于让每一个开发者更安全的使用开源代码。


产品特点:易用、专业、创新


话都说到这了,那么,先上链接(欢迎提 issues、PR、star):

开源地址:https://github.com/murphysecurity/murphysec

产品官网:https://www.murphysec.com/


核心功能


1.化验:准确识别软件中直接依赖和间接依赖的开源组件

2.看病:准确识别这些开源组件存在的安全漏洞及许可证合规风险

3.治疗:为开发者提供简单高效的一键缺陷修复能力


支持语言:

目前支持 Java、JavaScript、Golang 、Python 语言项目的检测,后续会逐渐支持其他的开发语言。


检测原理


对于使用不同语言/包管理工具的项目,工具主要采用项目构建或直接对包管理文件进行解析的方式,来准确获取到项目的依赖信息

项目的依赖信息会上传到服务端,并基于墨菲安全持续维护的漏洞知识库来识别项目中存在安全缺陷的依赖

1.png

说明:工具只会将检测项目的依赖和基本信息发送到墨菲安全服务端,用于识别存在安全缺陷的依赖,不会上传任何本地代码。


安装


访问 GitHub Releases 页面下载最新版本的墨菲安全 CLI,或执行以下相关命令:

在 Linux 上安装

wget -q https://s.murphysec.com/install.sh -O - | /bin/bash

在 OSX 上安装

curl -fsSL https://s.murphysec.com/install.sh | /bin/bash

在 WINDOWS 上安装

powershell -Command "iwr -useb https://s.murphysec.com/install.ps1 | iex"


使用


执行 murphysec scan [your-project-path]完成开始检测

1.png


查看结果


执行命令增加–json参数,可以将检测结果输出为 Json 格式进行查看

也可以直接在墨菲安全平台上查看详细的检测结果

查看依赖信息

1.png

查看检测结果(提供处置建议、缺陷组件的最小修复版本以及丰富的漏洞信息)

1.png

相关文章
mqc
|
缓存 安全 Java
测试之道--阿里巴巴八年测试专家倾情奉献
我从事测试工作将近八年了,从起初的不懂测试,怀疑测试,到相信测试,再到坚定测试,其中经历的辛酸、煎熬无法言表。在从事测试工作的这八年里,有人质疑,也有人追捧,唇枪舌剑,没完没了,貌似测试永远都是个站在舆论风口浪尖的角色。
mqc
7784 0
|
2月前
|
存储 人工智能 自然语言处理
开源和闭源一个争议已久而且持续几十年的话题
开源和闭源一个争议已久而且持续几十年的话题
31 0
|
安全 IDE jenkins
十年磨一剑,墨菲安全正式发布开源项目murphysec(二)
十年磨一剑,墨菲安全正式发布开源项目murphysec
十年磨一剑,墨菲安全正式发布开源项目murphysec(二)
|
供应链 安全 IDE
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
433 0
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
开源项目也可以申请专利
开源项目也可以申请专利
711 0
|
存储 分布式计算 监控
专访骨灰级开源爱好者吴晟:开源没有黑魔法,两年后泡沫将会破灭
在刚结束的 2020 年,国内先后有超过 11 家开源软件领域企业获得了新一轮的资本助力,融资纪录创下近年来开源赛道最高。开源的热潮,已然兴起。然而,当越来越多的资本、企业等产业界人士开始越来越关注开源之时,一些隐藏在开源光鲜外衣背面的阴暗,也随之而来。
323 0
专访骨灰级开源爱好者吴晟:开源没有黑魔法,两年后泡沫将会破灭
|
测试技术 项目管理 开发者
Scrum已经俘获中国开发者的心? ——从《2017年开发者调查报告》看真相!
从云栖社区《2017年开发者调查报告》发布的数据看真相!
1901 0