此GitHub操作使您可以使用對比度安全的行業領先代碼掃描儀(對比掃描)在代碼中找到漏洞。該操作將PR的代碼掃描分析與目標分支的最後代碼掃描分析進行了比較。 GitHub是否已經引入了新漏洞,將其檢查。
如果您不熟悉GitHub操作,請閱讀GitHub操作文檔,以了解GitHub的操作是什麼以及如何設置它們。之後,完成以下步驟:
配置以下github秘密contast_api_key,contast_organization_id,contast_auth_header和contast_api_url

相比之下,CODESEC用戶:使用CLI檢索秘密的身份驗證詳細信息。
安裝說明在這裡:https://www.contrastsecurity.com/developer/codesec
如果您是新用戶,請使用“對比驗證”命令創建一個帳戶
在CLI中運行“對比配置”命令以收集所需的憑據

許可的對比度安全用戶:從“用戶設置”菜單中獲取對比Web界面中的秘密的身份驗證詳細信息:您將需要以下

複製下面的示例工作流程,並創建代碼的分支以添加對比度安全掃描。該分支通常位於.github/workflows/build.yml
更新工作流文件以指定何時應進行操作(例如在Pull_request上,按下)
on :
# Trigger analysis when pushing to main or an existing pull requests. Also trigger on
# new pull requests
push :
branches :
- main
pull_request :
types : [opened, synchronize, reopened]更新工作流文件中的filepath,以指定構建工件或文件的位置進行掃描
with :
artifact : mypath/target/myartifact.jar 基於脆弱性的嚴重程度失敗,發現嚴重程度(關鍵/高/中或低),無法實現
severity : high
fail : true 為了使GitHub在回購的“安全性”選項卡中列出漏洞,必須伴隨此GitHub操作
- name : Upload SARIF file
uses : github/codeql-action/upload-sarif@v2
with :
sarif_file : results.sarif sarif_file的值必須是results.sarif 。
提交後,創建一個拉請請求(PR)將更新合併回您的主分支。創建PR觸發掃描以進行運行。額外的“代碼掃描”檢查出現在PR中
由於當您添加對比度掃描時可能會有新的發現,因此我們不想失敗並阻止添加對比度掃描的PR,迫使PR的所有者現在修復了代碼庫中已經存在的所有新暴露的漏洞。
在主分支上進行對比掃描後,您創建的所有新PR在對比度掃描運行失敗的情況下,如果它們引入了您剛剛建立的基線之外的新漏洞,則它們是否引入了代碼掃描。
所有與對比相關的帳戶秘密均應配置為GitHub秘密,並將通過GitHub Runner中的環境變量傳遞給掃描儀。一個簡單的工作流程是:
on :
# Trigger analysis when pushing to main or an existing pull requests. Also trigger on
# new pull requests
push :
branches :
- main
pull_request :
types : [opened, synchronize, reopened]
name : Contrast Security Scan
jobs :
build_and_scan :
permissions :
contents : read # for actions/checkout
security-events : write # for github/codeql-action/upload-sarif
actions : read # only required for a private repository by github/codeql-action/upload-sarif to get the Action run status
runs-on : ubuntu-latest
# check out project
steps :
- uses : actions/checkout@v2
# steps to build the artifact you want to scan
# -name: Build Project
# ...
# Scan Artifact
- name : Contrast Scan Action
uses : Contrast-Security-OSS/[email protected]
with :
artifact : mypath/target/myartifact.jar
apiKey : ${{ secrets.CONTRAST_API_KEY }}
orgId : ${{ secrets.CONTRAST_ORGANIZATION_ID }}
authHeader : ${{ secrets.CONTRAST_AUTH_HEADER }}
severity : high
fail : true
# To list vulnerabilities in the GitHub Security Tab of the repo include GitHub upload-sarif action
# The value of `sarif_file` must be `results.sarif`
- name : Upload SARIF file
uses : github/codeql-action/upload-sarif@v2
with :
sarif_file : results.sarif 此GitHub動作和對比度Maven插件可以完成同一件事。您不能同時使用這兩者。例如,如果您使用maven來構建代碼並運行org.conconcurity.maven:在構建過程中掃描,請不要使用對比度掃描github操作。