GitHubリポジトリにContrast Scanを使う
ContrastのLocal Scanを使用すると、 ContrastにファイルをアップロードせずにGitHubリポジトリの脆弱性をスキャンできます。
開始する前に
Contrast Webインターフェイスでユーザメニュー > ユーザの設定を選択して、Contrastの認証情報を取得します。以下の情報が必要です。
組織ID
APIキー
サービスキー
また、有効なContrastユーザ名とContrastインスタンスのURLも必要です。
手順
以下のGitHubシークレットを設定します。
CONTRAST__API__API_KEY
CONTRAST__API__ORGANIZATION
CONTRAST__API__SERVICE_KEY
CONTRAST__API__USER_NAME
CONTRAST__API__URL
ワークフローを作成するか、既存のワークフローを更新して、コードに対してアクションを実行します。この例では、プッシュ時にアクションを実行する方法を示しています。
name: Scan with local scanner on: push: branches: - 'main' permissions: contents: read jobs: scan: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: Contrast-Security-OSS/contrast-local-scan-action@v1.0.0 with: apiUrl: ${{ secrets.CONTRAST__API__URL }} apiUserName: ${{ secrets.CONTRAST__API__USER_NAME }} apiKey: ${{ secrets.CONTRAST__API__API_KEY }} apiServiceKey: ${{ secrets.CONTRAST__API__SERVICE_KEY }} apiOrgId: ${{ secrets.CONTRAST__API__ORGANIZATION }}
READMEに、ワークフローに追加できるその他の例を記載しています。
必要な入力値
apiUserName
:有効なContrastユーザ名apiKey
:Contrast APIキーapiServiceKey
:ContrastサービスキーapiOrgId
:Contrast組織ID
任意の入力値
apiUrl
:ContrastインスタンスのURL。デフォルト値:
https://app-agents.contrastsecurity.com/Contrast
checks
:設定すると、検出された脆弱性に基づいて、現在のコミットにGitHubチェックが追加されます。codeQuality
:Contrastローカルスキャンエンジンに-q
オプションが渡されて、スキャンにコード品質ルールが含まれるようになります。label
:現在のスキャンに関連付けるラベル。デフォルト値は、現在の参照です。例:
refs/heads/main
memory
:基盤となるスキャンエンジンに渡されるメモリ設定。デフォルト値は、2Gです。path
:Contrastローカルスキャンエンジンがスキャンに使用するパス。デフォルト値は、現在のリポジトリのパスです。
projectName
:スキャンに関連付けるプロジェクト名。デフォルト値は、現在のGitHubリポジトリ名です。例:
mycompany/myrepo
resourceGroup
:Contrastスキャンローカルエンジンに-r
オプションが渡され、新規に作成したプロジェクトが指定のリソースグループに関連付けられます。severity
:スキャンでこの深刻度以上の脆弱性が検出された場合にビルドが失敗するように設定します。有効な値:critical、high、medium、low、note
関連項目
最新の情報についてはContrast Local Scanを参照