我正在设置一个GitHub Actions工作流,使用Snyk对我的Node.js项目进行安全扫描。我希望在工作流的同一个任务中运行多个Snyk命令,但是我不确定如何在没有冗余配置的情况下实现这一点。
以下是我现有的GitHub Actions工作流的简化版本:
默认情况下,如果我们不传递任何命令,它将运行`snyk test`,它只检查依赖项的漏洞。
我想运行多个命令:`snyk test`、`snyk code test`和`monitor`。
对于`snyk test`和`snyk code test`,我希望生成的`sarif`文件能够上传到GitHub代码扫描。
我在Snyk文档中找不到相关信息。
那么,我如何获取`snyk test`和`snyk code test`的`sarif`文件呢?
我尝试过,但没有成功。我得到了错误:`snyk: command not found`。
现在,我正在考虑为每个命令重复这个块。
但是,我不确定这是否是正确的方法。而且,使用这种方法,我无法将文件组合起来进行和测试。
以下是我现有的GitHub Actions工作流的简化版本:
name: Example workflow for Node using Snyk
on: push
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Run Snyk to check for vulnerabilities
uses: snyk/actions/node@master
continue-on-error: true # To make sure that SARIF upload gets called
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
command: test
args: --sarif-file-output=snyk.sarif
- name: Upload result to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: snyk.sarif
默认情况下,如果我们不传递任何命令,它将运行`snyk test`,它只检查依赖项的漏洞。
我想运行多个命令:`snyk test`、`snyk code test`和`monitor`。
对于`snyk test`和`snyk code test`,我希望生成的`sarif`文件能够上传到GitHub代码扫描。
我在Snyk文档中找不到相关信息。
那么,我如何获取`snyk test`和`snyk code test`的`sarif`文件呢?
我尝试过,但没有成功。我得到了错误:`snyk: command not found`。
- name: Run Snyk package test
run: snyk test
- name: Run Snyk code test
run: snyk code test > snyk.sarif
- name: Run Snyk monitor
run: snyk monitor
现在,我正在考虑为每个命令重复这个块。
- name: Run Snyk to check for package vulnerability and
uses: snyk/actions/node@master
continue-on-error: true
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
command: monitor
- name: Run Snyk to check for package vulnerability
uses: snyk/actions/node@master
continue-on-error: true
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
command: monitor
但是,我不确定这是否是正确的方法。而且,使用这种方法,我无法将文件组合起来进行和测试。