Un escáner marca eval, texto base64 o variables ilegibles en un plugin. La ofuscación es sospechosa en código ordinario, pero algunos plugins comerciales protegen lógica licenciada y algunas librerías incluyen datos codificados.
No ejecutes ni “decodifiques” el archivo en producción. Verifica procedencia y compáralo primero con un paquete fiable.
Aísla una copia y conserva metadatos
Registra nombre, versión, fuente, ruta, propietario, permisos y fecha. Calcula el hash y copia fuera de la raíz con acceso restringido.
Conserva el directorio completo: la línea marcada puede llamar o ser llamada por otro archivo.
No renombres el plugin activo durante un checkout concurrido sin revisar dependencias. Si probablemente es malicioso, utiliza mantenimiento controlado y reversión documentada.
Verifica el origen del plugin
Comprueba si procede de WordPress.org, cuenta del proveedor, repositorio del desarrollador o ZIP desconocido. Compara versión, checksum o firma cuando existan.
Descarga un paquete nuevo únicamente desde la fuente oficial y con un dispositivo limpio. Compara hashes y archivos sin conexión.
Una coincidencia exacta no garantiza que el proveedor sea seguro, pero diferencia una modificación local del código distribuido y permite escalar el hallazgo.
Registra la URL de descarga, fecha, versión declarada y hash del paquete completo. Si el proveedor sustituye silenciosamente un ZIP conservando el mismo número de versión, esa información permite demostrar que dos instalaciones aparentemente iguales contienen código diferente.
Inspecciona sin evaluar
Utiliza herramientas de texto sobre la copia para localizar funciones sospechosas y cadenas largas. Revisa el flujo: cuándo se ejecuta, qué entrada recibe y qué hace en archivos, base o red.
No envíes el valor a eval, consola del navegador o decodificador online. Si necesitas decodificar estáticamente, hazlo sin red y sin invocar el resultado.
Trata la salida como evidencia no confiable.
Antes de cualquier análisis dinámico, ejecuta únicamente comprobaciones estáticas seguras sobre la copia y revisa su sintaxis sin cargar WordPress. Una sintaxis válida no vuelve confiable el código; solo evita confundir corrupción accidental con una técnica de ocultación.
Busca comportamiento, no una palabra
Los patrones maliciosos incluyen peticiones remotas ocultas, creación de administradores, escritura ejecutable, includes dinámicos, cron y redirecciones condicionales.
El código legítimo puede usar base64 para iconos, certificados o datos compactos. eval y la carga remota requieren mayor revisión, pero el contexto y la procedencia determinan el resultado.
Busca dominios externos, rutas escribibles y hooks usados por el bloque. No navegues por infraestructura del atacante.
Comprueba si los destinos y claves de configuración aparecen documentados por el fabricante. Una llamada remota legítima debería tener finalidad, endpoint y política de actualización reconocibles. Código que descarga instrucciones ejecutables sin una firma o control claro requiere contención y consulta al proveedor.
Compara fechas y actividad
Si el archivo difiere del paquete, averigua cuándo cambió y qué otros archivos se modificaron. Revisa despliegues, actualizaciones, SFTP y hosting.
El plugin modificado puede alojar el payload sin ser la vulnerabilidad original. Revisa usuarios, contraseñas de aplicación, panel y webs vecinas.
Conserva logs antes de rotar accesos o restaurar.
Sustituye con seguridad si perdió confianza
Crea copias de base y archivos y exporta ajustes legítimos. Elimina completamente el directorio comprometido e instala un paquete limpio y parcheado.
No copies archivos desconocidos del directorio antiguo. Migra manualmente solo plantillas o configuración revisadas.
Si no existe fuente fiable o sustituto mantenido, deja el plugin desactivado y planifica una alternativa funcional.
No restaures una versión vulnerable solo porque sea más legible. La sustitución debe conservar la función comercial con una versión mantenida o un componente alternativo, y probar formularios, cron, correo y checkout relacionados antes de reabrir.
Verifica toda la web
Busca hashes, cadenas y dominios relacionados en archivos y base. Inspecciona cron, uploads y mu-plugins.
Prueba la función del plugin, formularios y checkout tras instalar. Monitoriza integridad y peticiones salientes para detectar reaparición.
Cuándo conviene revisión experta
Solicita evaluación si la fuente es desconocida, el código difiere del proveedor o gestiona pagos, uploads o autenticación. Facilita nombre, versión, ruta y hash, nunca el payload vivo por un formulario.
Un hallazgo fiable explica procedencia, comportamiento, sustitución y ruta más amplia del compromiso, en vez de llamar malware a toda cadena codificada.