Dos paquetes maliciosos publicados en Crates.io —faster_log y async_println— acumularon cerca de 8.500 descargas antes de ser retirados. Según el análisis de Socket, ambos crates, subidos el 25 de mayo de 2025, incorporaban código para escanear entornos de desarrollo y repositorios con el fin de extraer claves privadas de criptomonedas y otros secretos sensibles.
Ataque a la cadena de suministro en Crates.io: alcance y cronología
Crates.io, registro central de paquetes para Rust, volvió a ser objetivo de un ataque a la cadena de suministro. Los investigadores estiman unas 7.200 descargas de faster_log y unas 1.200 de async_println. La administración del registro bloqueó el 24 de septiembre las cuentas rustguruman y dumbnbased, responsables de publicar los paquetes, y confirmó que no tenían dependencias descendentes ni otros proyectos asociados. Pese a ello, el volumen de instalaciones implica un riesgo real de exposición de secretos en estaciones de trabajo y pipelines de CI/CD.
Retirada y bloqueo de cuentas: por qué importa
La eliminación de los crates acota el alcance futuro, pero no neutraliza el impacto en sistemas que ya los incorporaron. En incidentes de este tipo, la ventana entre la publicación y la detección permite a los atacantes aprovechar la confianza implícita en los gestores de paquetes, una constante en eventos previos de npm, PyPI o RubyGems documentados por la comunidad y organizaciones como OpenSSF.
Técnicas de camuflaje: suplantación creíble de paquetes legítimos
Los agresores recurrieron al typosquatting y al mimetismo funcional. faster_log imitaba al popular fast_log: copiaron README, metadatos y preservaron capacidades básicas de logging para reducir sospechas. Mientras la funcionalidad aparente cumplía, el payload oculto extendía la lógica de empaquetado de logs para inspeccionar rutas locales y archivos del proyecto en busca de secretos.
Exfiltración de secretos: cómo operaba el payload
El código malicioso rastreaba variables de entorno y repositorios en busca de claves privadas, tokens de acceso y credenciales. Al detectar coincidencias, empaquetaba los datos con contexto —rutas y números de línea— y los transmitía mediante peticiones POST a un endpoint de Cloudflare Workers codificado en el binario: mainnet[.]solana-rpc-pool[.]workers[.]dev. Aunque el nombre sugiere relación con Solana, investigadores verificaron que no es un nodo RPC oficial, lo que apunta a infraestructura de mando y exfiltración controlada por los atacantes.
Impacto y riesgo para equipos de desarrollo en Rust
Aun sin dependencias descendentes, miles de instalaciones implican que proyectos compilados o ejecutados con estas librerías pudieron filtrar secretos desde el host del desarrollador o el entorno de integración continua. Este patrón se alinea con la amenaza creciente a la seguridad de la cadena de suministro, donde los atacantes introducen código hostil en eslabones de confianza. Informes públicos (p. ej., Sonatype y OpenSSF) han documentado un aumento sostenido de paquetes maliciosos y de técnicas de suplantación en registros abiertos.
Respuesta inmediata y prevención: medidas recomendadas
- Elimine faster_log y async_println de sus dependencias y reconstruya el entorno de build desde una base verificada.
- Rotación de secretos: migre activos digitales a nuevas wallets y regenere claves, tokens y credenciales potencialmente expuestos.
- Realice inventario y purga de repositorios, artefactos y cachés de CI/CD; revise si logs o dumps contienen secretos.
- Fije versiones y use lockfiles; integre auditorías con cargo-audit y la base de avisos RustSec.
- Implemente revisiones de terceros con cargo-vet, listas de bloqueo y políticas de aprobación de dependencias.
- Refuerce procesos SLSA/SSDF: separación de funciones, principio de mínimo privilegio, entornos de build aislados y gestión segura de secretos.
- Verifique la reputación del publicador en Crates.io y la correspondencia entre el código fuente y el paquete publicado.
Los hallazgos sobre faster_log y async_println confirman que las amenazas a Crates.io y a la cadena de suministro de software siguen evolucionando. Adoptar prácticas como la fijación estricta de dependencias, auditorías continuas y rotación disciplinada de secretos reduce drásticamente la superficie de ataque. Actúe hoy: revise sus proyectos Rust, elimine dependencias sospechosas y eleve el listón de seguridad en su pipeline de desarrollo.