safety
Check Python dependencies for vulnerabilities
Changes since last week
3 resolved.
Resolved advisories (3)
- C
GHSA-5xjx-3w67-w9x9inpypa/gh-action-pypi-publish@release/v1 - H
GHSA-cxww-7g56-2vh6inactions/download-artifact@v4 - L
GHSA-vxmw-7h4f-hqxhinpypa/gh-action-pypi-publish@release/v1
Known vulnerabilities
No known advisories matched the declared dependencies.
Not counted: 3 matches (action reference to a moving tag or branch). Neither identifies a version installed from a registry.
Second opinion: OSV-Scanner
OSV-Scanner found 0 advisories in the same files; 0 of Grype's matches are confirmed by it (marked ✓ above). 0 advisories were reported only by OSV-Scanner.
Release integrity
Verdict: no checksums or signatures for safety-x86_64-unknown-linux-gnu. The download matches GitHub's recorded digest.
- Checksums file: no
- Signatures: yes
- SLSA provenance: no
- SBOM published with the release: no
Verified means a signature, provenance, or attestation was checked against an identity in pyupio/safety's own GitHub Actions workflows.
Repository security (OpenSSF Scorecard)
Score 4.7/10, assessed 2026-10-26 (OpenSSF public dataset). Scorecard viewer
All checks
| Check | Score | Reason |
|---|---|---|
| CII-Best-Practices | 0 | no effort to earn an OpenSSF best practices badge detected |
| Fuzzing | 0 | project is not fuzzed |
| Pinned-Dependencies | 0 | dependency not pinned by hash detected -- score normalized to 0 |
| SAST | 0 | SAST tool is not run on all commits -- score normalized to 0 |
| Signed-Releases | 0 | Project has not signed or included provenance with any releases. |
| Token-Permissions | 0 | detected GitHub workflow tokens with excessive permissions |
| Maintained | 2 | 3 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 2 |
| Code-Review | 7 | Found 22/30 approved changesets -- score normalized to 7 |
| Binary-Artifacts | 10 | no binaries found in the repo |
| Dangerous-Workflow | 10 | no dangerous workflow patterns detected |
| License | 10 | license file detected |
| Packaging | 10 | packaging workflow detected |
| Security-Policy | 10 | security policy file detected |
| Branch-Protection | — | 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 |
GitHub Actions workflow audit (zizmor)
89 potential issues in 9 workflow files at this release: 46 high, 29 medium, 13 low severity (medium or high confidence only). Each is a pattern to review, not a confirmed vulnerability.
All findings
Dependencies (17)
By ecosystem: github 15, unknown 2.
Licenses (as declared in the SBOM): unknown 17.
github (15)
| Name | Version | License | Declared in |
|---|---|---|---|
actions/checkout | v3 | .github/workflows/issue_responder.yml | |
actions/checkout | v4 | .github/workflows/build.yml | |
actions/download-artifact | v4 | .github/workflows/cd.yml | |
actions/github-script | v7 | .github/workflows/pr-comment.yml | |
actions/setup-python | v5 | .github/workflows/build.yml | |
actions/upload-artifact | v4 | .github/workflows/reusable-build.yml | |
azure/login | v2 | .github/workflows/reusable-build.yml | |
azure/trusted-signing-action | v0.5 | .github/workflows/reusable-build.yml | |
crazy-max/ghaction-import-gpg | v6 | .github/workflows/bump.yml | |
docker/build-push-action | v4 | .github/workflows/build.yml | |
docker/metadata-action | v5 | .github/workflows/build.yml | |
docker/setup-buildx-action | v3 | .github/workflows/build.yml | |
pypa/gh-action-pypi-publish | release/v1 | .github/workflows/cd.yml | |
sigstore/cosign-installer | v4.0.0 | .github/workflows/reusable-build.yml | |
softprops/action-gh-release | v2.0.1 | .github/workflows/cd.yml |
unknown (2)
| Name | Version | License | Declared in |
|---|---|---|---|
./.github/workflows/ci.yml | UNKNOWN | .github/workflows/cd.yml | |
./.github/workflows/reusable-build.yml | UNKNOWN | .github/workflows/cd.yml |
History
| Week | Version | Dependencies | Critical | High | Medium | Low | Unknown | Changes |
|---|---|---|---|---|---|---|---|---|
| 2026-11-02 | 3.8.1 | 17 | 0 | 0 | 0 | 0 | 0 | 3 resolved |
| 2026-11-01 | 3.8.1 | 17 | 1 | 1 | 0 | 1 | 0 | — |
SBOM minimum elements
Scored by sbomlyze on the generated source SBOM. A source SBOM usually lacks supplier and hash data, so these scores mostly reflect what the project's manifests declare.
| Standard | Score | Checks passed | Failed checks |
|---|---|---|---|
| NTIA 2021 | 71 | 5/7 | Supplier Name, Dependency Relationship |
| CISA 2025 | 50 | 5/10 | Software Producer, Dependency Relationship, License Information, Component Hash, SBOM Author |
| BSI TR-03183 | 44 | 4/9 | Component Creator, Distribution Licences, SHA-512 Hash, Dependency Relationship, SBOM Creator Contact |
Evidence
Downloads for this week: CycloneDX SBOM · Grype report
Permanent copy of the raw SBOM, Grype, OSV-Scanner, and govulncheck output and release checks: release report-2026-11-02, folder supply-chain-shard-*/pyupio__safety/.
10 manifests and lockfiles scanned
.github/workflows/build.yml, .github/workflows/bump.yml, .github/workflows/cd.yml, .github/workflows/ci.yml, .github/workflows/issue_responder.yml, .github/workflows/pr-comment.yml, .github/workflows/pr.yml, .github/workflows/reusable-build.yml, action.yml, pyproject.toml
Full JSON for this project · Atom feed of weekly changes
Badges
shields.io endpoints refreshed with each weekly scan. They report this week's result for the latest release, nothing more.
[](https://rezmoss.github.io/awesome-security-pipeline/projects/pyupio/safety/index.html)
How this report is made
Every Sunday a GitHub Actions workflow resolves each catalog tool to its latest release and runs the checks below. Every tool is installed from its own latest release and verified against its published checksum or digest. Nothing from the scanned projects is built or executed; release binaries are analyzed as files.
| Tool | What it does here | Version this week |
|---|---|---|
| Syft | Generates a CycloneDX SBOM from each release's manifests and lockfiles. | 1.55.0 |
| Grype | Matches the SBOM against known vulnerabilities. | 0.121.0 |
| OSV-Scanner | Checks the same files against the OSV database to confirm or add matches. | 2.7.0 |
| govulncheck | For Go tools, finds which advisories have vulnerable code compiled into the released Linux binary. | 1.9.0 |
| zizmor | Audits the project's GitHub Actions workflows for injection, unpinned actions, and excessive permissions. | 1.31.1 |
| OpenSSF Scorecard | Scores repository security practices such as code review, branch protection, and pinned dependencies. | 5.6.0 |
| Cosign | Verifies Sigstore signatures on the release binary or its checksums file. | 3.1.4 |
| slsa-verifier | Verifies SLSA build provenance published with the release. | 2.7.1 |
| GitHub CLI attestations | Verifies GitHub artifact attestations for the release binary. | — |
| sbomlyze | Diffs each SBOM against last week and scores NTIA, CISA, and BSI minimum elements. Maintained by this repository's maintainer. | 0.6.0 |