Arquitectura segura para compilar LaTeX en contenedores de borde

Fuentes: Secure architecture for compiling LaTeX in edge containers

El desarrollo de aplicaciones que requieren generar PDFs mediante LaTeX en entornos de borde, como Cloudflare Workers, presenta desafíos técnicos y de seguridad significativos. Los Workers funcionan como aislados V8 que ejecutan JavaScript y WebAssembly, pero no permiten la instalación de binarios nativos ni el acceso a un sistema operativo completo, lo que impide ejecutar motores de compilación tradicionales como pdflatex o xelatex. Para resolver esto, se debe externalizar el proceso de compilación a un contenedor dedicado que se invoca vía HTTP.

El artículo detalla el uso de Tectonic, un motor de LaTeX optimizado para servidores que reduce la imagen de contenedor a un tamaño manejable mediante la descarga de paquetes solo cuando se necesitan y que gestiona automáticamente las iteraciones de compilación. Un aspecto crítico de seguridad es el manejo del 'shell escape' (escape de shell), una función que permite ejecutar comandos de shell externos. En entornos no confiables, esto puede permitir la ejecución de scripts maliciosos remotos. La solución propuesta deshabilita el shell escape por defecto y utiliza un entorno de proceso aislado y un usuario no privilegiado para mitigar riesgos, aunque se reconoce que esto no impide la lectura de archivos del sistema. El servicio final se implementa con Hono en Node.js, utilizando directorios temporales atómicos con mkdtemp para gestionar colisiones y limpieza, garantizando que cada solicitud tenga un entorno aislado y seguro.