trendmicro/tmas-scan-action

GitHub: trendmicro/tmas-scan-action

趋势科技提供的 GitHub Action,利用 TMAS CLI 在 CI/CD 流水线中对代码仓库和容器镜像进行漏洞、机密信息及恶意软件扫描,并支持基于策略的合并阻断。

Stars: 16 | Forks: 3

# TMAS Scan Action ![TM Logo](https://static.pigsec.cn/wp-content/uploads/repos/cas/35/358354e8dc57b198ebed62b771ba7bc736718a0b428b8fe11818077dd06df9ba.jpg) 使用 [TMAS (TrendAI™ Artifact Scanner)](https://docs.trendmicro.com/en-us/documentation/article/trend-vision-one-__artifact-scanner-tmas-2) 扫描工作区中的制品以查找开源漏洞、恶意软件或机密信息。 ## 简介 此 [GitHub Action](https://github.com/features/actions) 会在 GitHub Actions runner 上安装指定版本的 TMAS CLI 工具,并扫描指定的制品以查找开源漏洞、机密信息或恶意软件。 完整的扫描结果将显示在 Action 日志中,同时会在相关 PR 上以评论形式发布摘要报告。 ## 要求 - 拥有一个 [TrendAI Vision One™ Account](https://signin.v1.trendmicro.com/)。如果您还没有,请[立即注册](https://account.trendmicro.com)。 - [A TrendAI Vision One™ API Key](https://docs.trendmicro.com/en-us/documentation/article/trend-vision-one-__obtaining-api-key-2)。 - 确定您的 TrendAI Vision One™ 区域(`us-east-1`、`eu-central-1`、`eu-west-2`、`ca-central-1`、`ap-southeast-2`、`ap-south-1`、`ap-northeast-1`、`ap-southeast-1`、`me-central-1`)。 ## 用法 在您的 `.github/workflows` YAML 文件中添加一个 Action,以使用 TMAS 扫描您的制品。TMAS 可以扫描来自多种来源的文件、目录和容器镜像。有关更多详细信息,请参阅[制品文档](https://docs.trendmicro.com/en-us/documentation/article/trend-vision-one-__artifact-scanner-cli-2#GUID-09957805-70E7-401F-A691-F587FCE2CB8B-ofd60h__supportedArtifacts)。 可通过 `additionalArgs` 字段配置 TMAS GitHub Action 的完整功能和标志列表,详见 [CLI 工具文档](https://docs.trendmicro.com/en-us/documentation/article/trend-vision-one-__artifact-scanner-cli-2)和[示例](https://docs.trendmicro.com/en-us/documentation/article/trend-vision-one-__tmas-examples-2)。 ### 扫描 GitHub 仓库 ``` name: TMAS Scan on: push: jobs: tmas-scan: name: TMAS Repo Scan runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v4 with: path: repo-name - name: Download TMAS and Scan Repo for Open Source Vulnerabilities and Secrets uses: trendmicro/tmas-scan-action@vX with: version: '2' # Recommended: pin to major version for automatic updates within v2.x.x vulnerabilitiesScan: true malwareScan: false # Malware scanning is only available for container images at this time secretsScan: true artifact: dir:./repo-name additionalArgs: --region=eu-central-1 tmasApiKey: ${{ secrets.TMAS_API_KEY }} githubToken: ${{ secrets.GITHUB_TOKEN }} ``` ### 扫描构建制品 ``` name: TMAS Scan on: pull_request: jobs: tmas-scan: name: TMAS Container Scan runs-on: ubuntu-22.04 steps: - name: Download TMAS and scan container for Open Source Vulnerabilities, Malware and Secrets uses: trendmicro/tmas-scan-action@vX with: version: X.X.X vulnerabilitiesScan: true malwareScan: true secretsScan: true artifact: registry:my-registry/my-app:latest additionalArgs: --region=eu-central-1 tmasApiKey: ${{ secrets.TMAS_API_KEY }} githubToken: ${{ secrets.GITHUB_TOKEN }} ``` ## 输入 Action 支持的输入和输出在 [Action 定义文件](action.yml)中进行了描述。 ## Runner 前置条件 TMAS scan action 要求在 GitHub Actions runner 上安装以下工具: - `curl` - `jq` - `sha256sum`(来自 GNU coreutils)或 `shasum` ## 结果 - TMAS 扫描结果的摘要将作为评论发布在相关 PR 上。 - 完整的扫描结果可以在 Action 日志中的 `TMAS Scan Report` 下找到。 ### GitHub 权限 要发布扫描摘要评论,必须向 Action 提供 GitHub token。在大多数情况下,默认的 Action token `secrets.GITHUB_TOKEN` 就足够了。但是,如果此默认 token 被限制为只读,则需要在工作流中指定额外的权限(如下所示),或者改用个人访问 token。 ``` name: TMAS Scan on: pull_request: permissions: contents: read pull-requests: write ``` ## 策略评估 您可以使用 [TrendAI Vision One™ Code Security](https://docs.trendmicro.com/en-us/documentation/article/trend-vision-one-code-security-intro) 添加策略,如果扫描结果不符合预期的策略标准,该策略将导致 tmas-scan-action 失败。当此工作流在 GitHub 中被标记为必需时,可用于阻止合并拉取请求,直到这些问题得到解决。 要将 TMAS GitHub Action 配置为使用您定义的 TrendAI Vision One™ Code Security 策略,请将 `--evaluatePolicy` 标志添加到 `additionalArgs` 中([扫描命令标志](https://docs.trendmicro.com/en-us/documentation/article/trend-vision-one-__artifact-scanner-cli-2#GUID-09957805-70E7-401F-A691-F587FCE2CB8B-jp80o3__scanCommandFlags))。当扫描结果违反策略的阻断规则时,scan action 将使工作流失败。如果结合要求工作流成功的 GitHub 分支保护规则,则可以在安全问题得到解决之前,阻止合并拉取请求代码。
标签:DevSecOps, GitHub Action, 上游代理, 安全扫描, 时序注入