如何使用poutine检测代码库构建管道中的安全缺陷

admin 2024年8月28日22:57:17评论21 views字数 1972阅读6分34秒阅读模式
如何使用poutine检测代码库构建管道中的安全缺陷

关于poutine
poutine是一款功能强大的缺陷检测工具,该工具基于Go语言开发,可以帮助广大研究人员快速扫描和检测代码存储库构建管道中的错误配置和安全漏洞。
如何使用poutine检测代码库构建管道中的安全缺陷
该工具支持解析来自 GitHub Actions 和 Gitlab CI/CD 的 CI 工作流。当获得具有读取级别访问权限的访问令牌时,poutine可以分析组织的所有存储库,以快速了解组织软件供应链的安全状况。
支持的平台
GitHub Actions
GitHub管道
Azure DevOps
Pipelines As Code Tekton
工具安装

源码构建

由于该工具基于Go语言开发,因此我们首先需要在本地设备上安装并配置好最新版本的Go运行环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/boostsecurityio/poutine.git
然后切换到项目目录中,使用make命令构建项目代码即可:
cd poutinemake build
发布版本

广大研究人员可以直接访问该项目Releases页面下载poutine的最新预编译版本,并将二进制文件添加到您的 $PATH。

Homebrew

brew install poutine

Docker

docker run -e GH_TOKEN ghcr.io/boostsecurityio/poutine:latest

GitHub Actions

...jobs:  poutine:    runs-on: ubuntu-latest    permissions:      security-events: write      contents: read    steps:    - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1#################################################################################################    - name: poutine - GitHub Actions SAST      uses: boostsecurityio/poutine-action@main # We recommend to use a tagged version and pin it#################################################################################################    - name: Upload poutine SARIF file      uses: github/codeql-action/upload-sarif@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3.24.10      with:        sarif_file: results.sarif
工具使用
poutine [command] [arguments] [options]
分析一个本地库:
poutine analyze_local .
分析一个远程GitHub库:
poutine analyze_repo org/repo --token "$GH_TOKEN"
分析GitHub中一个组织的所有库:
poutine analyze_org org --token "$GH_TOKEN"
分析一个自托管Gitlab实例中的所有项目:
poutine analyze_org my-org/project --token "$GL_TOKEN" --scm gitlab --scm-base-uri https://gitlab.example.com

配置参数选项

--token          SCM访问令牌--format          输出格式(默认:pretty、json、sarif)--ignore-forks     忽略组织中的fork存储库(analyze_org)--scm            SCM平台(默认:github、gitlab)--scm-base-uri   自托管SCM实例的URI基地址--threads        要使用的线程数(默认:2)--config         配置文件的路径(默认:.poultine.yml)--verbose        启用调试日志记录

更新构建平台CVE数据库

go test -tags build_platform_vuln_database ./...opa fmt -w opa/rego/external/build_platform.rego
工具运行演示
如何使用poutine检测代码库构建管道中的安全缺陷
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可协议。
项目地址
poutine
https://github.com/boostsecurityio/poutine

原文始发于微信公众号(FreeBuf):如何使用poutine检测代码库构建管道中的安全缺陷

 

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月28日22:57:17
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   如何使用poutine检测代码库构建管道中的安全缺陷https://cn-sec.com/archives/3106320.html

发表评论

匿名网友 填写信息