Repo-wide CI hardening, deferred from the #239 review (CodeRabbit / zizmor lints).
The PR review flagged the new codegen job in .github/workflows/test-eql.yml, but all four jobs share the same unpinned actions and the workflow has no permissions: block, so fixing only the new job would leave the workflow internally inconsistent. Track here, do it once, apply repo-wide.
Scope
In .github/workflows/test-eql.yml, jobs schema, codegen, test, splinter:
- Pin
actions/checkout@v6 to a 40-char commit SHA (lines 38, 60, 95, 130).
- Pin
jdx/mise-action@v4 to a 40-char commit SHA (lines 40, 62, 97, 132).
- Pin
Swatinem/rust-cache@v2 to a SHA where used (lines 46, 103).
- Add
with: persist-credentials: false to every actions/checkout step. None of the jobs git push, so this is safe.
- Add a workflow-level
permissions: contents: read block. None of the jobs write to the repo, create comments, or trigger other workflows.
Repeat the same review for any other workflows under .github/workflows/ (e.g. release-eql.yml) — write may genuinely be needed there (release artefacts), so scope per-job.
Follow-up
- Configure Dependabot for
github-actions so SHA pins receive PR-driven bumps with the new tag in a trailing comment.
Lints / source
Repo-wide CI hardening, deferred from the #239 review (CodeRabbit /
zizmorlints).The PR review flagged the new
codegenjob in.github/workflows/test-eql.yml, but all four jobs share the same unpinned actions and the workflow has nopermissions:block, so fixing only the new job would leave the workflow internally inconsistent. Track here, do it once, apply repo-wide.Scope
In
.github/workflows/test-eql.yml, jobsschema,codegen,test,splinter:actions/checkout@v6to a 40-char commit SHA (lines 38, 60, 95, 130).jdx/mise-action@v4to a 40-char commit SHA (lines 40, 62, 97, 132).Swatinem/rust-cache@v2to a SHA where used (lines 46, 103).with: persist-credentials: falseto everyactions/checkoutstep. None of the jobsgit push, so this is safe.permissions: contents: readblock. None of the jobs write to the repo, create comments, or trigger other workflows.Repeat the same review for any other workflows under
.github/workflows/(e.g.release-eql.yml) — write may genuinely be needed there (release artefacts), so scope per-job.Follow-up
github-actionsso SHA pins receive PR-driven bumps with the new tag in a trailing comment.Lints / source
unpinned-uses,artipacked,excessive-permissions.