1
GitLab 集成 MurphySec 实现效果
将 MurphySec 代码安全检测工具集成到 GitLab-CI 中,可对每一次代码更新实时进行安全漏洞检测,并快速修复这些安全漏洞。
效果图
2
操作步骤
提示:如果您使用过Gitlab-CI请直接按照第4步开始操作
1.部署 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`
2.查看 GitLab-runner 令牌
点击管理员选项卡-->点击CI/CD-->Runer-->复制注册令牌
3.注册 GitLab-runner
`gitlab-runner register \``--non-interactive \``--url "gitlab服务地址" \``--registration-token "gitlab-token" \``--executor "shell" \``--description "描述" \``--tag-list "tag标签" \``--run-untagged \--locked="false"`
4.安装 MurphySec-cli
wget -q https://s.murphysec.com/release/install.sh -O - | /bin/bash
5.安装 Python 以及依赖
示例为 centos 安装 Python3.6
`yum install -y python3 wget``pip3 install requests argparse python-gitlab`
6.创建 GitLab-CI 变量
进入项目仓库-->设置-->CI/CD-->变量
创建 GitLab 变量
创建变量
(1)MURPHYSEC_TOKEN:粘贴MurphySec 官网复制的 TOKEN
登录 MurphySec官网获取 token:设置-->访问令牌-->点击复制按钮
(2)GITLAB_URL:GitLab地址(不指定不会提交issue)
(3)GITLAB_TOKEN:GitLab 当前项目令牌(指定 GITLAB_URL 时配置)
*项目页面点击-->设置-->访问令牌
*授予api权限
(4)PROJECT_ID:ci项目的项目id(指定GITLAB_URL时配置)
*项目页面点击设置-->通用
7.创建 .gitlab-ci 文件
仓库点击加号-->新建文件
`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`
8.查看代码检测结果
进入项目页面点击议题,页面展示了所有风险组件的漏洞概览
点击要查看的漏洞标题可以进入详细信息页面
详细信息包含了漏洞的编号,处置建议,引入路径以及修复方案
点击项目检测报告下方链接可以跳转到murphysec官网查看更详细的漏洞信息
关于 墨菲安全
墨菲安全是一家提供专业的软件供应链安全管理的科技公司。产品能力围绕 SBOM 提供软件全生命周期的安全管理,从供应链资产识别管理、风险检测、安全控制、一键修复等,提供完整的开发流程安全管控能力。同时能够极低成本的和现有开发流程中的各种工具一键打通,包括 IDE、Gitlab、Bitbucket、Jenkins、Harbor、Nexus 等数十种工具无缝集成。
旗下的安全研究团队墨菲安全实验室,专注于软件供应链安全相关领域的技术研究,关注的方向包括:开源软件安全、程序分析、威胁情报分析、企业安全治理等。公司核心团队来自百度、华为等企业,拥有超过十年的企业安全建设、安全产品研发及安全攻防经验。
五大产品支持解决方案落地
1、苏木-软件成分分析
苏木拥有行业领先的漏洞知识库,支持10min快速接入各开发流程,将代码项目存在的安全风险清晰展示,并支持IDE插件、GitHub等方式快速完成漏洞修复,轻松管理开源风险
2、京墨-源安全管理网关
京墨从源头卡住安全风险,安全能力左移前置,使代码安全检测用于从开发到测试的DevSecOps全流程之中。可无缝对接Nexus,Jfrog,支持黑白名单配置管理、卡位管理及制品检测,降低企业的成本和风险
3、赤箭-许可证合规管理
赤箭会自动识别开源组件协议,来降低许可证侵权风险。目前已覆盖3000+许可证类型,可做到对精准识别及合规风险快速管理
4、贯众-资产管理及漏洞预警
贯众覆盖超6w+主流组件,自研、商采、开源等资产全覆盖,实时与0day漏洞&投毒预警关联,漏洞预警已达分钟级,从容应对安全风险
5、南星-静态代码扫描
高准确率漏洞检测能力、极快的检测速度和效率、常见安全漏洞全覆盖、专家定制策略的更新
他们正在使用墨菲安全
添加 Abby 加入交流群