{"date":"2026-08-17","repo":{"name":"github.com/OpenNMT/CTranslate2","commit":"6419e4c1e22bac8185aa75b93a9e032aaba6f2f2"},"scorecard":{"version":"v5.5.1-0.20260815060127-d1fab88f5463","commit":"d1fab88f54636ff366076edfc5c239f97b3c8e66"},"score":5.1,"checks":[{"name":"Maintained","score":10,"reason":"17 commit(s) and 7 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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#maintained"}},{"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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#dangerous-workflow"}},{"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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#security-policy"}},{"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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":3,"reason":"Found 11/30 approved changesets -- score normalized to 3","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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: jobLevel 'contents' permission set to 'write': .github/workflows/ci.yml:480","Warn: no topLevel permission defined: .github/workflows/ci.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/d1fab88f54636ff366076edfc5c239f97b3c8e66/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/d1fab88f54636ff366076edfc5c239f97b3c8e66/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: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#license"}},{"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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md","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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v4.8.1 not signed: https://api.github.com/repos/OpenNMT/CTranslate2/releases/348604496","Warn: release artifact v4.8.0 not signed: https://api.github.com/repos/OpenNMT/CTranslate2/releases/335465383","Warn: release artifact v4.7.2 not signed: https://api.github.com/repos/OpenNMT/CTranslate2/releases/324753492","Warn: release artifact v4.7.1 not signed: https://api.github.com/repos/OpenNMT/CTranslate2/releases/282833004","Warn: release artifact v4.7.0 not signed: https://api.github.com/repos/OpenNMT/CTranslate2/releases/282392542","Warn: release artifact v4.8.1 does not have provenance: https://api.github.com/repos/OpenNMT/CTranslate2/releases/348604496","Warn: release artifact v4.8.0 does not have provenance: https://api.github.com/repos/OpenNMT/CTranslate2/releases/335465383","Warn: release artifact v4.7.2 does not have provenance: https://api.github.com/repos/OpenNMT/CTranslate2/releases/324753492","Warn: release artifact v4.7.1 does not have provenance: https://api.github.com/repos/OpenNMT/CTranslate2/releases/282833004","Warn: release artifact v4.7.0 does not have provenance: https://api.github.com/repos/OpenNMT/CTranslate2/releases/282392542"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/d1fab88f54636ff366076edfc5c239f97b3c8e66/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/ci.yml:402"],"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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#sast"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:430: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:463: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:482: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:484: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:488: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:507: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:532: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:138: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:198: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:204: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:212: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:230: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:256: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:272: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:374: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:377: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:409: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:416: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:304: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:308: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:316: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:337: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:340: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:345: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenNMT/CTranslate2/ci.yml/master?enable=pin","Warn: containerImage not pinned by hash: docker/Dockerfile:1: pin your Docker image by updating nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04 to nvidia/cuda:12.8.1-cudnn-devel-ubuntu22.04@sha256:ad6d59a3bbf3e82c1c849c9ac09cfc2a3e0bbb8655042fd899be6681b3fe2a85","Warn: containerImage not pinned by hash: docker/Dockerfile:80: pin your Docker image by updating nvidia/cuda:12.8.1-base-ubuntu22.04 to nvidia/cuda:12.8.1-base-ubuntu22.04@sha256:001469ea0f3dec85a1ca929aeea3b58ae369d4c11228b10aec1f642bb6ca7a6f","Warn: containerImage not pinned by hash: docker/Dockerfile_rocm:2: pin your Docker image by updating rocm/dev-ubuntu-22.04:7.2.1 to rocm/dev-ubuntu-22.04:7.2.1@sha256:42851dac319afce41cf993e25f95005b7f2cd0a0f6abd32ad8f25cd876ec56df","Warn: containerImage not pinned by hash: docker/Dockerfile_rocm:91: pin your Docker image by updating rocm/dev-ubuntu-22.04:7.2.1 to rocm/dev-ubuntu-22.04:7.2.1@sha256:42851dac319afce41cf993e25f95005b7f2cd0a0f6abd32ad8f25cd876ec56df","Warn: containerImage not pinned by hash: examples/wngt2020/Dockerfile.cpu:1: pin your Docker image by updating ubuntu:20.04 to ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214","Warn: containerImage not pinned by hash: examples/wngt2020/Dockerfile.cpu:74: pin your Docker image by updating ubuntu:20.04 to ubuntu:20.04@sha256:8feb4d8ca5354def3d8fce243717141ce31e2c428701f6682bd2fafe15388214","Warn: containerImage not pinned by hash: examples/wngt2020/Dockerfile.gpu:1","Warn: containerImage not pinned by hash: examples/wngt2020/Dockerfile.gpu:61","Warn: containerImage not pinned by hash: tools/benchmark/opennmt_ende_wmt14/ctranslate2/Dockerfile:1","Warn: containerImage not pinned by hash: tools/benchmark/opennmt_ende_wmt14/ctranslate2/Dockerfile:20","Warn: containerImage not pinned by hash: tools/benchmark/opennmt_ende_wmt14/fastertransformer/Dockerfile:1: pin your Docker image by updating nvcr.io/nvidia/pytorch:22.09-py3 to nvcr.io/nvidia/pytorch:22.09-py3@sha256:ad07f7144606cb749dceb1ce7ed2286eeb69a63327ea7eccc69f0ac8ac1e0c68","Warn: containerImage not pinned by hash: tools/benchmark/opennmt_ende_wmt14/opennmt_py/Dockerfile:1: pin your Docker image by updating pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime to pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime@sha256:1e26efd426b0fecbfe7cf3d3ae5003fada6ac5a76eddc1e042857f5d049605ee","Warn: containerImage not pinned by hash: tools/benchmark/opennmt_ende_wmt14/opennmt_tf/Dockerfile:1: pin your Docker image by updating tensorflow/tensorflow:2.11.0-gpu to tensorflow/tensorflow:2.11.0-gpu@sha256:67f1a7b35fd52bdda071c0cd311655be7477f2bc1b6f27e014b9a57231bd55b3","Warn: containerImage not pinned by hash: tools/benchmark/opus_mt_ende/ctranslate2/Dockerfile:1","Warn: containerImage not pinned by hash: tools/benchmark/opus_mt_ende/marian/Dockerfile:1: pin your Docker image by updating nvidia/cuda:12.2.2-devel-ubuntu22.04 to nvidia/cuda:12.2.2-devel-ubuntu22.04@sha256:ae8a022c02aec945c4f8c52f65deaf535de7abb58e840350d19391ec683f4980","Warn: containerImage not pinned by hash: tools/benchmark/opus_mt_ende/transformers/Dockerfile:1: pin your Docker image by updating pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime to pytorch/pytorch:1.13.1-cuda11.6-cudnn8-runtime@sha256:1e26efd426b0fecbfe7cf3d3ae5003fada6ac5a76eddc1e042857f5d049605ee","Warn: pipCommand not pinned by hash: tools/benchmark/opennmt_ende_wmt14/ctranslate2/Dockerfile:14","Warn: pipCommand not pinned by hash: tools/benchmark/opennmt_ende_wmt14/ctranslate2/Dockerfile:24","Warn: pipCommand not pinned by hash: tools/benchmark/opennmt_ende_wmt14/fastertransformer/Dockerfile:14","Warn: pipCommand not pinned by hash: tools/benchmark/opennmt_ende_wmt14/opennmt_py/Dockerfile:11","Warn: pipCommand not pinned by hash: tools/benchmark/opennmt_ende_wmt14/opennmt_tf/Dockerfile:9","Warn: pipCommand not pinned by hash: tools/benchmark/opus_mt_ende/transformers/Dockerfile:5","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:499","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:325","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:353","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:355","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:356","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:383","Info:   0 out of  22 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   6 third-party GitHubAction dependencies pinned","Info:   0 out of  16 containerImage dependencies pinned","Info:   2 out of  14 pipCommand 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/d1fab88f54636ff366076edfc5c239f97b3c8e66/docs/checks.md#pinned-dependencies"}}]}
