推荐一款程序员都能用的简单实用代码安全检查开源工具

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

然而开源生态蓬勃发展的同时,也随之而来存在着很多新的安全风险。从去年12月份的log4j漏洞,到一月份Marak Squires删库事件,再到3月16日node-ipc作者反战投毒事件,一次次在引发社会讨论。当下我们习惯于使用开源组件,而开源软件带来的安全问题正在这种日常的习惯中悄然的埋下各种隐患。

每一个程序员做为拼搏在软件生产一线的“新时代农民工”,可能时时刻刻都在担忧自己为公司写的每一行代码是否存在安全问题,是否可能引起线上故障,甚至可能因为这些安全问题导致公司业务被攻击而丢了饭碗。

但是,如果要解决这些无处不在且又烦人的安全问题,作为一个不懂安全的程序员来讲,是非常亟需一款简单实用的安全工具来为我们写的代码保驾护航的,所以今天我们给大家带来了一款简单、实用且开源的代码安全工具。

先上链接:

  • 开源项目地址:https://github.com/murphysecurity
  • 产品官网及文档:https://www.murphysec.com/
  • JetBrains IDE插件:https://github.com/murphysecurity/murphysec-jetbrains-plugin

开源工具介绍


MurphySec 是我们墨菲安全开发的一款开源软件安全检测工具,墨菲安全的slogan是让每一个开发者更安全的使用开源代码。

这款开源检测工具具备上手简单、效果实用,在程序员不懂安全的情况下能够辅助一键修复安全漏洞的特性。不仅支持IDE插件,也开放了核心检测客户端,通过这个客户端,可以将检测能力集成至企业开发流程的所有环节。

除了开源工具之外,墨菲安全也免费开放了一个面向开发者的协作平台,方便一个项目的开发者在一起协作修复漏洞。

首先,给大家介绍一下工具能力:

特性

  1. 支持分析项目使用的依赖信息(直接和间接依赖)
  2. 支持检测项目依赖存在的已知漏洞信息
  3. 使用简单,快速上手

支持语言

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

检测原理

  1. 对于使用不同语言/包管理工具的项目,工具主要采用项目构建或直接对包管理文件进行解析的方式,来准确获取到项目的依赖信息
  2. 项目的依赖信息会上传到服务端,并基于墨菲安全持续维护的漏洞知识库来识别项目中存在安全缺陷的依赖
推荐一款程序员都能用的简单实用代码安全检查开源工具

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

安装

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

在 Linux 上安装
curl -sL "https://github.com/murphysecurity/murphysec/releases/latest/download/murphysec-linux-amd64" -o murphysec
chmod +x murphysec
在 OSX 上安装
curl -sL "https://github.com/murphysecurity/murphysec/releases/latest/download/murphysec-darwin-amd64" -o murphysec
chmod +x murphysec
在 WINDOWS 上安装
scoop bucket add murphysec https://github.com/murphysecurity/scoop-bucket
scoop update
scoop install murphysec

使用

  • 执行 murphysec scan [your-project-path]完成开始检测
推荐一款程序员都能用的简单实用代码安全检查开源工具

查看结果

  • 执行命令增加--json参数,可以将检测结果输出为Json格式进行查看
  • 也可以直接在墨菲安全平台上查看详细的检测结果
    • 查看依赖信息
推荐一款程序员都能用的简单实用代码安全检查开源工具
  • 查看检测结果(提供处置建议、缺陷组件的最小修复版本以及丰富的漏洞信息
推荐一款程序员都能用的简单实用代码安全检查开源工具

IDE 检测插件


一款基于墨菲安全开源检测工具而开发的 IDE 插件,帮助开发者在 IDE 中即可检测代码依赖的安全问题,轻松识别代码中使用了哪些存在安全缺陷的开源组件,通过准确的修复方案和一键修复功能,快速解决安全问题。

插件官方地址:https://plugins.jetbrains.com/plugin/18274-murphysec-code-scan

支持功能

  • 漏洞检测:检测Java(Maven)JavaScript(npm)Go代码中引入的缺陷组件
  • 一键修复:不仅有清晰的修复方案,还可以通过此功能快速修复
  • 实时检测:代码的依赖发生变化导致了安全问题,不用担心,插件会及时给您提醒进行处理

安装

  • 在 IDE 插件市场中搜索 “murphysec”,查看详情并安装
推荐一款程序员都能用的简单实用代码安全检查开源工具

使用

  • 选择“点击开始扫描”,即可检测出代码中存在哪些安全缺陷组件
推荐一款程序员都能用的简单实用代码安全检查开源工具
  • 点击检测结果中的组件,即可查看该缺陷组件的基本信息
  • 点击右侧“一键修复”,即可直接将该组件升级至“最小修复版本
推荐一款程序员都能用的简单实用代码安全检查开源工具

详细使用说明可以查看文档

更多的使用场景


一、GitLab 代码库检测工具

基于墨菲安全开源检测工具开发,可以帮助您快速对 企业GitLab 上所有项目进行检测

工具地址:https://github.com/murphysecurity/murphysec-gitlab-scanner

功能

  • 自动化拉取GitLab上代码进行检测
  • 支持增量代码检测(基于GitLab Webhook功能)

使用

  1. 拉取工具最新代码
  2. 执行命令 python3 scan_all.py -A [your gitlab address] -T [your gitlab token] -t [your murphysec token]

参数说明

  • -A:指定您的 GitLab 服务地址
  • -T:指定您的 GitLab 个人访问令牌
  • -t:指定您的墨菲安全账户访问令牌

二、Jenkins集成安全检测能力

可以将墨菲安全开源检测工具集成到 Jenkins 中,提高线上代码安全质量

集成方式

  1. 安装墨菲安全开源检测工具

在 Jenkins 机器上安装墨菲安全开源检测工具最新版本,访问 GitHub Releases 页面下载,或执行以下命令:

curl -sL "https://github.com/murphysecurity/murphysec/releases/latest/download/murphysec-linux-amd64" -o murphysec
chmod +x murphysec
mv murphysec /usr/bin/
  1. 设置Jenkins全局凭据

在 Jenkins 全局凭据中添加墨菲安全访问令牌

推荐一款程序员都能用的简单实用代码安全检查开源工具
  1. 修改Jenkinsfile

为了将墨菲安全开源检测工具添加到 pipeline,需要在 Jenkinsfile 中添加一个stage,示例如下:

pipeline {
    agent none
    stages {
        stage('MurphySec Scan') {
            environment {
                API_TOKEN = credentials('murphysec-token-key')
            }
            steps {
                sh 'murphysec scan . --log-level debug'
            }
        }
    }
}

发布者:墨菲安全,转发请注明出处:https://www.murphysec.com/blog/product-presentation/4273.html

(0)
上一篇 2023年1月4日 18:36
下一篇 2023年1月4日 18:39

相关推荐

  • Java 漏洞扫描工具之 IDE 插件中强烈建议修复的漏洞

    Java 漏洞扫描工具之 IDE 插件中的强烈建议修复的漏洞 近期有很多同学在找【漏洞扫描工具】,今天来推荐下这款开源组件的漏洞检测工具:使用简单、能力专业、风险展示清晰的ide插件“murphysec”。它可以快速识别项目中使用了哪些存在安全缺陷的开源组件,并帮助一键修复问题。目前支持Java、Javascript、Golang、Python语言的检测,未…

    2023年1月5日
  • 这款牛逼的开源安全工具让我这个运维也变成“安全专家”

    背景 我是一家互联网公司的 DevOps 工程师(其实就是运维),平常负责公司服务的上线发布流程。我和墨菲安全的这款开源的漏洞检测工具结缘,主要是因为前段时间 log4j2 的漏洞,最近我们公司的研发频繁的上线基本上都是修复 log4j2 的漏洞,我被他们整烦了。就找他们研发的负责人讨论是不是能够在上线前集成一些自动化的工具来检测这样的漏洞,比如 log4j…

    2023年1月4日
  • 看到我们的IDE插件代码被友商复制粘贴了,所以我们做了一个愉快的决定

    昨天看到一个朋友给我发了一篇文章,某友商也发布了一款关于代码安全检测的 IDE 插件,其中UI和代码特征上,与我们的MurphySec Code Scan 插件有一些非常相似的地方。于是我们也简单做了一些分析: UI 对比,icon好像是一样的? 友商 IDE 插件代码中出现的murphysec字样,而且友商的插件里面并没有看到快速认证这个功能,可能是后端不…

    2023年1月5日
  • 滚蛋吧,安全漏洞!这款 IDE 插件帮你轻松解决安全问题,核心引擎已开源

    滚蛋吧,安全漏洞!这款 IDE 插件帮你轻松解决安全问题,核心引擎已开源 还记得去年爆发的log4j漏洞吗?还记得经常因为代码漏洞被安全工程师追着修复的场景吗?是不是不想花太多时间去修复漏洞,又或者是不知道怎么修。 最近我们推出了一款 IDE 插件,帮助各位开发者轻松解决代码安全问题,推荐给大家! MurphySec Code Scan 简介 这款插件可以让…

    2023年1月4日
  • 软件供应链受威胁下的应对方法——供应链安全管理平台的五大工具能力

    背景 如今,软件供应链安全问题已经成为一个全球性的难题。根据数据统计,2017年全球遭受网络攻击的公司比例已经达到了93%,其中很大一部分是由于软件供应链安全问题导致的。而在中国,据统计,2019年全国共发生了2.7万起网络安全事件,其中不乏因软件供应链安全问题而导致的事件。 软件供应链安全问题的出现原因也较为复杂,包括第三方供应商的安全风险、源代码泄露、恶…

    2023年2月20日

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-180-9568

邮件:hi@murphysec.com

工作时间:周一至周五,10:00-19:00,节假日休息

关注公众号

20230105-100741