Package managers have an integrity problem
Trail of Bits · 14 oct, 13:00
Trail of Bits evaluó 25 gestores de paquetes populares para detectar si pueden identificar repositorios comprometidos que inyecten código malicioso en paquetes legítimos. El análisis reveló un problema crítico de integridad: menos de la mitad utilizan lockfiles que verifiquen manipulaciones por defecto, y solo dos verifican la integridad de todos los paquetes descargados. Este es un eslabón débil importante de la cadena de suministro si los ataques contra desarrolladores se mitigan exitosamente.
El estudio clasificó los gestores de paquetes según su protección criptográfica. En cuanto a hashes en lockfiles, solo Go y vcpkg verifican integridad por defecto; otros como npm, Cargo y Poetry requieren configuración adicional o carecen de hashes. Para firmas, únicamente Go las verifica automáticamente; seis gestores lo hacen con configuración extra, y nueve no ofrecen verificación de firmas o no disponen de ellas.
Tra\_of_Bits construyó un entorno de prueba basado en contenedores Docker y mitmproxy para simular repositorios comprometidos. El harness intercepta el tráfico de red, instala un certificado TLS personalizado y inyecta código malicioso en paquetes descargados para evaluar si el gestor lo detecta. Aunque la mayoría de gestores utilizan HTTPS y validan certificados (salvo cpanminus para Perl), esta protección solo asegura el tránsito, no la integridad del contenido. El problema es que muchos diseños deliberadamente priorizan facilidad de uso sobre verificación criptográfica, dejando un vector de ataque significativo en la cadena de suministro de software.
Puntos clave
- Solo 2 de 25 gestores verifican integridad de paquetes por defecto (Go y vcpkg)
- Menos de la mitad usan lockfiles con verificación automática de manipulación
- Nueve gestores carecen de soporte para firmas criptográficas o verificación incompleta
- HTTPS está casi ubícuo pero no garantiza integridad del código, solo confidencialidad del tránsito
- El riesgo escala si los ataques a desarrolladores individuales se mitigan exitosamente