theupdateframework / theupdateframework/python-tuf
Examples: ship bootstrap root.jsons for well-known repositories
Nessuno ha ancora preso questa issue.
- Lingua principale
- Python
- Stelle
- 1.7k
- Fork
- 304
- Merge medio
- 1g 2h
- PR unite (30g)
- 17
Descrizione
In #2193 the client example gains Trust-On-First-Use (TOFU) functionality and support for arbitrary repositories. This is very useful for testing but has two issues:
- we should also be an example of not using TOFU (and shipping the bootstrap root metadata) whenever possible
- some known repositories have old root metadata that the client is incompatible with: This breaks the TOFU approach. We could workaround this issue by shipping a newer root metadata as bootstrap
So:
- client example could ship with root.json files for known repositories like https://github.com/jku/tuf-demo, sigstore, bottlerocket, the manual repo in python-tuf sources, etc
- these should be "hidden" a bit so that they don't confuse someone who is just looking for example code
- client should automatically use these bootstrap roots: the initial implementation could be just
if cache for {REPO} does not have root.json and bootstrap root.json for {REPO} exists, then copy bootstrap root.json to cache - the obvious next step is #1168 , which is a ngclient feature that would make the example even simpler and safer
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia dall’inizializzazione della cache del repository nell’esempio client e rivedi il flusso TOFU esistente descritto in #2193. Aggiungi file bootstrap root.json nascosti per i repository indicati e fai in modo che una cache vuota utilizzi il bootstrap root corrispondente; verifica che l’esempio funzioni senza TOFU, considerando #1168 come attività successiva.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- security
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100