使用 GitLab CI/CD 和儲存器配置掃描自動化
可從 HCL Harbor 和 HCL FlexNet Operations 入口網站 (FNO) 取得的 HCL®AppScan® 源 指令行介面 (CLI) 儲存器,可用於使用 GitLab 將靜態分析掃描自動化,而無須安裝完整的 AppScan® 源 實例。
使用儲存器掃描的主要步驟如下:
- 準備應用程式。
- 使用來自 HCL FNO 的儲存器影像準備 GitLab CI/CD。
- 使用 GitLab CI/CD 執行程式起始掃描。
必備項目
開始前,請確定您的環境符合以下要求:
- GitLab CI/CD 環境:一或多個安裝了 Docker 的 Linux RHEL 7.9 版 GitLab CI/CD 執行程式。
這是要使用 CLI 儲存器執行靜態分析掃描的目標系統。
-
AppScan® Source for Automation 的有效授權和相關授權伺服器資訊。
-
AppScan® 源 CLI 儲存器影像
從 HCL Harbor 或 HCL FNO 下載 AppScan® 源 CLI 儲存器影像。擁有有效授權後,您的 HCL ID 可授予這些位置的存取權。
-
AppScan® 源 CLI Script
使用 GitLab CI/CD 透過儲存器掃描需有 Script。
- AppScan® 源 專案 (
.ppf
) 和應用程式 (.paf
) 檔案:使用 AppScan® 源 for Analysis 產生配置檔(需要在可存取掃描目標的 Linux 系統上安裝 AppScan® 源)。 - 從儲存器存取 GitLab CI/CD 執行程式上的內容:
- 要掃描的應用程式應存在於 GitLab 中,且能從執行掃描的 GitLab CI/CD 執行程式存取。
.paf
/.ppf
檔案
註: 在掃描實例化過程中,系統會將磁區對映(將儲存器主機上的路徑對映到儲存器中的路徑)用於此目的。
準備要掃描的應用程式
使用以下任一項目準備要掃描的應用程式:
paf
/ppf
檔案- 資料夾掃描
使用
paf
/ppf
檔案準備要掃描的應用程式- 在已安裝 AppScan® 源 的 Linux 系統上,使用 HCL®AppScan® Source for Analysis 用戶端產生
paf
/ppf
檔案。確保
paf
和ppf
檔案位於所要掃描之應用程式的根目錄下。 - 確保應用程式檔案和
paf
/ppf
檔案可從 GitLab CI/CD 執行程式存取。例如,如果可在 GitLab CI/CD 執行程式上的根路徑
/usr/user1/SampleApp
存取應用程式,則paf
/ppf
檔案會位於/usr/user1/SampleApp/SampleApp.paf
和/usr/user1/SampleApp/SampleApp.ppf
。 - 確定儲存器所看到的磁區名稱。例如,將主機上的
/usr/user1
對映至儲存器中的cvol
。註: 磁區對映是在儲存器中執行 CLI 時所指定的。 - 建立 CLI Script。例如,/
usr/user1/SampleApp
中的SampleApp.script
。就此範例而言,Script 會告訴儲存器使用cvol
路徑存取應用程式內容。所列出的指令是 AppScan® 源 CLI(不需手動介入的掃描)中使用的指令。login … oa /cvol/SampleApp/SampleAll.ppf scan … logout
準備應用程式以進行資料夾掃描:
- 確保應用程式檔案可以從 GitLab CI/CD 執行程式存取。
例如,應用程式可從 GitLab CI/CD 執行程式上的路徑 /
usr/user1/SampleApp
存取。 - 確定儲存器所看到的磁區名稱。例如,將主機上的
/usr/user1
對映至儲存器中的cvol
。註: 磁區對映是在儲存器中執行 CLI 時所指定的。 - 建立 CLI Script。例如,
/usr/user1/SampleApp
中的SampleApp.script
。login … oa /cvol/SampleApp/SampleAll.ppf scan … logout
準備 GitLab CI/CD 執行程式上的執行時期環境
準備 GitLab CI/CD 執行程式上的執行時期環境:
- 從 HCL FNO 將 AppScan® 源 CLI 儲存器下載至 GitLab 主機,或直接從 HCL Harbor 存取。
如果是從 HCL FNO 下載,請使用
docker load
指令載入 CLI 儲存器影像。 - 請建立
yaml
Script 檔案,以使用 HCL Harbor 的 AppScan® 源 CLI 儲存器執行靜態分析掃描。例如:# This is a basic workflow to help you get started with GitLab CI/CD variables: GIT_STRATEGY: clone build-job: stage: build script: - echo "Hello, $GITLAB_USER_LOGIN!" - chmod -R 777 $CI_PROJECT_DIR - docker run --rm --env-file $CI_PROJECT_DIR/env.list -v $CI_PROJECT_DIR/:/wa hclcr.io/appscan/appscan-src-cli:10.3.0 script /wa/CLI_jspWIKI.script - echo "Success, Scan complete" - rm -vrf $CI_PROJECT_DIR - echo "Clean up done"
使用 GitLab CI/CD 執行程式起始靜態分析掃描
起始靜態分析掃描:
- 確認 GitLab CI/CD 執行程式已上線。在 GitLab 中,選取 以驗證狀態。
- 選取
.yaml
Script 啟動靜態分析掃描。
,以使用存在於分支中的