Recent security scans turned up a few potential security holes in our CI configuration -- while most of them were likely not actually exploitable, it doesn't hurt to tighten things up.
We should have zizmor installed as a pre-commit hook on all the RAPIDS repos, so that changes to workflows get audited by the linter (before a human gets to them).
Some general configuration:
In .github/zizmor.yml, we add the following:
rules:
unpinned-uses:
config:
policies:
# We require SHA-pinning for all workflows and actions _except_ for those from
# rapidsai/shared-workflows and rapidsai/shared-actions
"rapidsai/shared-workflows/*": any
"rapidsai/shared-actions/*": any
"*": hash-pin
Which, as noted in the comment, disables the warning for unpinned mutable refs for our shared-workflows, because we understand that risk and the trade-off with the flexibility and centralization it grants us.
For everything else, we selectively silence warnings if they are non-issues with in-line comments, as blanket disable lines are generally not a good idea.
Repos to check and fix
Edit by @jakirkham : Updated the list in the OP with the ones in Gil's comment and a few more found via this search
Recent security scans turned up a few potential security holes in our CI configuration -- while most of them were likely not actually exploitable, it doesn't hurt to tighten things up.
We should have
zizmorinstalled as apre-commithook on all the RAPIDS repos, so that changes to workflows get audited by the linter (before a human gets to them).Some general configuration:
In
.github/zizmor.yml, we add the following:Which, as noted in the comment, disables the warning for unpinned mutable refs for our
shared-workflows, because we understand that risk and the trade-off with the flexibility and centralization it grants us.For everything else, we selectively silence warnings if they are non-issues with in-line comments, as blanket disable lines are generally not a good idea.
Repos to check and fix
rapidsai/ci-imgsfix(ci): resolve all zizmor findings and add zizmor pre-commit checks ci-imgs#404rapidsai/crossfithttps://github.com/rapidsai/github-infrastructure/issues/118rapidsai/cucausalhttps://github.com/rapidsai/cucausal/pull/150rapidsai/cucimfix(ci): resolve all zizmor findings and add zizmor pre-commit checks cucim#1078rapidsai/cudffix(ci): resolve all zizmor findings and add zizmor pre-commit checks cudf#22343rapidsai/cugraphfix(ci): resolve all zizmor findings and add zizmor pre-commit checks cugraph#5509rapidsai/cugraph-docsfix(ci): resolve all zizmor findings and add zizmor pre-commit checks cugraph-docs#196rapidsai/cugraph-gnnfix(ci): resolve all zizmor findings and add zizmor pre-commit checks cugraph-gnn#455rapidsai/cumlfix(ci): resolve all zizmor findings and add zizmor pre-commit checks cuml#8046NVIDIA/cuoptfix(ci): resolve all zizmor findings and add zizmor pre-commit checks NVIDIA/cuopt#1181rapidsai/cuvsfix(ci): resolve all zizmor findings and add zizmor pre-commit checks cuvs#2053rapidsai/cuvs-lucenefix(ci): resolve all zizmor findings and add zizmor pre-commit checks cuvs-lucene#146rapidsai/cuxfilterfix(ci): resolve all zizmor findings and add zizmor pre-commit checks cuxfilter#780rapidsai/dask-cudafix(ci): resolve all zizmor findings and add zizmor pre-commit checks dask-cuda#1646rapidsai/dask-upstream-testingfix(ci): resolve all zizmor findings and add zizmor pre-commit checks dask-upstream-testing#99rapidsai/deploymentfix(ci): resolve all zizmor findings and add zizmor pre-commit checks deployment#680rapidsai/detect-weak-linkingfix(ci): resolve all zizmor findings and add zizmor pre-commit checks detect-weak-linking#7rapidsai/devcontainersfix: resolve template-injection issues and harden workflows devcontainers#691rapidsai/docsfix(ci): resolve all zizmor findings and add zizmor pre-commit checks docs#776rapidsai/dockerfix: addzizmorand remediate all findings docker#871rapidsai/gha-token-servicehttps://github.com/rapidsai/gha-token-service/pull/8rapidsai/gha-toolsfix(ci): resolve all zizmor findings and add zizmor pre-commit checks gha-tools#257rapidsai/gputreeshapfix(ci): resolve all zizmor findings and add zizmor pre-commit checks gputreeshap#68no github actionsrapidsai/gqe-benchrapidsai/integrationfix(ci): resolve all zizmor findings and add zizmor pre-commit checks integration#844rapidsai/jupyterlab-nvdashboardfix(ci): resolve all zizmor findings and add zizmor pre-commit checks jupyterlab-nvdashboard#256rapidsai/kvikiofix(ci): resolve all zizmor findings and add zizmor pre-commit checks kvikio#957rapidsai/legate-boostfix: resolve template-injection issues and harden workflows legate-boost#262rapidsai/legate-dataframefix(ci): resolve all zizmor findings and add zizmor pre-commit checks legate-dataframe#169archivedrapidsai/legate-raftrapidsai/mdspanhttps://github.com/rapidsai/github-infrastructure/issues/117rapidsai/nodefix(ci): resolve all zizmor findings and add zizmor pre-commit checks node#475rapidsai/nvforestfix(ci): resolve all zizmor findings and add zizmor pre-commit checks nvforest#106rapidsai/nx-cugraphfix(ci): resolve all zizmor findings and add zizmor pre-commit checks nx-cugraph#259rapidsai/pre-commit-hooksfix(ci): resolve all zizmor findings and add zizmor pre-commit checks pre-commit-hooks#123rapidsai/quentfix(ci): resolve all zizmor findings and add zizmor pre-commit checks quent#177rapidsai/raftfix(ci): resolve all zizmor findings and add zizmor pre-commit checks raft#3009no github actions usagerapidsai/rapids.airapidsai/rapids-build-backendfix(ci): resolve all zizmor findings and add zizmor pre-commit checks rapids-build-backend#80rapidsai/rapids-clifix(ci): resolve all zizmor findings and add zizmor pre-commit checks rapids-cli#150rapidsai/rapids-cmakefix(ci): resolve all zizmor findings and add zizmor pre-commit checks rapids-cmake#1016rapidsai/rapids-dask-dependencyfix(ci): resolve all zizmor findings and add zizmor pre-commit checks rapids-dask-dependency#153rapidsai/rapids-dependency-file-generatorfix(ci): resolve all zizmor findings and add zizmor pre-commit checks dependency-file-generator#180rapidsai/rapids-loggerfix(ci): resolve all zizmor findings and add zizmor pre-commit checks rapids-logger#74rapidsai/rapids-metadatarapidsai/rapidsmpffix(ci): resolve all zizmor findings and add zizmor pre-commit checks rapidsmpf#1007rapidsai/rmmfix(ci): resolve all zizmor findings and add zizmor pre-commit checks rmm#2373rapidsai/rvcfix(ci): resolve all zizmor findings and add zizmor pre-commit checks rvc#16rapidsai/sccacherapidsai/shared-actionsfix: resolve template injection points shared-actions#103rapidsai/shared-workflowsfeat: add zizmor static action checks shared-workflows#390rapidsai/spdx-license-builderfix(ci): resolve all zizmor findings and add zizmor pre-commit checks spdx-license-builder#6rapidsai/ucx-wheelsfix(ci): resolve all zizmor findings and add zizmor pre-commit checks ucx-wheels#35rapidsai/ucxxfix(ci): resolve all zizmor findings and add zizmor pre-commit checks ucxx#645rapidsai/veloxfix(ci): resolve all zizmor findings and add zizmor pre-commit checks velox#111rapidsai/velox-testingfeat: addzizmorand remediate findings velox-testing#326rapidsai/workflowsfix(ci): resolve all zizmor findings and add zizmor pre-commit checks workflows#113Edit by @jakirkham : Updated the list in the OP with the ones in Gil's comment and a few more found via this search