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

从行业调研报告中显示,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日
  • 看到我们的IDE插件代码被友商复制粘贴了,所以我们做了一个愉快的决定

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

    2023年1月5日
  • 拥抱大模型-大语言模型在墨菲安全产品中的应用

    近年来大模型的飞速发展,让人们看到了AI的无限可能,业界在积极探索大模型在各个领域的应用。在过去的一段时间里,墨菲安全也在积极探索大模型在软件供应链安全场景中的应用。 大模型在漏洞知识库中的应用 墨菲安全后端的漏洞、软件知识库构建过程涉及到大量的语义理解工作,包括自然语言的语义、代码的语义。在过去我们通常会构建一系列的小模型来完成这些工作,例如模型A用于提取…

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

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

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

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

    2023年1月5日

发表回复

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

联系我们

400-180-9568

邮件:hi@murphysec.com

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

关注公众号

20230105-100741