SAST GitHub 操作

AppScan SAST Github 操作使您能够针对存储库中的文件运行静态分析安全测试 (SAST)。SAST 扫描可识别代码中的安全漏洞,并将结果存储在 AppScan on Cloud 中。

注册

如果您没有帐户,请在 HCL AppScan on Cloud (ASoC) 上注册,以生成 API 密钥和 API 密码。

设置

  1. 在 API 页面上生成 API 密钥和 API 密码。
    • API 密钥和 API 密码映射到此操作的 asoc_key 和 asoc_secret 参数。将 API 密钥和 API 密码作为密码存储到存储库中。
  2. 在 ASoC 中创建应用程序。
    • ASoC 中的 application ID 映射到此操作的 application_id。

必需输入

名称 描述
asoc_key API 页面中的 API 密钥
asoc_secret API 页面中的 API 密码
application_id ASoC 中应用程序的标识。

可选输入

名称 描述 缺省
scan_name 在 ASoC 中创建的扫描的名称。 GitHub 存储库名称
personal_scan 将此项设为个人扫描。 false
static_analysis_only 仅运行静态分析。请勿运行 SCA(软件组成分析)。 false
open_source_only 仅运行 SCA(软件组成分析)。请勿运行静态分析。 false
secrets_only 仅扫描密钥。请勿运行静态分析或 SCA(软件组成分析)。 false
scan_build_outputs 缺省情况下,将仅分析源代码文件。启用此选项将导致生成要分析的 Java 和 .NET 的构建输出文件 (.jar/.war/.ear/.dll/.exe)。此外,如果构建环境可用,将构建 Maven、Gradle 和 Visual Studio 解决方案。 false
wait_for_analysis 缺省情况下,此操作将在 ASoC 中启动扫描,但不会等待分析完成。启用此选项将导致操作等待分析完成。请注意,这将导致操作运行更长时间。 false
analysis_timout_minutes 如果 wait_for_analysis 是 true,则为等待分析完成的分钟数。 30 分钟
fail_for_noncompliance 如果 wait_for_analysis 为 true,则在扫描中发现任何不合规问题时,作业将失败。 false
failure_threshold 如果 fail_for_noncompliance 已启用,则为表示故障的严重性。较低的严重性不会被视为故障。例如,如果将 failure_threshold 设置为 medium,informational 和/或 low 严重性问题不会导致故障。medium、high 和/或 critical 问题将导致故障。 low
comment 要与扫描关联的注释。

示例

name: "HCL AppScan SAST"
on:
  workflow_dispatch
jobs:
  scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Run AppScan SAST scan
        uses: HCL-TECH-SOFTWARE/appscan-sast-action@v1.0.7
        with:
          asoc_key: ${{secrets.ASOC_KEY}}
          asoc_secret: ${{secrets.ASOC_SECRET}}
          application_id: e35ea96d-cae0-499a-a3ed-7a4efd77b269