ci: add shared security scanning workflow - #664
Conversation
Add persist-credentials: false to checkout steps, pin actions to commit SHAs, correct stale version comments, set Dependabot cooldown, and reference env values as shell variables instead of expanding them into run blocks.
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
There was a problem hiding this comment.
Pull request overview
Adds Zizmor GitHub Actions workflow scanning via the OpenTelemetry shared reusable workflow, and hardens existing GitHub Actions workflows by pinning actions to immutable SHAs and reducing token persistence.
Changes:
- Add
.github/workflows/zizmor.ymlto run Zizmor (regular persona by default) and upload SARIF results to GitHub code scanning. - Pin multiple GitHub Actions dependencies to commit SHAs and set
persist-credentials: falsefor checkouts across workflows. - Add a Dependabot GitHub Actions update cooldown to reduce churn from newly released versions.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/zizmor.yml | New reusable-workflow caller to run Zizmor and upload SARIF to code scanning. |
| .github/workflows/webserver.yml | Pin actions to SHAs, add persist-credentials: false. |
| .github/workflows/user_events.yml | Pin checkout to SHA and disable credential persistence for both checkouts. |
| .github/workflows/spdlog.yml | Pin checkout to SHA and disable credential persistence for both checkouts. |
| .github/workflows/prometheus.yml | Pin checkout/cache actions to SHAs and disable credential persistence. |
| .github/workflows/ossf-scorecard.yml | Align pinned action version comments and keep checkout non-persistent. |
| .github/workflows/nginx.yml | Pin actions to SHAs, add Zizmor ignore annotations, disable credential persistence. |
| .github/workflows/log4cxx.yml | Pin checkout to SHA and disable credential persistence for all checkouts. |
| .github/workflows/httpd.yml | Pin checkout/upload-artifact to SHAs and disable credential persistence. |
| .github/workflows/glog.yml | Pin checkout to SHA and disable credential persistence for all checkouts. |
| .github/workflows/geneva_trace.yml | Pin checkout to SHA and disable credential persistence. |
| .github/workflows/geneva_metrics.yml | Pin checkout to SHA and disable credential persistence for both checkouts. |
| .github/workflows/fossa.yml | Align pinned checkout version comment and disable credential persistence. |
| .github/workflows/fluentd.yml | Pin checkout to SHA and disable credential persistence for both checkouts. |
| .github/workflows/boost_log.yml | Pin checkout to SHA and disable credential persistence for both checkouts. |
| .github/dependabot.yml | Add Dependabot cooldown to delay version-update PR creation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…tools-20260820 # Conflicts: # .github/workflows/webserver.yml
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.
Suppressed comments (1)
.github/workflows/zizmor.yml:7
pull_requesttrigger is missing abranchesfilter. In this repo, other workflows consistently scope PR triggers to themainbase branch (e.g.,.github/workflows/nginx.yml:12-16,.github/workflows/prometheus.yml:9-13). Without the filter, this will run on PRs targeting any branch, which may be unintended and increases CI/code-scanning noise.
on:
push:
branches: [main]
pull_request:
schedule:
…tools-20260820 # Conflicts: # .github/workflows/log4cxx.yml
dbarker
left a comment
There was a problem hiding this comment.
I've disabled all the broken workflow jobs to unblock this PR. Follow up investigations needed to enable the broken workflows.
Tracked in open-telemetry/sig-security#293.
Adds zizmor scanning through the OpenTelemetry shared workflow.
The workflow:
regularpersona on pull requests, pushes tomain, and a randomized weekly schedule;After merge
zizmorcode-scanning result.If enforcement unexpectedly blocks a valid change, restore
require_zizmor = falseinopen-telemetry/adminwhile leaving scanning enabled.