{"date":"2026-04-10T14:12:32Z","repo":{"name":"github.com/docker/compose","commit":"d518da24193f88d9ecf8e847fe2f89b2344b6405"},"scorecard":{"version":"v5.3.0","commit":"c22063e786c11f9dd714d777a687ff7c4599b600"},"score":7.4,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: .github/SECURITY.md:1","Info: Found linked content: .github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: .github/SECURITY.md:1","Info: Found text in security policy: .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":"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":"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":"Maintained","score":10,"reason":"30 commit(s) and 0 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":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"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":"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":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/ci.yml:308","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yml:50","Info: jobLevel 'contents' permission set to 'read': .github/workflows/merge.yml:90","Info: jobLevel 'contents' permission set to 'read': .github/workflows/merge.yml:116","Warn: jobLevel 'checks' permission set to 'write': .github/workflows/pr-review.yml:25","Info: jobLevel 'contents' permission set to 'read': .github/workflows/pr-review.yml:22","Info: jobLevel 'checks' permission set to 'read': .github/workflows/scorecards.yml:22","Info: jobLevel 'discussions' permission set to 'read': .github/workflows/scorecards.yml:26","Info: jobLevel 'pages' permission set to 'read': .github/workflows/scorecards.yml:28","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'statuses' permission set to 'read': .github/workflows/scorecards.yml:30","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:20","Info: jobLevel 'attestations' permission set to 'read': .github/workflows/scorecards.yml:21","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:23","Info: jobLevel 'deployments' permission set to 'read': .github/workflows/scorecards.yml:24","Info: jobLevel 'issues' permission set to 'read': .github/workflows/scorecards.yml:25","Info: jobLevel 'packages' permission set to 'read': .github/workflows/scorecards.yml:27","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:22","Info: topLevel 'contents' permission set to 'read': .github/workflows/docs-upstream.yml:12","Info: topLevel 'contents' permission set to 'read': .github/workflows/merge.yml:15","Info: topLevel 'contents' permission set to 'read': .github/workflows/pr-review.yml:11","Warn: no topLevel permission defined: .github/workflows/scorecards.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/stale.yml:10"],"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":"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":"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":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","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":"Vulnerabilities","score":6,"reason":"4 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2026-4883 / GHSA-pxq6-2prw-chj9","Warn: Project is vulnerable to: GO-2026-4887 / GHSA-x744-4wpc-v9h2","Warn: Project is vulnerable to: GHSA-w8rr-5gcm-pp58","Warn: Project is vulnerable to: GHSA-hfvc-g4fc-pqhx"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":4,"reason":"3 out of the last 5 releases have a total of 3 signed artifacts.","details":["Info: signed release artifact: docker-compose-darwin-aarch64.sigstore.json: https://github.com/docker/compose/releases/tag/v5.1.2","Info: signed release artifact: docker-compose-darwin-aarch64.sigstore.json: https://github.com/docker/compose/releases/tag/v5.1.1","Info: signed release artifact: docker-compose-darwin-aarch64.sigstore.json: https://github.com/docker/compose/releases/tag/v5.1.0","Warn: release artifact v5.0.2 not signed: https://api.github.com/repos/docker/compose/releases/278255932","Warn: release artifact v5.0.1 not signed: https://api.github.com/repos/docker/compose/releases/271392988","Warn: release artifact v5.1.2 does not have provenance: https://api.github.com/repos/docker/compose/releases/306957188","Warn: release artifact v5.1.1 does not have provenance: https://api.github.com/repos/docker/compose/releases/299261182","Warn: release artifact v5.1.0 does not have provenance: https://api.github.com/repos/docker/compose/releases/289948555","Warn: release artifact v5.0.2 does not have provenance: https://api.github.com/repos/docker/compose/releases/278255932","Warn: release artifact v5.0.1 does not have provenance: https://api.github.com/repos/docker/compose/releases/271392988"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"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":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":2,"reason":"dependency not pinned by hash detected -- score normalized to 2","details":["Warn: containerImage not pinned by hash: Dockerfile:28: pin your Docker image by updating tonistiigi/xx:1.9.0 to tonistiigi/xx:1.9.0@sha256:c64defb9ed5a91eacb37f96ccc3d4cd72521c4bd18d5442905b95e2226b0e707","Warn: containerImage not pinned by hash: Dockerfile:31: pin your Docker image by updating crazymax/osxcross:15.5-alpine to crazymax/osxcross:15.5-alpine@sha256:ab016ff172118c7c98f49413bbdbf496b7c96c2677d1fb1736543301b8359341","Warn: containerImage not pinned by hash: Dockerfile:33: pin your Docker image by updating golangci/golangci-lint:v2.11.3-alpine to golangci/golangci-lint:v2.11.3-alpine@sha256:b1c3de5862ad0a95b4e45a993b0f00415835d687e4f12c845c7493b86c13414e","Warn: containerImage not pinned by hash: Dockerfile:34: pin your Docker image by updating ghcr.io/google/addlicense:v1.0.0 to ghcr.io/google/addlicense:v1.0.0@sha256:80a702888fb81520beaf4647567bba2d0571bbeffac6a997c54fc5cd83289f3f","Warn: containerImage not pinned by hash: Dockerfile:36: pin your Docker image by updating golang:1.25.8-alpine3.22 to golang:1.25.8-alpine3.22@sha256:6b7607461f105ccaa0615b6f7932dfd5b36c5d827a0770b5578e565107cc3adb","Warn: containerImage not pinned by hash: Dockerfile:50","Warn: containerImage not pinned by hash: Dockerfile:56","Warn: containerImage not pinned by hash: Dockerfile:64","Warn: containerImage not pinned by hash: Dockerfile:77","Warn: containerImage not pinned by hash: Dockerfile:90","Warn: containerImage not pinned by hash: Dockerfile:101","Warn: containerImage not pinned by hash: Dockerfile:118","Warn: containerImage not pinned by hash: Dockerfile:129","Warn: containerImage not pinned by hash: Dockerfile:135","Warn: containerImage not pinned by hash: Dockerfile:142","Warn: containerImage not pinned by hash: Dockerfile:159","Warn: containerImage not pinned by hash: Dockerfile:180","Warn: containerImage not pinned by hash: Dockerfile:184","Warn: containerImage not pinned by hash: Dockerfile:199","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/bridge/Dockerfile:15: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-dependencies/base.dockerfile:15: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-dependencies/service.dockerfile:15","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-infinite/service1/Dockerfile:15: pin your Docker image by updating busybox to busybox@sha256:1487d0af5f52b4ba31c7e465126ee2123fe3f2305d638e7827681e7cf6c83d5e","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/entitlements/Dockerfile:18: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/escaped/Dockerfile:15: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/long-output-line/Dockerfile:14: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/multi-args/Dockerfile:18","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/nginx-build/Dockerfile:15: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:582c496ccf79d8aa6f8203a79d32aaf7ffd8b13362c60a701a2f9ac64886c93d","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/nginx-build2/Dockerfile:15: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:582c496ccf79d8aa6f8203a79d32aaf7ffd8b13362c60a701a2f9ac64886c93d","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/Dockerfile:15: pin your Docker image by updating golang:alpine to golang:alpine@sha256:c2a1f7b2095d046ae14b286b18413a05bb82c9bca9b25fe7ff5efef0f0826166","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/Dockerfile:21: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/contextServiceA/Dockerfile:15: pin your Docker image by updating golang:alpine to golang:alpine@sha256:c2a1f7b2095d046ae14b286b18413a05bb82c9bca9b25fe7ff5efef0f0826166","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/contextServiceA/Dockerfile:21: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/contextServiceB/Dockerfile:15: pin your Docker image by updating golang:alpine to golang:alpine@sha256:c2a1f7b2095d046ae14b286b18413a05bb82c9bca9b25fe7ff5efef0f0826166","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/contextServiceB/Dockerfile:21: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/contextServiceC/Dockerfile:15: pin your Docker image by updating golang:alpine to golang:alpine@sha256:c2a1f7b2095d046ae14b286b18413a05bb82c9bca9b25fe7ff5efef0f0826166","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/platforms/contextServiceC/Dockerfile:21: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/privileged/Dockerfile:18: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/profiles/Dockerfile:16: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/secrets/Dockerfile:18: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/ssh/Dockerfile:18: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/build-test/tags/Dockerfile:15: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:582c496ccf79d8aa6f8203a79d32aaf7ffd8b13362c60a701a2f9ac64886c93d","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/compose-pull/unknown-image/Dockerfile:15: pin your Docker image by updating alpine:3.15 to alpine:3.15@sha256:19b4bcc4f60e99dd5ebdca0cbce22c503bbcff197549d7e19dab4f22254dc864","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/dependencies/Dockerfile:15: pin your Docker image by updating busybox:1.35.0 to busybox:1.35.0@sha256:98ad9d1a2be345201bb0709b0d38655eb1b370145c7d94ca1fe9c421f76e245a","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/environment/empty-variable/Dockerfile:15: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/environment/env-file-comments/Dockerfile:15: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/environment/env-priority/Dockerfile:15: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/image-volume-recreate/Dockerfile:18: pin your Docker image by updating alpine to alpine@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/publish/Dockerfile:15: pin your Docker image by updating alpine:latest to alpine:latest@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/scale/Dockerfile:15: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:582c496ccf79d8aa6f8203a79d32aaf7ffd8b13362c60a701a2f9ac64886c93d","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/simple-build-test/nginx-build/Dockerfile:15: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:582c496ccf79d8aa6f8203a79d32aaf7ffd8b13362c60a701a2f9ac64886c93d","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/volume-test/nginx-build/Dockerfile:15: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:582c496ccf79d8aa6f8203a79d32aaf7ffd8b13362c60a701a2f9ac64886c93d","Warn: containerImage not pinned by hash: pkg/e2e/fixtures/wrong-composefile/service1/Dockerfile:15: pin your Docker image by updating nginx to nginx@sha256:7f0adca1fc6c29c8dc49a2e90037a10ba20dc266baaed0988e9fb4d0d8b85ba0","Info: 24 out of 24 GitHub-owned GitHubAction dependencies pinned","Info: 17 out of 17 third-party GitHubAction dependencies pinned","Info: 2 out of 55 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":"SAST","score":1,"reason":"SAST tool is not run on all commits -- score normalized to 1","details":["Warn: 5 commits out of 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":"CI-Tests","score":10,"reason":"22 out of 22 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 45 contributing companies or organizations","details":["Info: found contributions from: Dockins, MyMalcom, WP-Team-Bach, adjoeio, allons-y, amontourdeprogrammer, anonaddy, apple, ci-reporter, cnabio, compose-spec, containerd, degreed, depcheck, digineo, digineo gmbh, distribution, docker, docker-archive, docker-captains, dockersamples, docsorg, dremio, dynv6, flashflashrevolution, github-beta, go-acme, go-docker, goreleaser, jnr, jruby, kubernetes, kubernetes-sigs, liara-cloud, librenms, magefile, moby, neard, opencontainers, portapps, six12creative, thajeztah, thesoul publishing, tilt-dev, trinodb"],"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"}}]}