Skip to main content

GitHubリポジトリにContrast Scanを使う

ContrastのLocal Scanを使用すると、 ContrastにファイルをアップロードせずにGitHubリポジトリの脆弱性をスキャンできます。

開始する前に

  • Contrast Webインターフェイスでユーザメニュー > ユーザの設定を選択して、Contrastの認証情報を取得します。以下の情報が必要です。

    • 組織ID

    • APIキー

    • サービスキー

  • また、有効なContrastユーザ名とContrastインスタンスのURLも必要です。

手順

  1. 以下のGitHubシークレットを設定します。

    • CONTRAST__API__API_KEY

    • CONTRAST__API__ORGANIZATION

    • CONTRAST__API__SERVICE_KEY

    • CONTRAST__API__USER_NAME

    • CONTRAST__API__URL

  2. ワークフローを作成するか、既存のワークフローを更新して、コードに対してアクションを実行します。この例では、プッシュ時にアクションを実行する方法を示しています。

      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を参照

Contrast Scanローカルエンジン