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) 存储在您的存储库中。

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, 上游代理, 文档安全, 自定义脚本, 静态应用安全测试