Golang 程序漏洞检测利器 govulncheck(三):github 集成方法

上一篇文章详细介绍了 Golang 程序漏洞扫描工具 govulncheck 使用的漏洞数据库(Go vulnerability database),本文详细讲解下 Github 项目如何使用 govulncheck。

govulncheck 为 Golang 开发者提供了一种准确可靠的方式来了解程序中可能存在的漏洞。官方也开发了对应的 GitHub Action 来帮助开发者扫描托管在 Github 上的项目。

govulncheck GitHub Action 使用方法

首先在项目根目录创建 .github 目录,然后在 .github 目录下创建 workflows 目录,最后在 workflows 目录下面创建 govulncheck.yml 文件,文件名可以根据自己的实际情况命名。写入如下内容:

name: "govulncheck"

on:
  push:
    branches: [ main ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ main ]
  schedule:
    - cron: '24 1 * * 0'

jobs:
  govulncheck_job:
    runs-on: ubuntu-latest
    name: Run govulncheck
    steps:
      - id: govulncheck
        uses: golang/govulncheck-action@v1
        with:
          go-version-input: 1.20.6
          go-package: ./...

然后提交代码并推送到 github 后,就会自动触发扫描。

govulncheck GitHub Action 相关配置说明

默认情况下,govulncheck Github Action 将运行最新版本的 Go 版本,并扫描所提供的 Go 模块中的所有包。假设在本地安装了最新的 Go 版本,这相当于在命令行中运行以下命令:

$ govulncheck ./...

使用最新的 Go 版本执行扫描并不是我们想要的,所以使用 go-version-input 将 Go 版本设置为了 1.20.6,使用 go-package 指定要扫描的包的范围。govulncheck Github Action 还有其他几个可选的设置,如下:

  • work-dir: 运行 govulncheck 的目录, 默认为 '.'
  • repo-checkout: 检出仓库,默认为 true
  • check-latest:检查最新的 Go 版本,默认为 false
  • go-version-file:go.mod 或 go.work 指定的 Go 版本,默认为 ''

当发现漏洞时,GitHub Actions 会显示一个错误,其中包含有关漏洞的信息以及对应的修复方法。如下:

相关推荐
一只爱打拳的程序猿1 分钟前
【Spring】更加简单的将对象存入Spring中并使用
java·后端·spring
杨荧3 分钟前
【JAVA毕业设计】基于Vue和SpringBoot的服装商城系统学科竞赛管理系统
java·开发语言·vue.js·spring boot·spring cloud·java-ee·kafka
白子寰9 分钟前
【C++打怪之路Lv14】- “多态“篇
开发语言·c++
王俊山IT21 分钟前
C++学习笔记----10、模块、头文件及各种主题(一)---- 模块(5)
开发语言·c++·笔记·学习
为将者,自当识天晓地。23 分钟前
c++多线程
java·开发语言
小政爱学习!25 分钟前
封装axios、环境变量、api解耦、解决跨域、全局组件注入
开发语言·前端·javascript
k093340 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
神奇夜光杯1 小时前
Python酷库之旅-第三方库Pandas(202)
开发语言·人工智能·python·excel·pandas·标准库及第三方库·学习与成长
Themberfue1 小时前
Java多线程详解⑤(全程干货!!!)线程安全问题 || 锁 || synchronized
java·开发语言·线程·多线程·synchronized·
plmm烟酒僧1 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv