{"date":"2026-04-25T02:16:47Z","repo":{"name":"github.com/fluxcd/flux2","commit":"4e78a9d7e03d78d765549929af3094f55d74f6e6"},"scorecard":{"version":"v5.3.0","commit":"c22063e786c11f9dd714d777a687ff7c4599b600"},"score":9.5,"checks":[{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dependency-update-tool"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 21 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#maintained"}},{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/backport.yaml:9","Info: jobLevel 'actions' permission set to 'read': .github/workflows/ossf.yaml:19","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ossf.yaml:20","Info: jobLevel 'actions' permission set to 'read': .github/workflows/release.yaml:185","Info: jobLevel 'actions' permission set to 'read': .github/workflows/release.yaml:199","Info: jobLevel 'actions' permission set to 'read': .github/workflows/release.yaml:173","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scan.yaml:14","Warn: jobLevel 'security-events' permission set to 'write': .github/workflows/scan.yaml:15","Info: jobLevel 'contents' permission set to 'read': .github/workflows/sync-labels.yaml:13","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/update.yaml:15","Info: topLevel permissions set to 'read-all': .github/workflows/action.yaml:14","Info: topLevel permissions set to 'read-all': .github/workflows/backport.yaml:5","Info: topLevel 'contents' permission set to 'read': .github/workflows/conformance.yaml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e-azure.yaml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e-bootstrap.yaml:12","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e-gcp.yaml:21","Info: topLevel 'contents' permission set to 'read': .github/workflows/e2e.yaml:12","Info: topLevel permissions set to 'read-all': .github/workflows/ossf.yaml:11","Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yaml:8","Info: topLevel permissions set to 'read-all': .github/workflows/scan.yaml:10","Info: topLevel permissions set to 'read-all': .github/workflows/sync-labels.yaml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/update.yaml:9","Info: topLevel 'contents' permission set to 'read': .github/workflows/upgrade-fluxcd-pkg.yaml:7"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":7,"reason":"badge detected: Silver","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":8,"reason":"dependency not pinned by hash detected -- score normalized to 8","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/backport.yaml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/fluxcd/flux2/backport.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:176: update your workflow using https://app.stepsecurity.io/secureworkflow/fluxcd/flux2/release.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:188: update your workflow using https://app.stepsecurity.io/secureworkflow/fluxcd/flux2/release.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:202: update your workflow using https://app.stepsecurity.io/secureworkflow/fluxcd/flux2/release.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/scan.yaml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/fluxcd/flux2/scan.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync-labels.yaml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/fluxcd/flux2/sync-labels.yaml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/upgrade-fluxcd-pkg.yaml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/fluxcd/flux2/upgrade-fluxcd-pkg.yaml/main?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating alpine:3.23 to alpine:3.23@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11","Warn: containerImage not pinned by hash: Dockerfile:13: pin your Docker image by updating alpine:3.23 to alpine:3.23@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11","Info:  23 out of  23 GitHub-owned GitHubAction dependencies pinned","Info:  35 out of  42 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-pjcq-xvwq-hhpj","Warn: Project is vulnerable to: GHSA-3xc5-wrhm-f963"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (30) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#sast"}},{"name":"Signed-Releases","score":10,"reason":"5 out of the last 5 releases have a total of 10 signed artifacts.","details":["Info: signed release artifact: flux_2.8.6_checksums.txt.sig: https://github.com/fluxcd/flux2/releases/tag/v2.8.6","Info: signed release artifact: flux_2.8.5_checksums.txt.sig: https://github.com/fluxcd/flux2/releases/tag/v2.8.5","Info: signed release artifact: flux_2.8.4_checksums.txt.sig: https://github.com/fluxcd/flux2/releases/tag/v2.8.4","Info: signed release artifact: flux_2.8.3_checksums.txt.sig: https://github.com/fluxcd/flux2/releases/tag/v2.8.3","Info: signed release artifact: flux_2.8.2_checksums.txt.sig: https://github.com/fluxcd/flux2/releases/tag/v2.8.2","Info: provenance for release artifact: provenance.intoto.jsonl: https://github.com/fluxcd/flux2/releases/tag/v2.8.6","Info: provenance for release artifact: provenance.intoto.jsonl: https://github.com/fluxcd/flux2/releases/tag/v2.8.5","Info: provenance for release artifact: provenance.intoto.jsonl: https://github.com/fluxcd/flux2/releases/tag/v2.8.4","Info: provenance for release artifact: provenance.intoto.jsonl: https://github.com/fluxcd/flux2/releases/tag/v2.8.3","Info: provenance for release artifact: provenance.intoto.jsonl: https://github.com/fluxcd/flux2/releases/tag/v2.8.2"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yaml:11"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#packaging"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#license"}},{"name":"Branch-Protection","score":8,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: required approving review count is 1 on branch 'main'","Warn: codeowners review is not required on branch 'main'","Info: status check found to merge onto on branch 'main'","Info: PRs are required in order to make changes on branch 'main'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/fluxcd/.github/SECURITY.md:1","Info: Found linked content: github.com/fluxcd/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/fluxcd/.github/SECURITY.md:1","Info: Found text in security policy: github.com/fluxcd/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#security-policy"}},{"name":"CI-Tests","score":10,"reason":"8 out of 8 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#ci-tests"}},{"name":"Contributors","score":10,"reason":"project has 51 contributing companies or organizations","details":["Info: found contributions from: 0x686868, DevOpsDays-Denver, Gear2D, IEEE-VIT, Kong, NYCK8S, airweave-ai, associmates, cedar-policy, cloud-native-nordics, containernetworking, controlplaneio, controlplaneio-fluxcd, coppersoft-dev, cuttlefacts, deislabs, e13-tech, figma, fluxcd, fluxcd @controlplaneio-fluxcd, fluxcd-community, getsops, gitops-community, gitops-working-group, go-git, helm, jaegertracing, jkcfg, kong, kubecost, kubernetes, kubernetes @cncf @upbound, kubernetes-sigs, kvick, nex-health, open-gitops, openssf, prometheus-community, racklet, rbc, replicated, replicatedhq, rook, sockjs, spegel-org, ssrl, subleleks, sumo-mcp, weaveworks, yaml, zkgrails"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#contributors"}}]}
