{"date":"2026-07-13","repo":{"name":"github.com/apache/cloudstack","commit":"d2a3bd1aa78a516f47d5cf683bbb1327a121a4b8"},"scorecard":{"version":"v5.5.1-0.20260519155427-916bfc57fa74","commit":"916bfc57fa7431467a33a5a013cba3f8a0c1ec50"},"score":7.2,"checks":[{"name":"Code-Review","score":7,"reason":"Found 22/30 approved changesets -- score normalized to 7","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/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 8 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/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":2,"reason":"badge detected: InProgress","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#cii-best-practices"}},{"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/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#license"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#security-policy"}},{"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/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#dangerous-workflow"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#signed-releases"}},{"name":"Token-Permissions","score":8,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-issue-triage.lock.yml:1107","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-issue-triage.lock.yml:1310","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-issue-triage.lock.yml:78","Info: jobLevel 'actions' permission set to 'read': .github/workflows/daily-issue-triage.lock.yml:77","Info: jobLevel permissions set to 'read-all': .github/workflows/daily-issue-triage.lock.yml:324","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-issue-triage.lock.yml:948","Info: jobLevel 'actions' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:78","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:79","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:325","Info: jobLevel 'issues' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:326","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:327","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:946","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:1103","Info: jobLevel 'contents' permission set to 'read': .github/workflows/daily-repo-status.lock.yml:1306","Warn: jobLevel 'actions' permission set to 'write': .github/workflows/stale.yml:27","Info: topLevel 'contents' permission set to 'read': .github/workflows/build.yml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/ci.yml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql-analysis.yml:26","Warn: topLevel 'security-events' permission set to 'write': .github/workflows/codeql-analysis.yml:27","Info: topLevel 'actions' permission set to 'read': .github/workflows/codeql-analysis.yml:25","Info: found token with 'none' permissions: .github/workflows/daily-issue-triage.lock.yml:1","Info: found token with 'none' permissions: .github/workflows/daily-repo-status.lock.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/docker-cloudstack-simulator.yml:29","Info: topLevel 'contents' permission set to 'read': .github/workflows/main-sonar-check.yml:20","Info: found token with 'none' permissions: .github/workflows/merge-conflict-checker.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/pre-commit.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/rat.yml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/sonar-check.yml:20","Warn: no topLevel permission defined: .github/workflows/stale.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/ui.yml:33"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#token-permissions"}},{"name":"Branch-Protection","score":1,"reason":"branch protection is not maximal on development and all release branches","details":["Warn: branch protection not enabled for branch '4.20'","Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Warn: could not determine whether codeowners review is allowed","Warn: no status checks found to merge onto branch 'main'","Warn: PRs are not required to make changes on branch 'main'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#branch-protection"}},{"name":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: systemvm/agent/packages/python-is-python3_3.9.2-1_all.deb:1","Warn: binary detected: systemvm/agent/packages/python3-netaddr_0.7.19-5_all.deb:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/docker-cloudstack-simulator.yml:36"],"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/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#packaging"}},{"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/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Info: Possibly incomplete results: error parsing shell code: statements must be separated by &, ; or a newline: scripts/installer/createtmplt.sh:0","Info: Possibly incomplete results: error parsing shell code: statements must be separated by &, ; or a newline: scripts/installer/createvolume.sh:0","Info: Possibly incomplete results: error parsing shell code: a command can only contain words and redirects; encountered (: scripts/vm/systemvm/injectkeys.py:0","Info: Possibly incomplete results: error parsing shell code: reached ` without closing quote \": test/scripts/xen/createfaketemplate.sh:0","Info: Possibly incomplete results: error parsing shell code: \"fi\" can only be used to end an if: test/scripts/xen/ms.sh:0","Warn: containerImage not pinned by hash: tools/docker/Dockerfile:20: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:0e0a0fc6d18feda9db1590da249ac93e8d5abfea8f4c3c0c849ce512b5ef8982","Warn: containerImage not pinned by hash: tools/docker/Dockerfile.marvin:20: pin your Docker image by updating python:2 to python:2@sha256:cfa62318c459b1fde9e0841c619906d15ada5910d625176e24bf692cf8a2601d","Warn: containerImage not pinned by hash: tools/docker/Dockerfile.s390x:20: pin your Docker image by updating ubuntu:22.04 to ubuntu:22.04@sha256:0e0a0fc6d18feda9db1590da249ac93e8d5abfea8f4c3c0c849ce512b5ef8982","Warn: containerImage not pinned by hash: tools/docker/Dockerfile.smokedev:20: pin your Docker image by updating ubuntu:16.04 to ubuntu:16.04@sha256:1f1a2d56de1d604801a9671f301190704c25d604a416f59e03c04f5c6ffee0d6","Warn: containerImage not pinned by hash: ui/Dockerfile:20: pin your Docker image by updating node:14-bullseye to node:14-bullseye@sha256:c0bff0d29a742f40650d5f0305dd581351c10954e6cb6676fc96f47590b9666e","Warn: containerImage not pinned by hash: ui/Dockerfile:36: pin your Docker image by updating nginx:alpine to nginx:alpine@sha256:54f2a904c251d5a34adf545a72d32515a15e08418dae0266e23be2e18c66fefa","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile:58-67","Warn: npmCommand not pinned by hash: tools/docker/Dockerfile:69-71","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.marvin:29","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.marvin:31","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.marvin:32","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.s390x:62-72","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.s390x:62-72","Warn: downloadThenRun not pinned by hash: tools/docker/Dockerfile.s390x:76-83","Warn: npmCommand not pinned by hash: tools/docker/Dockerfile.s390x:76-83","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.smokedev:53","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.smokedev:119","Warn: pipCommand not pinned by hash: tools/docker/Dockerfile.smokedev:124","Warn: npmCommand not pinned by hash: ui/Dockerfile:33","Warn: pipCommand not pinned by hash: debian/cloudstack-marvin.postinst:22","Warn: pipCommand not pinned by hash: debian/cloudstack-marvin.postinst:23","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:286","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:311","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:312","Warn: pipCommand not pinned by hash: .github/workflows/pre-commit.yml:45","Warn: npmCommand not pinned by hash: .github/workflows/ui.yml:62","Warn: npmCommand not pinned by hash: .github/workflows/ui.yml:63","Info: 101 out of 101 GitHub-owned GitHubAction dependencies pinned","Info:   6 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned","Info:   0 out of   6 containerImage dependencies pinned","Info:   0 out of  15 pipCommand dependencies pinned","Info:   0 out of   5 npmCommand 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/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":10,"reason":"SAST tool detected","details":["Info: SAST configuration detected: CodeQL","Info: SAST configuration detected: Sonar","Warn: 14 commits out of 22 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/916bfc57fa7431467a33a5a013cba3f8a0c1ec50/docs/checks.md#sast"}}]}
