Local Scannerを使った夜間スキャンの実行
CIでAikido Local Scannerを実装する際は、デフォルトブランチの変更に対してスキャンを実行することを推奨します。また、特に更新が定期的には行われないリポジトリについては、一定の間隔でスケジュールスキャンを実行することも検討してください。この記事では、これらの定期スキャンの設定方法に焦点を当てます。特定のCI/CDツールでLocal Scannerを設定する詳細が必要な場合は、それぞれのツールのガイドをご参照ください。
GitHub Actionsで夜間スキャンを設定する
Section titled “GitHub Actionsで夜間スキャンを設定する ”以下の例は、mainブランチへのpush時、および毎晩深夜にスキャンを実行するGitHub Actionを作成します。
on: push: branches: - main schedule: - cron: '0 0 * * *'
name: Aikido Scanjobs: aikido-local-scan-repo: runs-on: ubuntu-latest container: image: aikidosecurity/local-scanner:latest steps: - uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} path: my-repo - name: Run scan run: aikido-local-scanner scan my-repo --apikey ${{ secrets.AIKIDO_API_KEY }} --repositoryname MyRepo --branchname mainGitHub Actionsを使ったスキャンの設定方法の詳細はこちらをご覧ください。
GitHub Actionでschedule オプションを使う方法の詳細はこちらをご覧ください。
GitLabで夜間スキャンを設定する
Section titled “GitLabで夜間スキャンを設定する ”あらかじめGitLabプロジェクトにパイプラインを設定しておく必要があります。詳細はこちらの記事をご参照ください。
夜間スキャン用のパイプラインを設定したら、次にスケジュールを設定する必要があります。
左サイドバーで「Build」>「Pipeline schedules」を選択してください。
希望する間隔・タイムゾーン・デフォルトブランチをフォームに入力します。「Create pipeline schedule」をクリックすると、概要にスケジュールされたパイプラインが表示されます。

スケジュールパイプラインの詳細はこちらをご参照ください。
Jenkinsで夜間スキャンを設定する
Section titled “Jenkinsで夜間スキャンを設定する ”Jenkinsでスケジュールスキャンを設定するには、Build Triggerとして「Build Periodically」を選択します。
以下の例では、毎晩深夜にスキャンをスケジュールします。

JenkinsでのLocal Scannerの設定方法の詳細はこちらをご参照ください。
Azure Devopsで夜間スキャンを設定する
Section titled “Azure Devopsで夜間スキャンを設定する”以下の例は、mainブランチに対して毎晩深夜にスキャンを実行するAzure DevOpsパイプラインを作成します。
trigger: none
schedules:- cron: "0 0 * * *" displayName: Nightly Aikido scan branches: include: - main always: true
pool: vmImage: 'ubuntu-latest'
container: image: aikidosecurity/local-scanner:latest options: --entrypoint=""
steps:- script: aikido-local-scanner scan $BUILD_SOURCESDIRECTORY --apikey $(AIKIDO_API_KEY) --repositoryname $BUILD_REPOSITORY_NAME --branchname main displayName: 'Run Aikido security scan'Azure DevOpsでのスケジュールパイプラインの設定方法の詳細はこちらをご参照ください。