La seguridad de la cadena de suministro ha sido durante mucho tiempo un juego del gato y el ratón, pero un descubrimiento reciente realizado por investigadores de Aikido Security sugiere que el ratón ha encontrado una manera de volverse invisible. Entre el 3 y el 9 de marzo de 2026, una campaña sofisticada inundó GitHub y otros repositorios importantes con 151 paquetes maliciosos. A diferencia de los ataques de typosquatting del pasado, que dependían de que los usuarios escribieran mal el nombre de una biblioteca, estos paquetes utilizaron caracteres Unicode invisibles para ocultar lógica maliciosa a plena vista.
Esta técnica representa una evolución significativa en la forma en que los atacantes explotan la confianza inherente a los ecosistemas de código abierto. Al aprovechar caracteres que el ojo humano no puede ver, pero que los compiladores e intérpretes procesan con precisión clínica, los actores de amenazas están logrando eludir las revisiones manuales de código y los escáneres de seguridad tradicionales.
En el corazón de este ataque se encuentra la complejidad de Unicode: el estándar internacional para codificar caracteres de prácticamente todos los sistemas de escritura. Si bien la mayoría de nosotros pensamos en Unicode en términos de emojis o letras acentuadas, el estándar también incluye una variedad de caracteres "no imprimibles". Estos incluyen espacios de ancho cero, anulaciones direccionales y conectores que no ocupan espacio visual en una pantalla.
Cuando un desarrollador revisa una solicitud de extracción (pull request) o inspecciona el código fuente de una biblioteca, su IDE o editor de texto normalmente representa estos caracteres como si no fueran nada. Sin embargo, para un intérprete de Python o un motor de JavaScript, estos caracteres son puntos de datos distintos. Un atacante puede insertar una carga útil maliciosa dentro de una cadena o un comentario que parece vacío para un humano, pero que ejecuta un comando cuando se ejecuta el código.
Por ejemplo, un atacante podría utilizar un carácter de "Anulación de derecha a izquierda" (U+202E). Este carácter está diseñado para admitir idiomas como el árabe o el hebreo invirtiendo la dirección del texto que le sigue. En un contexto malicioso, se puede utilizar para hacer que un archivo llamado ejecutable_molesto.exe.txt aparezca como ejecutable_txt.exe, engañando al usuario para que ejecute un programa que cree que es un simple archivo de texto.
Durante casi una década, la seguridad de la cadena de suministro se ha centrado en el "typosquatting" y la "confusión de dependencias". Las herramientas de seguridad se crearon para marcar paquetes con nombres como requesst en lugar de requests. Estas herramientas son excelentes para la coincidencia de patrones de cadenas defectuosas conocidas, pero tienen dificultades con lo que no está allí.
Muchas herramientas heredadas de pruebas de seguridad de análisis estático (SAST) dependen de expresiones regulares (regex) para encontrar vulnerabilidades. Si una regex no está configurada específicamente para buscar rangos de Unicode no imprimibles, simplemente los omitirá. Además, debido a que estos caracteres son Unicode válidos, no necesariamente activan alertas de "archivo mal formado". El código sigue siendo sintácticamente correcto, incluso si su comportamiento está oculto.
Para comprender la gravedad de esta nueva ola, resulta útil compararla con los métodos más tradicionales de envenenamiento de repositorios.
| Método de ataque | Mecanismo principal | Visibilidad para humanos | Dificultad de detección |
|---|---|---|---|
| Typosquatting | Nombres de paquetes mal escritos | Alta (si se observa de cerca) | Baja |
| Confusión de dependencias | Explotación de nombres internos vs. públicos | Baja | Media |
| Unicode invisible | Caracteres no imprimibles en el código fuente | Nula | Alta |
| Toma de control de cuenta | Robo de credenciales del mantenedor | Ninguna | Muy alta |
Los 151 paquetes identificados por Aikido Security no fueron solo pruebas de concepto; fueron intentos activos de recolectar variables de entorno, claves SSH y credenciales en la nube de las máquinas de los desarrolladores. Para cuando los investigadores señalaron la campaña, algunos de estos paquetes ya se habían integrado en flujos de trabajo de construcción automatizados, lo que resalta la velocidad a la que se propagan estas amenazas.
Lo que hace que esta campaña específica sea notable es el gran volumen de paquetes lanzados en un período de seis días. Esto sugiere un alto grado de automatización por parte del atacante, probablemente utilizando scripts para generar versiones "espejo" de bibliotecas populares e inyectando las cargas útiles invisibles en funciones de utilidad comunes.
A medida que los atacantes avanzan hacia amenazas invisibles, los desarrolladores y los ingenieros de DevOps deben adaptar su postura defensiva. Confiar en la inspección visual ya no es suficiente. Aquí hay pasos prácticos para mitigar el riesgo de inyección de código invisible:
package-lock.json, poetry.lock o requirements.txt con hashes específicos. Esto evita que su sistema de construcción extraiga automáticamente una versión "más reciente" maliciosa de una dependencia.El descubrimiento de estos 151 paquetes es un recordatorio aleccionador de que la cadena de suministro de código abierto es un ecosistema vivo con depredadores en evolución. El cambio hacia los ataques de Unicode invisible muestra que los actores de amenazas se están alejando de la ingeniería social y dirigiéndose hacia la ofuscación técnica que explota los límites de la percepción humana.
A medida que avanzamos en 2026, la industria debe avanzar hacia un modelo de "Confianza cero" (Zero Trust) para las dependencias. Ya no podemos asumir que el código es seguro solo porque se ve limpio en una pantalla. La verificación debe ser algorítmica, automatizada y lo suficientemente profunda como para ver lo que el ojo humano no puede.



Nuestra solución de correo electrónico cifrado y almacenamiento en la nube de extremo a extremo proporciona los medios más potentes para el intercambio seguro de datos, lo que garantiza la seguridad y la privacidad de sus datos.
/ Crear una cuenta gratuita