Frogbot Security Scan #52
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Frogbot Security Scan" | |
| on: | |
| # Trigger on pull requests for scanning | |
| pull_request_target: | |
| types: [ opened, synchronize ] | |
| # Trigger on schedule for scanning and fixing | |
| schedule: | |
| # The repository will be scanned once a day at 00:00 GMT. | |
| - cron: "0 0 * * *" | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| security-events: write | |
| jobs: | |
| # Job for scanning pull requests | |
| scan-pull-request: | |
| if: github.event_name == 'pull_request_target' | |
| runs-on: ubuntu-latest | |
| # A pull request needs to be approved, before Frogbot scans it. Any GitHub user who is associated with the | |
| # "frogbot" GitHub environment can approve the pull request to be scanned. | |
| environment: frogbot | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "18" | |
| # Install dependencies (required for npm scanning) | |
| - name: Install npm dependencies | |
| run: npm ci --no-audit --no-fund | |
| # Run JFrog CLI audit on PR changes | |
| - name: Setup JFrog CLI | |
| uses: jfrog/setup-jfrog-cli@v4 | |
| env: | |
| JF_URL: ${{ secrets.ARTIFACTORY_URL }} | |
| JF_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }} | |
| - uses: jfrog/frogbot@v2 | |
| env: | |
| JFROG_CLI_HOME_DIR: /home/runner/work | |
| # [Mandatory] | |
| # JFrog platform URL (This functionality requires version 3.29.0 or above of Xray) | |
| JF_URL: ${{ secrets.ARTIFACTORY_URL }} | |
| # [Mandatory if JF_USER and JF_PASSWORD are not provided] | |
| # JFrog access token with 'read' permissions on Xray service | |
| JF_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }} | |
| # [Mandatory] | |
| # The GitHub token automatically generated for the job | |
| JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| # Job for scheduled scanning and creating fix pull requests | |
| scan-and-fix: | |
| if: github.event_name == 'schedule' | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| # The repository scanning will be triggered periodically on the following branches. | |
| branch: [ "main" ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| ref: ${{ matrix.branch }} | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "18" | |
| # Install dependencies (required for npm scanning) | |
| - name: Install npm dependencies | |
| run: npm ci --no-audit --no-fund | |
| - uses: jfrog/frogbot@v2 | |
| env: | |
| # [Mandatory] | |
| # JFrog platform URL | |
| JF_URL: ${{ secrets.FROGBOT_URL }} | |
| # [Mandatory if JF_USER and JF_PASSWORD are not provided] | |
| # JFrog access token with 'read' permissions on Xray service | |
| JF_ACCESS_TOKEN: ${{ secrets.FROGBOT_ACCESS_TOKEN }} | |
| # [Mandatory] | |
| # The GitHub token automatically generated for the job | |
| JF_GIT_TOKEN: ${{ secrets.GITHUB_TOKEN }} |