| name: Third party deps scan |
| on: |
| # Only the default branch is supported. |
| branch_protection_rule: |
| push: |
| branches: [ main ] |
| pull_request: |
| types: [ labeled ] |
| |
| # Declare default permissions as read only. |
| permissions: read-all |
| |
| jobs: |
| vuln-scan: |
| name: Vulnerability scanning |
| runs-on: ubuntu-20.04 |
| # run on flutter/engine push to main or PRs with 'vulnerability patch' label |
| if: ${{ github.repository == 'flutter/engine' && (github.event_name == 'push' || github.event.label.name == 'vulnerability scan') }} |
| permissions: |
| # Needed to upload the SARIF results to code-scanning dashboard. |
| security-events: write |
| actions: read |
| contents: read |
| # Needed to access OIDC token. |
| id-token: write |
| steps: |
| - name: "Checkout code" |
| uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 |
| with: |
| persist-credentials: false |
| - name: "setup python" |
| uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 |
| with: |
| python-version: '3.7.7' # install the python version needed |
| - name: "extract and flatten deps" |
| run: python ci/deps_parser.py |
| - name: "scan deps for vulnerabilities" |
| run: python ci/scan_flattened_deps.py |
| # Upload the results as artifacts. |
| - name: "Upload artifact" |
| uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 |
| with: |
| name: SARIF file |
| path: osvReport.sarif |
| retention-days: 5 |
| # Upload the results to GitHub's code scanning dashboard. |
| - name: "Upload to security tab" |
| uses: github/codeql-action/upload-sarif@cdcdbb579706841c47f7063dda365e292e5cad7a |
| with: |
| sarif_file: osvReport.sarif |