An open API service providing repository metadata for many open source software ecosystems.

bpython - A fancy curses interface to the Python interactive interpreter

OpenSSF Scorecard report

2.8

Overall Score

10/10 Critical Risk
14/60 High Risk
0/40 Medium Risk
9/20 Low Risk
Generated on August 11, 2025 | Scorecard vv5.2.1-40-gf6ed084d
Security Checks
10/10
Binary-Artifacts
High Risk

no binaries found in the repo

Determines if the project has generated executable (binary) artifacts in the source repository.

10/10
Dangerous-Workflow
Critical Risk

no dangerous workflow patterns detected

Determines if the project's GitHub Action workflows avoid dangerous patterns.

9/10
License
Low Risk

license file detected

Determines if the project has defined a license.

Show details
ℹ️ Info: project has a license file: LICENSE:0
⚠️ Warn: project license file does not contain an FSF or OSI license.
3/10
Maintained
High Risk

3 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 3

Determines if the project is "actively maintained".

1/10
Code-Review
High Risk

Found 4/24 approved changesets -- score normalized to 1

Determines if the project requires human code review before pull requests (aka merge requests) are merged.

0/10
Branch-Protection
High Risk

branch protection not enabled on development/release branches

Determines if the default and release branches are protected with GitHub's branch protection settings.

Show details
⚠️ Warn: branch protection not enabled for branch 'main'
0/10
CII-Best-Practices
Low Risk

no effort to earn an OpenSSF best practices badge detected

Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.

0/10
Fuzzing
Medium Risk

project is not fuzzed

Determines if the project uses fuzzing.

Show details
⚠️ Warn: no fuzzer integrations found
0/10
Pinned-Dependencies
Medium Risk

dependency not pinned by hash detected -- score normalized to 0

Determines if the project has declared and pinned the dependencies of its build process.

Show details
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yaml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/build.yaml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/build.yaml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/build.yaml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/lint.yaml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/lint.yaml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/lint.yaml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/lint.yaml:25: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/lint.yaml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/lint.yaml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/lint.yaml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/bpython/bpython/lint.yaml/main?enable=pin
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/build.yaml:33
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/build.yaml:34
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/build.yaml:35
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/build.yaml:36
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/lint.yaml:16
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/lint.yaml:17
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/lint.yaml:38
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/lint.yaml:39
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/lint.yaml:40
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/lint.yaml:41
⚠️ Warn: pipCommand not pinned by hash: .github/workflows/lint.yaml:42
ℹ️ Info: 0 out of 7 GitHub-owned GitHubAction dependencies pinned
ℹ️ Info: 0 out of 2 third-party GitHubAction dependencies pinned
ℹ️ Info: 0 out of 11 pipCommand dependencies pinned
0/10
SAST
Medium Risk

SAST tool is not run on all commits -- score normalized to 0

Determines if the project uses static code analysis.

Show details
⚠️ Warn: 0 commits out of 10 are checked with a SAST tool
0/10
Security-Policy
Medium Risk

security policy file not detected

Determines if the project has published a security policy.

Show details
⚠️ Warn: no security policy file detected
⚠️ Warn: no security file to analyze
⚠️ Warn: no security file to analyze
⚠️ Warn: no security file to analyze
0/10
Token-Permissions
High Risk

detected GitHub workflow tokens with excessive permissions

Determines if the project's workflows follow the principle of least privilege.

Show details
⚠️ Warn: no topLevel permission defined: .github/workflows/build.yaml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/lint.yaml:1
ℹ️ Info: no jobLevel write permissions found
0/10
Vulnerabilities
High Risk

11 existing vulnerabilities detected

Determines if the project has open, known unfixed vulnerabilities.

Show details
⚠️ Warn: Project is vulnerable to: PYSEC-2023-117 / GHSA-mrwq-x4v8-fh7p
⚠️ Warn: Project is vulnerable to: GHSA-7372-q459-jxhr
⚠️ Warn: Project is vulnerable to: PYSEC-2019-199 / GHSA-r6v3-hpxj-r8rv
⚠️ Warn: Project is vulnerable to: PYSEC-2014-14 / GHSA-652x-xj99-gmcc
⚠️ Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7
⚠️ Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56
⚠️ Warn: Project is vulnerable to: PYSEC-2014-13 / GHSA-cfj3-7x9c-4p3h
⚠️ Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg
⚠️ Warn: Project is vulnerable to: PYSEC-2025-49 / GHSA-5rjg-fvgr-3xxf
⚠️ Warn: Project is vulnerable to: GHSA-cx63-2mw6-8hw5
⚠️ Warn: Project is vulnerable to: PYSEC-2022-43012 / GHSA-r9hx-vwmv-q579
N/A
Packaging
Not Applicable

packaging workflow not detected

Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.

Show details
⚠️ Warn: no GitHub/GitLab publishing workflow detected.
N/A
Signed-Releases
Not Applicable

no releases found

Determines if the project cryptographically signs release artifacts.

Links
Repository Details
  • Stars 2,764
  • Forks 252
  • Open issues 147
  • License other
  • Language Python
  • Size 9.39 MB
  • Created at over 11 years ago
  • Updated at 2 months ago
  • Pushed at 3 months ago
  • Last synced at about 2 months ago
  • Dependencies parsed at Pending
Commit Stats