Recursos · 117

Archivos ZIP y TAR: extraer con límites de ruta y recursos

Validar rutas, enlaces y datos descomprimidos antes de publicar los archivos obtenidos.

Actualizado · 2 min

Lo que esta guía ayuda a lograr

  • Usar un destino aislado
  • Limitar el trabajo real
  • Promover solo un resultado completo

Comprobación rápida

  • Política de rutas y directorio aislado.
  • Presupuestos y parada por exceso real.
  • Matriz de rechazo y prueba de promoción completa.

Método paso a paso

  1. 1

    Usar un destino aislado

    Extrae en un directorio nuevo no público con permisos mínimos. Rechaza rutas absolutas, recorrido ascendente, enlaces y archivos especiales innecesarios. Comprueba destinos resueltos y colisiones según el sistema, incluida la distinción de mayúsculas. Un prefijo textual no prueba confinamiento.

    Política de rutas y directorio aislado.

  2. 2

    Limitar el trabajo real

    Fija límites por archivo y totales de bytes escritos, entradas, profundidad, tiempo y recursos. No dependas solo del tamaño comprimido o declarado. Rechaza archivos anidados innecesarios; si se permiten, comparte un presupuesto global. Mantén biblioteca y filtros actualizados.

    Presupuestos y parada por exceso real.

  3. 3

    Promover solo un resultado completo

    Prueba ../, ruta absoluta, enlace, duplicado y exceso de presupuesto. Un fallo debe dejar el lote sin publicar y sin reemplazar archivos existentes. Valida tipos y contenido antes de promover; limpia el directorio con una operación que compruebe su destino.

    Matriz de rechazo y prueba de promoción completa.

Caso de aceptación reproducible

Ejemplo ficticio: estos datos no describen clientes ni resultados observados.

Ver datos del caso
{
    "compressed_mb": 2,
    "expanded_mb": 600,
    "aggregate_budget_mb": 100,
    "first_files_valid": true,
    "expected": "stop_on_actual_overrun_and_do_not_promote"
}

Decisión esperada

Ejemplo ficticio: un ZIP de 2 MB produce 600 MB con presupuesto de 100 MB. Detén al superar los bytes escritos y no publiques el lote aunque los primeros archivos parezcan válidos.

Python — tarfile extraction filters and further verification

Su cuaderno de aceptación

Registre observaciones según los criterios de esta guía. El registro no es una certificación.

El cuaderno no guarda automáticamente. Exporte antes de salir.

Indicadores de gestión

IndicadorQué midePrimera acción
Bytes expandidos observadosSuma de bytes escritos en el loteComparar con presupuesto total, no ZIP
Lotes rechazados sin publicaciónLotes inválidos sin promoción / lotes inválidos probadosIncluir fallos a mitad de extracción

Errores comunes

    Preguntas frecuentes

    ¿Un archivo pequeño o un filtro garantiza seguridad?

    No. Puede expandirse mucho. Añade límites de recursos, reglas de rutas y validación del resultado.

    Referencias oficiales

    Las referencias respaldan el método. Adapte los controles a su contexto; no constituyen certificación. Los títulos de referencia originales y los documentos fuente pueden estar en otro idioma.

    Referencias consultadas el .