Gitlab 集成 MurphySec 实时代码安全检测

一、功能简介

将墨菲安全代码安全检测工具集成到 GitLab CI 中,可对每一次代码更新实时进行安全漏洞检测,并快速修复这些安全漏洞。

如果您使用过 GitLab CI 请直接按照第 4 步开始操作

集成效果

Gitlab 集成 MurphySec 实时代码安全检测
Gitlab 集成 MurphySec 实时代码安全检测

二、操作步骤

2.1 部署 GitLab Runner

为了使用 GitLab 的 CI/CD 功能,我们需要在一台能够访问到 GitLab 服务的机器上安装 GitLab Runner,GitLab Runner 就像是一个工作机器人,专门负责执行你在 GitLab上定义的各种 CI 任务

  • 在准备安装 GitLab Runner 的机器上,执行以下命令:
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash
yum install gitlab-runner
gitlab-runner start
  • 注册 GitLab Runner,执行以下命令:
gitlab-runner register 
--non-interactive 
--url "<gitlab服务地址>" 
--registration-token "<runner 注册令牌>" 
--executor "shell" 
--description "描述" 
--tag-list "tag标签" 
--run-untagged --locked="false"

2.2 查看 GitLab Runner 令牌

  • 点击管理员选项卡->点击 CI/CD->Runner–>复制注册令牌
Gitlab 集成 MurphySec 实时代码安全检测
Gitlab 集成 MurphySec 实时代码安全检测
Gitlab 集成 MurphySec 实时代码安全检测

2.3 注册 GitLab Runner

  • 在安装了 GitLab Runner 的机器上,执行下面的命令来完成注册(注意需要替换的内容)

2.4 安装墨菲安全 CLI 工具

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

2.5 安装 python 以及依赖

  • 示例为 centos 安装 python3.6
yum install -y python3 wget
pip3 install requests argparse python-gitlab

2.6 创建 GitLab CI 变量

  • 进入项目仓库->设置–>CI/CD–>变量
Gitlab 集成 MurphySec 实时代码安全检测
Gitlab 集成 MurphySec 实时代码安全检测

2.6.1 变量一:墨菲安全访问令牌

变量的键为:MURPHYSEC_TOKEN

变量的值为:通过以下方式获取到的墨菲安全访问令牌

  • 登录墨菲安全官网(https://www.murphysec.com),在设置->访问令牌页面中,点击按钮复制访问令牌
Gitlab 集成 MurphySec 实时代码安全检测

2.6.2 变量二:GitLab 访问令牌

  • 分别添加变量:
  • 变量的键为:MURPHYSEC_TOKEN
  • 变量的值为:通过以下方式获取到的墨菲安全访问令牌
  • GITLAB_URL:gitlab 地址(不指定不会提交 issue)
  • GITLAB_TOKEN:gitlab 当前项目令牌(指定 GITLAB_URL 时配置)

项目页面点击–>设置–>访问令牌

Gitlab 集成 MurphySec 实时代码安全检测

授予 api 权限

Gitlab 集成 MurphySec 实时代码安全检测
  • PROJECT_ID:ci 项目的项目 id(指定 GITLAB_URL 时配置)

项目页面点击设置–>通用

Gitlab 集成 MurphySec 实时代码安全检测
  1. 创建 .gitlab-ci 文件

仓库点击加号–>新建文件

Gitlab 集成 MurphySec 实时代码安全检测
Gitlab 集成 MurphySec 实时代码安全检测
stages:
  - Code Scan
  - Issue
variables:
  MURPHY_TOKEN: $MURPHYSEC_TOKEN
  GITLAB_ROKEN: $GITLAB_TOKEN
  PROJECT_ID: $PROJECT_ID
  GITLAB_URL: $GITLAB_URL
scan:
  stage: Code Scan
  script:
    - murphysec scan . --token $MURPHYSEC_TOKEN --json >scan_results.json
  artifacts:
    paths:
      - scan_results.json
issue:
  stage: Issue
  script:
    - wget https://s.murphysec.com/gitlab_ci.py
    - python3 gitlab_ci.py   --gitlab_url $GITLAB_URL --gitlab_token $GITLAB_TOKEN  --project_id $PROJECT_ID
  dependencies:
    - scan
  1. 查看代码检测结果

进入项目页面点击议题,页面展示了所有风险组件的漏洞概览

Gitlab 集成 MurphySec 实时代码安全检测

点击要查看的漏洞标题可以进入详细信息页面

详细信息包含了漏洞的编号,处置建议,引入路径以及修复方案

点击项目检测报告下方链接可以跳转到 murphysec 官网查看更详细的漏洞信息

Gitlab 集成 MurphySec 实时代码安全检测
(0)
上一篇 2026年8月18日 下午12:15
下一篇 2023年8月9日 下午7:09

相关推荐

  • 你装的 Skill 真的能用,但也真的会把你的隐私数据带走

    装了个 AI Skill,SSH 私钥可能先出门 最近,AI Agent 越来越像一个能干活的同事。 你给它一个任务,它能查资料、写代码、调接口、生成文档,甚至还能串起一堆工具自己跑流程。 而 Skill,就是让 Agent 变得更能干的一种方式。 今天装一个“代码审查 Skill”、 明天装一个“自动运维 Skill”、 后天再装一个“浏览器操作…

    2026年6月10日
    0
  • 一个页面,看清应用从需求到上线的安全治理状态

    一款业务应用准备上线。 开发已经完成, 测试也接近尾声,安全负责人开始做最后一轮确认:SAST有结果,SCA有结果,DAST也做过,之前的渗透测试报告还在,几个安全团队的任务,也都有记录。 资料其实不少,但把这些信息放在一起之后,一个问题反而变得更难回答:这个应用,现在到底算不算准备好了?从需求、开发,到测试、上线和运行,这个应用的安全工作到底做到哪一步了?…

    2026年8月31日
    0
  • Java 漏洞扫描工具之 IDE 插件以及强烈修复漏洞解释

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

    2023年8月9日
    0
  • 这一招让你轻松阻断95%的开源组件投毒风险!

    ​在日常研发过程中,开源组件版本更新是一件非常常见的事情。 一个热门组件发布新版本后,它可能修复了一些问题,也带来了新的能力,于是研发团队就会希望尽快完成升级。 因为开源组件发布后的最初阶段,往往存在一个特殊时期: 虽然这并不代表新版本一定存在问题,但对于企业软件供应链治理而言,未知,本身就是需要被管理的风险。  软件供应链安全,正在面对新的时间窗口挑战 过…

    2026年8月18日
    0
  • 墨菲安全发布SCA 4.0:AI原生、Skills 检测

    写在前面 在企业安全治理中,有一个场景非常普遍:SCA 工具扫出来几十个漏洞,安全团队整理成工单派给研发,研发打开一看,一堆 CVE 编号和 CVSS 评分,完全看不懂,不知道该改哪里,更不知道改了会不会出问题。 于是就开始了漫长的来回沟通:安全要解释这个漏洞什么意思,研发要确认改完会不会影响线上,法务要判断许可证到底能不能用。一个本来 30 分钟能修好的问…

    2026年5月9日
    0