You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scorecard requires id-token: write and actions: read permissions that are broader than what a standard CI job should hold. The recommended pattern is to run it in its own dedicated workflow triggered on push to main and on a weekly schedule, rather than adding those permissions to your main CI job.
# .github/workflows/scorecard.ymlname: Scorecardon:
push:
branches: [main]schedule:
- cron: "30 1 * * 6"# weekly on Saturdayspermissions:
contents: readactions: read # required by Scorecardjobs:
scorecard:
runs-on: ubuntu-latestpermissions:
security-events: write # upload SARIF to Code Scanningid-token: write # required by Scorecardsteps:
- uses: actions/checkout@v4with:
persist-credentials: false
- uses: developmentseed/security-action@v1with:
enable_scorecard: 'true'enable_zizmor: 'false'# already runs in CIenable_osv: 'false'# already runs in CI
Then disable Scorecard in your main CI workflow to avoid the permission requirement there:
The composite action routes your configuration to four independent sub-actions — zizmor-action, osv-scanner-action, action-python-security-auditing, and optionally scorecard-action — each running with continue-on-error: true so all scanners complete regardless of individual failures. A final aggregation step checks each enabled scanner's outcome and fails the job if any enabled scanner found issues (subject to each scanner's own fail flag).