Description
Description of issue or feature request:
Hi, I'm Harshita. I’m working with CNCF and the Google Open Source Security Team for the GSoC 2024 term. We are collaborating to enhance security practices across various CNCF projects. The goal is to improve security for all CNCF projects by both using OpenSSF Scorecards and implementing its security improvements.
As this project already has scorecard action, I'm here to increase the final score by going over each check. I've listed all of the checks where work needs to be done, in order of its criticality. I plan to submit each PR for each fix. Please let me know what you think and for which ones a PR is welcome that I will submit it ASAP.
Current Score: 7.9
Scorecard report: https://scorecard.dev/viewer/?uri=github.com/theupdateframework/python-tuf
Here's a few checks we can work on to improve the project's security posture:
-
Token-Permissions: Score = 0
- The issue here is that many workflows doesn’t have a top-level read-only permissions block like present in the other workflows. Scorecard is quite severe in this check: a single workflow without top-level permissions gets a 0/10 for the check.
- PR: fix: fixed the pinned-dependencies #2689
-
Signed-Releases: Score = 4
- The releases need to be signed; we can use cosign using github actions for that, and it will increase the score to 8. Additionally, SLSA provenance also needs to be added, which can be done using this, increasing the overall score to 10.
-
Fuzzing: Score = 0
- Integrating the project with OSS-Fuzz by following the instructions here. The most difficult one on the list, maintainers help, is highly appreciated. For example, helping in identifying the components where fuzz testing will be added.
-
Pinned-Dependencies: Score = 4
- pip command and many github actions are not pinned by hash, which results in a low score.
- Pinning dependencies to a specific hash rather than allowing mutable versions or ranges of versions improves supply chain security.
- PR: fix: fixed the pinned-dependencies #2689