Improve security of downloading a binary by checking the fingerprint
- Dominant language
- Go
- Stars
- 25.6k
- Forks
- 941
- Avg merge
- 9h 24m
- Merged PRs (30d)
- 3
Description
### Is your feature request related to a problem? Please describe
I'm not sure if this is already done or if it's the plugin's responsibility, but it would be nice to have some sort of check that the binary being download is the one published by the upstream organisation that compiles it.
If we take the example of kubectl the documentation https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/ encourages to "Validate the binary"
```
echo "$(cat kubectl.sha256) kubectl" | sha256sum --check
```
This doesn't seem to be checked by asdf
### Describe the proposed solution
Add the sha256 or other metadata that enables adsf or it's plugins to validate the binary download
### Describe similar `asdf` features and why they are not sufficient
Haven't found any mention of fingerprints in the documentation.
Quick read of https://github.com/asdf-community/asdf-kubectl/blob/master/bin/install seems to show this is not done.
### Describe other workarounds you've considered
Having some sort of post hook or other script that checks the fingerprints ?
Contributor guide
Research direction
Start with the asdf-kubectl bin/install script and the asdf plugin download flow, then compare them with Kubernetes' "Validate the binary" documentation. Define whether verification belongs in asdf or plugins, which fingerprint metadata is supported, and how successful and failed validation should be tested.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes, shell
- Domain
- cli, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100