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

从行业调研报告中显示,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

相关推荐

  • 墨菲安全受邀与腾讯安全共话软件供应链安全治理

    墨菲安全是一家专注于软件供应链安全管理的科技公司,能力包括代码安全检测、开源组件许可证合规管理、云原生容器安全检测、软件成分分析(SCA)等,丰富的安全工具助您打造完备的软件开发安全能力(DevSecOps)。公司核心团队来自百度、华为等企业,拥有超过十年的企业安全建设、安全产品研发及安全攻防经验。 一、墨菲安全受邀参加腾讯安全云鼎实验室公开课分享 2022…

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

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

    2023年1月4日
  • 10分钟对公司的gitlab代码仓库来一次安全体检

    去年 log4j 漏洞爆发时候就已经很痛苦了,当时把所有的线上服务排查了一遍。没想到这都已经过去3个月了,上周又遇到了一个服务仍在使用低版本,被外部攻击,有点受伤。 这件事后,老板让我全量扫一遍我们的代码库,看还有哪些服务还在用老版本的 log4j,统一推一波修复,防止后续在发生此类事件。 方案调研 方案一(放弃) 当时我第一反应是写个脚本,遍历所有项目,再…

    2023年1月4日
  • 墨菲安全软件供应链安全产品v3.0正式公测之快速入门

    标题:墨菲安全软件供应链安全产品v3.0正式公测之快速入门 全新 3.0 版本帮您3分钟从代码分析、风险检测到一键修复,快速提升代码安全性 一、视频演示 以 Gitlab 全量检测为例,展示一次完整检测流程: 二、操作流程介绍 流程图展示了墨菲安全平台的基本操作流程,可供参考。 暂时无法在飞书文档外展示此内容 1、创建团队、加入团队或直接使用默认团队 已为您…

    2023年1月5日
  • 墨菲安全软件供应链安全产品v3.0正式公测之产品特性简介及用户升级

    墨菲安全 2.0 产品 3 月份发布以来过去了 9 个月的时间,在这期间收获了超过 10000+ 开发者用户,700+ 的开源项目 star 以及包括蚂蚁、平安、快手等在内的数十个企业版客户;在这个过程中我们一共收集到 283 个用户给我们产品提交的 350 个反馈和建议。在12月8日,我们也开启了3.0产品的内测,内测期间感谢来自 31 个用户,反馈的 1…

    2023年1月5日

发表回复

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

联系我们

400-180-9568

邮件:hi@murphysec.com

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

关注公众号

20230105-100741