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


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

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

    govulncheck GitHub Action 使用方法

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

    1. name: "govulncheck"
    2. on:
    3. push:
    4. branches: [ main ]
    5. pull_request:
    6. # The branches below must be a subset of the branches above
    7. branches: [ main ]
    8. schedule:
    9. - cron: '24 1 * * 0'
    10. jobs:
    11. govulncheck_job:
    12. runs-on: ubuntu-latest
    13. name: Run govulncheck
    14. steps:
    15. - id: govulncheck
    16. uses: golang/govulncheck-action@v1
    17. with:
    18. go-version-input: 1.20.6
    19. 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 会显示一个错误,其中包含有关漏洞的信息以及对应的修复方法。如下:

  • 相关阅读:
    【小5聊】C# 通过将DataTable转为List泛型遇到的问题
    常见项目管理中npm包操作总结
    安卓基础学习 Day 20|安卓高级控件---翻页视图
    科学孕育:婴幼儿食物过敏怎么办?
    [附源码]计算机毕业设计共享汽车系统
    千兆以太网硬件设计及链路层 MAC 协议格式
    Flutter 3.16 中带来的更新
    Layui快速入门之第五节 导航
    【小型网站测试】使用python脚本来控制docker容器的编排
    使用 Meltano 将数据从 Snowflake 导入到 Elasticsearch:开发者之旅
  • 原文地址:https://blog.csdn.net/luduoyuan/article/details/133690098