TOC

墨菲安全 CLI

OSCHINA 上听说墨菲安全, 是一个 Golang 写的 cli 工具, 收集项目的依赖信息提交到服务器端, 查询可能的安全风险。
根据官方文档,目前支持 Java(maven,gradle),Golang(go mod),Node(npm,yarn),Python(pip)语言。

本文档就是简单的试用一下。

总结:我感觉挺好的,一般来说对于依赖我们都不上心,其实是有很大安全风险在里面。我觉得应该对线上业务的依赖都应该有严格的审查。
如果是安全方面的需求没有那么强烈,用这个工具也可以为依赖的管理提供一些帮助。
可以考虑和 CI/CD 集成,如果有安全风险就发出告警信息。

安装

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

# 选择手动下载安装
wget https://github.com/murphysecurity/murphysec/releases/download/v1.5.2/murphysec-linux-amd64
sudo mv -n murphysec-linux-amd64 /usr/bin/murphysec
sudo chmod +x /usr/bin/murphysec
ll /usr/bin/murphysec

使用

注意:需要先注册账号,获取访问令牌。

# 首次使用,需要先登陆
# 需要输入令牌
murphysec auth login

murphysec scan ~/Projects/my-project
[Info] 项目名称:my-project
[Info] 共发现4位仓库贡献者
[Info] 项目创建成功,项目唯一标识:...一个168位的长字符串...
[Notice] 项目扫描成功,依赖数:95,漏洞数:37

murphysec scan ~/Projects/my-project --json

会给你很多风险信息,比如:

{
  "comp_name": "pymysql",
  "show_level": 3,
  "min_fixed_version": "",
  "vulns": [],
  "version": "1.0.2",
  "license": {
    "level": "Low",
    "spdx": "ISC"
  },
  "is_direct_dependency": true,
  "language": "python"
},

部分漏洞的信息会比较详细,还会给出相应的 solutions。这里就不贴出来了。

相关结果可以在墨菲安全的后台上查看,体验更好。
https://www.murphysec.com/control/project