十年磨一剑,墨菲安全正式发布开源项目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

相关文章
|
存储 数据安全/隐私保护
忘记被浏览器记住的密码如何找回,如何查看浏览器保存的密码?
现在很多网站都需要注册账号和密码,由于数量众多,每个网站的账号不通用,所有我们经常会用浏览器记录密码功能记住密码,但时间一长就会忘记密码,想换个浏览器登陆或其他原因无法直接查看到密码,下面有2种查看密码的方法仅供参考。
忘记被浏览器记住的密码如何找回,如何查看浏览器保存的密码?
|
存储 数据采集 Oracle
医疗(医院)数据中台建设方案
以广州某三甲医院数据中台建设目标为例
3332 0
|
Java Maven
Maven三种仓库详解
仓库分类 1、本地仓库 本地仓库就是开发者本地已经下载下来的或者自己打包所有jar包的依赖仓库,本地仓库路径配置在maven对应的conf/settings.xml配置文件。
1784 0
|
Java jvm-sandbox 容器
【alibaba/jvm-sandbox#05】沙箱事件详解
alibaba/jvm-sandbox设计了完善且复杂的沙箱事件,用于实现事件探测和流程控制机制。但不建议对于同一个类、同一个方法多次增强
857 0
外贸网站服务器该如何选择?别再踩雷了
以上因素都应在选择外贸网站服务器时考虑。在选择服务器时,不要只看价格,要全面考虑,避免踩雷。
388 0
|
Kubernetes 安全 Cloud Native
Confidential Containers:云原生机密计算基础设施
后续将基于RunD安全容器打造更完整的机密容器技术,包含支持更多的 HW-TEE 平台,以及构建更完备的机密容器支持能力。
Confidential Containers:云原生机密计算基础设施
|
安全
搞懂HashTable, HashMap, ConcurrentHashMap 的区别,看着一篇就足够了!!!
搞懂HashTable, HashMap, ConcurrentHashMap 的区别,看着一篇就足够了!!!
311 0
|
云安全 数据采集 弹性计算
阿里云安全:云服务器的重要防护与用户安全设置
随着云计算的快速发展和普及,保护数据和信息的安全至关重要,阿里云作为国内领先的云计算服务提供商,其产品和服务广泛应用于各个领域。而在使用阿里云服务的过程中,阿里云非常重视用户数据的安全性,并通过多重安全防护机制来保护其云服务器,安全问题也是用户非常关注的问题,尤其是企业级用户。本文将详细介绍阿里云服务器的安全防护措施,以及用户日常如何设置云产品的安全。
1970 1
阿里云安全:云服务器的重要防护与用户安全设置
|
网络协议 Java 程序员
如何发布自己的项目到Maven中央仓库?
如何发布自己的项目到Maven中央仓库?
2685 0
如何发布自己的项目到Maven中央仓库?
|
存储 SQL 分布式计算
存储与计算分离:OSS构建表 + 计算引擎对接
看到标题,可能有用户要问:OSS不是用来存图片、视频、及文件的吗,还可以在上面建表、数仓?计算效率和经济性表现怎么样? 本文先给出基本结论: OSS是什么? 对象存储(Object Storage Service,简称OSS)是基于阿里云飞天分布式系统的海量、安全和高可靠的云存储服务,是一种面向互联网的大规模、通用存储,提供RESTful API,具备容量和处理的弹性扩展能力。
16676 0