HCL-TECH-SOFTWARE/appscan-sast-action

GitHub: HCL-TECH-SOFTWARE/appscan-sast-action

用于在 GitHub Actions 工作流中集成 HCL AppScan 的静态安全测试与软件组合分析能力,实现代码漏洞与依赖风险的自动化检测。

Stars: 12 | Forks: 6

# HCL AppScan SAST Github Action 使用 HCL AppScan,让您的代码更优质、更安全。 HCL AppScan SAST Github Action 使您能够对存储库中的文件运行静态分析安全测试 (SAST) 和软件组合分析 (SCA)。SAST 扫描可识别代码中的安全漏洞,而 SCA 扫描可识别依赖项中的漏洞。结果将存储在 AppScan on Cloud 或 AppScan 360 中。 # 用法 ## 注册 如果您还没有账号,请在 [HCL AppScan on Cloud (ASoC)](https://www.hcltechsw.com/appscan/codesweep-for-github) 注册以生成您的 API key 和 API secret。AppScan 360 不需要此操作。 ## 设置 1. 在 [API 页面](https://cloud.appscan.com/main/settings)生成您的 API key 和 API secret。 - API key 和 API secret 映射到此操作的 `asoc_key` 和 `asoc_secret` 参数。请将 API key 和 API secret 作为 [secrets](https://docs.github.com/en/actions/security-guides/encrypted-secrets) 存储在您的存储库中。 ![adingkeys_animation](https://raw.githubusercontent.com/HCL-TECH-SOFTWARE/appscan-sast-action/main/img/keyAndSecret.gif) 2. 在 ASoC 或 AppScan 360 中创建应用程序。 - ASoC/AppScan 360 中的应用程序 ID 映射到此操作的 application_id。 # 必需输入 | 名称 | 描述 | | :---: | :---: | | asoc_key | 来自 [API 页面](https://cloud.appscan.com/main/settings)的 API key | | asoc_secret | 来自 [API 页面](https://cloud.appscan.com/main/settings)的 API secret | | application_id | ASoC 或 AppScan 360 中的应用程序 ID。 | # 可选输入 | 名称 | 描述 | 默认值 | | :---: | :---: | :---: | | service_url | 用于连接到 AppScan 360 的 URL。连接到 AppScan on Cloud (ASoC) 时不需要 | https://cloud.appscan.com | | acceptssl | 允许使用不受信任的证书连接到 AppScan 360 服务。仅建议用于测试目的。 | false | | scan_name | 在 ASoC 中创建的扫描名称。 | GitHub 存储库名称 | | incremental_scan | 仅扫描在 pull request 中添加或修改的文件。 | false | | personal_scan | 将此设为[个人扫描](https://help.hcltechsw.com/appscan/ASoC/appseccloud_scans_personal.html)。 | false | | sast_scan_id | 用于运行重新扫描的现有 SAST 扫描的 ID。 | null | | sca_scan_id | 用于运行重新扫描的现有 SCA 扫描的 ID。 | null | | static_analysis_only | 仅运行静态分析。不运行 SCA(软件组合分析)。 | false | | open_source_only | 仅运行 SCA(软件组合分析)。不运行静态分析。 | false | | secrets_only | 仅扫描 secrets。不运行静态分析或软件组合分析。 | false | | scan_build_outputs | 默认情况下,仅分析源代码文件。启用此选项将导致分析 Java 和 .NET 的构建输出文件(.jar/.war/.ear/.dll/.exe)。此外,如果构建环境可用,将构建 Maven、Gradle 和 Visual Studio 解决方案。 | false | | wait_for_analysis | 默认情况下,此操作将在 ASoC 中启动扫描,但不会等待分析完成。启用此选项将使操作等待分析完成。请注意,这将导致操作运行时间更长。 | false | | analysis_timeout_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 | # 示例 ``` name: "HCL AppScan SAST" on: workflow_dispatch jobs: scan: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v6 - name: Run AppScan SAST scan uses: HCL-TECH-SOFTWARE/appscan-sast-action@v1.0.9 with: asoc_key: ${{secrets.ASOC_KEY}} asoc_secret: ${{secrets.ASOC_SECRET}} application_id: e35ea96d-cae0-499a-a3ed-7a4efd77b269 ```
标签:DevSecOps, GitHub Action, 上游代理, 文档安全, 自定义脚本, 静态应用安全测试