CircleCI

CircleCIビルドパイプラインの脆弱性をスキャンする

SUSE® Security CircleCI ORBは、CircleCIパイプライン内のイメージに対して脆弱性スキャンをトリガーします。ORBは CircleCIカタログで利用可能で、 SUSE® Security GitHubページにも文書化されています。

まだ行っていない場合は、CircleCI ORBからアクセス可能なホストにSUSE® Security AllinoneまたはControllerコンテナをデプロイしてください。AllinoneまたはControllerが実行されているホストのIPアドレスをメモしてください。

ORBは2つのユースケースをサポートしています:

  1. CircleCIインフラストラクチャの外部でスキャンをトリガーすること。ORBはSUSE® Securityスキャナーに連絡し、その後、スキャンするためにレジストリからイメージを取得します。ORBがSUSE® Security Controller/Allinoneが実行されているホストにネットワーク接続できることを確認してください。

  2. CircleCIプラットフォーム上で実行されている一時的なVM上にSUSE® Securityコントローラーとスキャナーを動的に起動します。起動して自動構成した後、ビルド内のイメージに対してスキャンが行われ、完了後にSUSE® Securityデプロイメントが停止されて削除されます。 このユースケースについては、 CircleCI ORBのSUSE® Securityに関する文書を参照してください。

さらに、AllinoneまたはControllerに接続できるようにデプロイおよび構成されたSUSE® Securityスキャナーコンテナがあることを確認してください。4.0以降では、neuvector/scannerコンテナはallinoneまたはcontrollerとは別にデプロイする必要があります。

CircleCIアプリでコンテキストを作成する

context

設定を構成する

接続および認証のための環境変数を構成する

設定

SUSE® SecurityORBをビルドのconfig.yamlに追加します。

version: 2.1
orbs:
  neuvector: neuvector/neuvector-orb@1.0.0
workflows:
  scan-image:
    jobs:
      - neuvector/scan-image:
          context: myContext
          registry_url: https://registry.hub.docker.com
          repository: alpine
          tag: "3.4"
          scan_layers: false
          high_vul_to_fail: 0
          medium_vul_to_fail: 3

registry_urlはスキャン対象のイメージを見つける場所です。リポジトリ名、タグ、およびレイヤースキャンを実行するかどうかを設定します。検出された高リスクまたは中リスクの脆弱性の数に基づいてビルドタスクが失敗するための基準を追加します。

結果を確認します。

ビルドタスクは設定された基準に基づいて合格または不合格となります。いずれの場合でも、完全なスキャンレポートを確認できます。 失敗