CodeSweep Github 操作
使用 HCL AppScan CodeSweep for GitHub 操作,您可以检查每个拉取请求的代码。此操作将在每次更新时识别已更改代码中的漏洞。但是,除了识别问题外,HCL AppScan CodeSweep for GitHub 扩展还会告诉您在将问题提交给主要分支之前需要了解哪些信息来缓解问题。
教程
注册
在 HCL AppScan on Cloud (ASoC) 上注册,以生成 API 密钥/密码。
安装
- 登录 ASoC 后,转至 API 页面以生成 API 密钥/密码对。这些必须在
asoc_key
和asoc_secret
中用于操作。将这些参数作为密钥存储在存储库中。 - 确保将存储库的工作流程许可权设置为读写许可权。这允许 CodeSweep 扫描您的文件,并为发现的问题创建检查运行和注释。在 中访问这些设置。
- 要在打开拉取请求时扫描代码更改,请将以下文件添加到存储库中的
.github/workflows/codesweep.yml
下,或更新现有工作流程文件:name: "HCL AppScan CodeSweep" on: pull_request: types: [opened,synchronize] jobs: scan: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v1 - name: Run AppScan CodeSweep uses: HCL-TECH-SOFTWARE/appscan-codesweep-action@v2 with: asoc_key: ${{secrets.ASOC_KEY}} asoc_secret: ${{secrets.ASOC_SECRET}} env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
注: 如果使用 checkout@v2 或更高版本,则必须将 fetch-depth 设置为 0。例如:uses: actions/checkout@v2 with: fetch-depth: 0
- 要在合并拉取请求时将安全性问题发布到 ASoC,请将以下文件添加到存储库中的
.github/workflows/codesweep_publish.yml
下,或更新现有工作流程文件:name: "HCL AppScan CodeSweep" on: pull_request: types: [closed] jobs: publish: runs-on: ubuntu-latest steps: - name: Publish issues to ASoC uses: HCL-TECH-SOFTWARE/appscan-codesweep-action@v2 with: asoc_key: ${{secrets.ASOC_KEY}} asoc_secret: ${{secrets.ASOC_SECRET}} publish_on_merge: true application_id: <your ASoC application ID> env: GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
用于扫描的可选参数
参数 | 描述 | 值 | 缺省值 |
---|---|---|---|
status |
发现任何安全性问题时检查的状态。 |
|
neutral |
with:
status: failure
用于将问题发布到 AppScan on Cloud 的可选参数
参数 | 描述 | 值 | 缺省值 |
---|---|---|---|
issue_status |
发布到 ASoC 的问题的状态。 |
|
open |
scan_base_name |
ASoC | 时间戳记会附加到给定的基本名称中。 | GitHub_CodeSweep |
personal_scan |
ASoC |
|
true |
with:
publish_on_merge: true
application_id: 6c058381-17ca-e711-8de5-002590ac753d
issue_status: "inprogress"
scan_base_name: "CodeSweep"
personal_scan: true
示例
在差异视图中添加了注释,显示任何容易受到攻击的代码行,并添加了检查运行以提供其他详细信息,包括好代码和坏代码样本以及缓解信息。
支持的语言
HCL AppScan CodeSweep 操作支持扫描以下语言/方言:
语言 | |||
---|---|---|---|
Android-Java | Groovy | NodeJS | Ruby |
Angular | IaC(Docker、K8s、Terraform) | Objective-C/Objective-C++ | Scala |
Apex | Ionic | PHP | Swift |
C/C++ | Java | PL/SQL | T-SQL |
Cobol | JavaScript | Perl | TypeScript |
ColdFusion | JQuery | Python | VueJS |
Dart | Kotlin | React | .Net(C#、VB.NET、ASP.Net) |
GoLang | Mootools | React Native | Xamarin |
正在故障排除
问题:安全性扫描运行,但不会为发现的安全性问题创建检查运行或注释。工作流程日志包含错误:
Error: Failed creating checkrun: HttpError: Resource not accessible by integration
解决方法:此错误表示工作流程没有对存储库的写入许可权,因此 CodeSweep 无法创建检查运行和注释。要修订此问题,请转至工作流程许可权设置为读写许可权。
,并将加入社区
使用 CodeSweep 空隙时间通道报告有关 HCL AppScan CodeSweep 操作的任何反馈或提出常规问题。