GitHub 統合による Tenable Web App Scanning CI/CD スキャン
GitHub のアプリケーションに対して、継続的インテグレーションおよび継続的デリバリ/継続的デプロイメント CI/CD で Tenable Web App Scanning Docker イメージをデプロイすることができます。スキャンログやレポートなどのアーティファクトを取得するように設定できます。この統合の詳細については、GitHub のドキュメントを参照してください。
始める前に
-
GitHub ビルドエージェントが利用できる統合環境にアプリをデプロイできるようにするか、テストのためにビルドエージェントで直接実行できるようにします。
-
CI/CD アプリケーションスキャンの概要で概要情報を確認してください。
GitHub のパイプラインワークフローファイルの例
name: CI WAS Scan
on:
push:
branches:
- main
pull_request:
jobs:
tenablescan:
name: was-cicd
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: Build + Run PetStore
run: |
docker pull swaggerapi/petstore
docker run -d -e SWAGGER_URL=http://petstore:8080 -e SWAGGER_BASE_PATH=/v2 --name petstore swaggerapi/petstore
- name: Run WAS
run: |
docker pull tenable/was-scanner:latest
docker run -v $(pwd):/scanner -t -e WAS_MODE=cicd -e ACCESS_KEY=${ACCESS_KEY} -e SECRET_KEY=${SECRET_KEY} --link petstore tenable/was-scanner:latest || true
ls $(pwd)
env:
ACCESS_KEY: ${{ secrets.ACCESS_KEY }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
GitHub のパイプラインワークフローファイルの例 (成果物の取得を含む)
name: CI WAS Scan
on:
push:
branches:
- main
pull_request:
jobs:
tenablescan:
name: was-cicd
runs-on: ubuntu-latest
steps:
- name: Clone repo
uses: actions/checkout@v2
- name: Build + Run PetStore
run: |
docker pull swaggerapi/petstore
docker run -d -e SWAGGER_URL=http://petstore:8080 -e SWAGGER_BASE_PATH=/v2 --name petstore swaggerapi/petstore
- name: Run WAS
run: |
docker pull tenable/was-scanner:latest
docker run -v $(pwd):/scanner -t -e WAS_MODE=cicd -e ACCESS_KEY=${ACCESS_KEY} -e SECRET_KEY=${SECRET_KEY} --link petstore tenable/was-scanner:latest || true
ls $(pwd)
env:
ACCESS_KEY: ${{ secrets.ACCESS_KEY }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
- name: Upload Scan Report Artifact
uses: actions/upload-artifact@v4
with:
name: scan-vulnerability-output
path: tenable_was_scan.html
- name: Upload Scan Log Troubleshooting Artifact
uses: actions/upload-artifact@v4
with:
name: scan-troubleshooting-logs
path: |
scanner.log
tenable_was.conf
CI/CD ツールの統合の例
-
GitHub