asdf-vm / asdf-vm/asdf

Improve security of downloading a binary by checking the fingerprint

Open
#1,320 1 comment 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.