Paquetes AUR comprometidos con infostealer y rootkit
Alcance y naturaleza del compromiso
- Alrededor de ~400 paquetes AUR fueron tomados, en su mayoría mediante la adopción de paquetes huérfanos e inyección de pasos de compilación maliciosos.
- La carga útil usó inicialmente
npm install atomic-lockfile ...durantepost_install; variantes posteriores cambiaron de herramientas (por ejemplo, bun) para evadir indicadores simples. - La campaña ha continuado, con nuevas confirmaciones maliciosas que siguen apareciendo; no se limita a una sola ventana de incidentes.
Detección y “¿estoy comprometido?”
- Se compartieron varios scripts / one‑liners para:
- Comparar paquetes AUR instalados con listas de paquetes comprometidos conocidos.
- Distinguir entre “instalado pero nunca actualizado durante la ventana del ataque” y “actualizado y probablemente infectado”.
- Matiz clave: no bastaba con tener instalado un paquete afectado; por lo general había que actualizarlo durante el período malicioso.
- Se compartieron enlaces a análisis preliminares del malware e ideas para comprobar rootkits; no está claro cuán eficaces sean herramientas genéricas (p. ej., rkhunter) para este rootkit BPF específico.
Modelo de confianza de AUR y sus límites
- Recordatorio contundente: AUR es explícitamente “producido por usuarios, bajo tu propia responsabilidad”, más parecido a un pastebin que a un repositorio verificado.
- Muchos sostienen que debes:
- Leer cada PKGBUILD antes de instalar.
- Revisar los diffs en cada actualización, incluidos parches y fuentes externas.
- Otros dicen que esto es irreal a gran escala y comparable a esperar que todo el mundo lea íntegramente los EULAs.
Paquetes huérfanos y política de adopción
- Vector de ataque principal: adopción masiva de paquetes huérfanos (hay muchos miles), y luego añadir pasos maliciosos.
- Varios califican el modelo actual de adopción como “roto” y sugieren:
- Forzar nuevas presentaciones en lugar de tomas silenciosas.
- Depurar huérfanos antiguos.
- Advertencias visibles cuando cambia la mantenencia.
- Algunos proponen nombres de paquetes restringidos por nombre de usuario para dejar más clara la propiedad.
Prácticas de usuario y mitigaciones
- Muchos recomiendan:
- Limitarse a los repositorios oficiales cuando sea posible; mantener el uso de AUR al mínimo.
- Evitar los ayudantes de AUR o, al menos, usarlos solo con revisión manual del diff de PKGBUILD.
- Desconfiar de paquetes AUR que a su vez dependan de otros paquetes AUR, grandes conjuntos de parches o pasos adicionales de descarga desde la red.
- Ejecutar software riesgoso en VMs/contenedores o VMs QEMU separadas para distintos roles (trabajo vs. finanzas).
- Herramientas como
traury otros escáneres pueden señalar patrones sospechosos (p. ej., tomas de huérfanos), pero no son garantías.
Papel de npm y el riesgo más amplio de la cadena de suministro
- El código malicioso se distribuyó a través de npm (y luego mediante otras herramientas de JS), reforzando la percepción del ecosistema JS como un vector frecuente de cadena de suministro.
- Varios señalan que esto no es exclusivo de AUR: PyPI, npm, cargo, extensiones del navegador, Flatpak/Flathub, etc. comparten riesgos sistémicos similares.
Respuesta de Arch y comunicación
- Algunos critican el retraso o la escasa comunicación oficial y sostienen que AUR debería haberse puesto temporalmente en “cuarentena” con advertencias claras.
- Otros responden que:
- AUR siempre ha sido explícitamente no verificado.
- La infraestructura está gestionada por voluntarios; las expectativas de una respuesta a incidentes de “nivel empresarial” son poco realistas.
- Finalmente, una noticia oficial de Arch reconoció el incidente; los mantenedores están procesando solicitudes de borrado / conversión a huérfano.
Salvaguardas futuras y automatización
- Mejoras sugeridas:
- Advertencias en los ayudantes para cambios recientes de propietario, adopciones de huérfanos y descargas inusuales (por ejemplo, nuevo uso de
npm/curl). - Escaneo automatizado opcional (incluida revisión basada en LLM) para señalar cambios sospechosos en PKGBUILD, reconociendo al mismo tiempo los riesgos de prompt injection y de falsa sensación de seguridad.
- Aislamiento más fuerte mediante sandbox/VM y adopción más amplia de marcos de cadena de suministro como SLSA.
- Advertencias en los ayudantes para cambios recientes de propietario, adopciones de huérfanos y descargas inusuales (por ejemplo, nuevo uso de
- Algunos ven esto como “prácticamente el fin del modelo actual de AUR”; otros lo consideran un incidente serio pero no sorprendente que reafirma advertencias conocidas en lugar de invalidar AUR por completo.