Implementation of Offline mode for TUF
Los mantenedores suelen responder en 10 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Empieza en updater.py con UpdaterConfig y sigue el flujo del actualizador para el booleano offline propuesto. Después, lee trusted_metadata_set.py para identificar las comprobaciones de expiración de metadatos implicadas. Se considera terminado cuando el modo offline avisa a los usuarios, genera un error si faltan los metadatos locales, carga los materiales locales sin comprobaciones de expiración y evita las actualizaciones en línea.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Sigstore's python client would like to use the TUF updater in a fully offline manner to allow for opt-in offline verification. To do so would require TUF to function using only locally-stored materials.
Within TUF's current implementation, regardless of the validity of already-stored materials, online access is always required. Thus far, we've been able to run the updater on a modified branch using only local materials and seek to expand this modification to allow for opt-in usage of expired metadata in offline mode. This would be useful for clients like sigstore that would to allow for verification with metadata that was previously valid. A primary use case for this would involve verifying on machines that do not necessarily maintain a connection online.
Changes on our experimental branch have been within updater.py and have consisted of adding a new boolean to UpdaterConfig and avoiding online refreshes if said boolean has been set. Further implementation would require changes to trusted_metadata_set.py to skip checks against the expiry of the metadata if the aforementioned boolean has been set.
Ideally the flow of TUF's updater with these changes would go as follows, given the boolean is set:
- Warn users about risks of using offline verification
- Check to see if local metadata exists; exiting with an error message if none is found
- Load local metadata, skipping checks against expiry within trusted_metadata_set.py
- Lenguaje dominante
- Python
- Estrellas
- 1.7k
- Forks
- 304
- Merge medio
- 9 h 25 min
- PR fusionados (30 d)
- 14
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de theupdateframework/python-tuf
-
switch to main branch?Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
theupdateframework/python-tuf#3001 ·
Los mantenedores suelen responder en 10 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
theupdateframework/python-tuf#2979 · 1 comentario ·
Los mantenedores suelen responder en 10 días
-
Use Immutable ReleasesAbiertoenhancement github_actions
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
theupdateframework/python-tuf#2920 · 1 comentario · 2 reacciones ·
Los mantenedores suelen responder en 10 días
-
Investigate/test fetcher retriesAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
theupdateframework/python-tuf#2842 · 3 comentarios ·
Los mantenedores suelen responder en 10 días
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
theupdateframework/python-tuf#2836 · 7 comentarios ·
Los mantenedores suelen responder en 10 días
Todos los issues de theupdateframework/python-tuf
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
PedestrianDynamics/pyFDS-Evac#199 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
521xueweihan/HelloGitHub#3790 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
sandialabs/atlas-ui-3#978 ·
Los mantenedores suelen responder en 1 día
-
area: tests perceived difficulty: 2
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Nitjsefnie-Harness-Commons/daedalus#1255 ·
Los mantenedores suelen responder en 1 día
-
hf-audiolm-qwen: `generate_until` hardcodes `.to("cuda")` and aborts on non-CUDA acceleratorsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
EleutherAI/lm-evaluation-harness#4256 ·
Los mantenedores suelen responder en 1 día