Un agente LLM que pentesta Salesforce Experience Cloud de extremo a extremo
El 8 de junio de 2026, Reco publicó un agente que mapea, fuzzea y explota sitios de Salesforce Experience Cloud sin intervención humana — las mismas configuraciones erróneas que ShinyHunters explota desde 2025, ahora gobernadas por un modelo.
¿Qué es esto?
El 8 de junio de 2026, el equipo de investigación de Reco publicó un análisis que describe un agente LLM autónomo que ejecuta una evaluación de seguridad de extremo a extremo de sitios de Salesforce Experience Cloud. Le proporciona una URL; enumera la superficie de ataque, clasifica lo que parece sensible, fuzzea los métodos del lado del servidor, escribe un exploit funcional, lo ejecuta y luego revalúa él mismo la gravedad de sus hallazgos — sin guía humana una vez fijado el objetivo.
La técnica contra la plataforma no es nueva. Desde septiembre de 2025, el grupo ShinyHunters explota la misma superficie — perfiles de usuario invitado de Experience Cloud mal configurados — reutilizando AuraInspector, una herramienta de línea de comandos que Mandiant publicó el 12 de enero de 2026 para ayudar a los defensores a encontrar fallos de control de acceso. La campaña se hizo pública a principios de marzo de 2026 y se le atribuyen entre 300 y 400 organizaciones afectadas. Lo que añade la demostración de Reco es el paso posterior al reconocimiento: dejar que un modelo, y no un humano, conduzca el análisis y la explotación.
Cómo funciona
Experience Cloud expone el framework Aura de Salesforce a visitantes no autenticados. A través de él, un visitante externo puede enumerar objetos de Salesforce (tablas de la base de datos), métodos de controlador Apex (lógica del lado del servidor), rutas públicas y archivos. Las dos debilidades explotadas son antiguas y corrientes: un control de acceso defectuoso a nivel de objeto y de registro (clases Apex declaradas without sharing, perfiles de invitado demasiado permisivos, archivos ContentDocument con visibilidad AllUsers) y la inyección SOQL procedente de consultas construidas por concatenación de cadenas.
El agente de Reco no es un script monolítico, sino un pipeline agéntico de habilidades, cada una a cargo de una fase que seguiría un pentester humano:
Fase Lo que hace el agente
---------------- -----------------------------------------------------------
1. Reconocimiento Enumerar objetos, métodos Apex, rutas y archivos vía Aura
2. Análisis obj. Clasificar tablas por sensibilidad (Contact, Lead > BlogPost)
3. Fuzzing Apex Inferir entradas válidas; sondear la inyección SOQL
4. Explotación Escribir un PoC autónomo, ejecutarlo, validar los datos
5. Gravedad Autorrevisar los hallazgos como un revisor escéptico
El apalancamiento está en las fases 3 a 5. El modelo razona sobre lo que espera un método llamado getContactInfo(email), reutiliza registros ya extraídos para construir entradas válidas y reconoce un oráculo de inyección a partir de un cambio de comportamiento en la respuesta. En un caso anonimizado encontró un método Apex accesible para invitados que devolvía una ficha de contacto completa — nombre, teléfono, cargo, dirección de facturación — para cualquier dirección de correo, y luego pivotó por sí mismo a LinkedIn para recolectar nombres de empleados, adivinar patrones de correo corporativo (nombre.apellido@empresa.com) y validarlos contra el endpoint para compilar una lista de datos personales. Las primitivas de explotación en sí (extracción SOQL booleana a ciegas, comparación carácter a carácter con LIKE) están publicadas desde hace tiempo y no se reproducen aquí.
Por qué importa
El cambio, como en la post-explotación dirigida por LLM, es de coste, no de capacidad. Ninguno de estos fallos es nuevo; lo caro era el tiempo humano para auditar cada portal, leer cada firma de método y elaborar un exploit a medida. Un agente reduce ese coste al presupuesto de inferencia — de modo que la larga cola de configuraciones «poco explotables» que los defensores habían despriorizado pasa a ser económicamente rentable de atacar a escala. ShinyHunters ya demostró la mitad de reconocimiento contra 300 a 400 organizaciones con una herramienta de auditoría reutilizada; acoplar un modelo a la mitad de explotación es el siguiente paso obvio.
La segunda propiedad es la exhaustividad. El agente no pasa por alto un solo parámetro inyectable entre decenas, ni un archivo confidencial enterrado entre cientos, porque lo inspecciona todo de forma sistemática. La «seguridad por oscuridad» — suponer que un método o archivo expuesto es seguro porque es difícil de encontrar — ya no se sostiene cuando quien busca es incansable y barato.
Defensas
- Use variables vinculadas en SOQL, nunca concatenación.
WHERE Id = :blogIden lugar deWHERE Id = '' + blogId + ''. Una corrección de un carácter cierra toda la clase de inyección; los casos de Reco se remontaban todos a consultas dinámicas construidas por concatenación. - Audite las clases Apex
without sharing. Los desarrolladores recurren a ellas porque «todo funciona»; eluden la seguridad a nivel de registro. Usewith sharingpor defecto y justifique cada excepción, sobre todo en clases accesibles para invitados. - Restrinja los permisos del usuario invitado. Trate el perfil de invitado como completamente hostil. Revise los permisos de objetos y campos, el acceso a métodos Apex, y recuerde que «los invitados no ven el sitio» controla el acceso a páginas, no a registros ni a archivos.
- Corrija la visibilidad de
ContentDocument. AjusteContentDocumentLink.Visibilityfuera deAllUsersy desactive «permitir que los invitados vean los archivos de recursos» salvo necesidad real. El agente encontró de forma fiable el único documento confidencial entre cientos de archivos anodinos. - Incluya los sitios de Experience Cloud en el alcance. Muchos programas auditan la aplicación principal pero no el portal conectado. Ejecute el informe de acceso de invitados de Salesforce y AuraInspector de Mandiant contra sus propios sitios antes que el agente de un atacante.
- Asuma un sondeo automatizado y exhaustivo. Las decisiones de aceptación de riesgo que calificaron un fallo como «poco explotable» a mano están desactualizadas; reevalúelas frente a un adversario que lo prueba todo.
Estado
| Elemento | Referencia | Fecha | Notas |
|---|---|---|---|
| Campaña Aura de ShinyHunters pública | Salesforce / Help Net Security | 2026-03 | Perfiles de invitado mal configurados; escaneo desde sept. 2025 |
| Publicación de AuraInspector | Mandiant | 2026-01-12 | Herramienta de auditoría defensiva, luego reutilizada por atacantes |
| Escala reportada | Salesforce Ben | 2026-03 | ShinyHunters reclama de 300 a 400 organizaciones |
| Agente de explotación autónomo | Reco | 2026-06-08 | Pentest agéntico de extremo a extremo, hallazgos divulgados de forma responsable |
Los fallos aquí son de configuración y de código, no un zero-day de plataforma, y los hallazgos de Reco se divulgaron de forma responsable con las organizaciones anonimizadas. La cuestión no es una nueva vulnerabilidad — es que la economía de explotar las antiguas acaba de cambiar.
Sources
- → https://thehackernews.com/expert-insights/2026/06/hacking-salesforce-sites-with-llm-agent.html
- → https://www.helpnetsecurity.com/2026/03/11/shinyhunters-salesforce-aura-data-breach/
- → https://rhisac.org/threat-intelligence/shinyhunters-sf-aura/
- → https://www.salesforceben.com/shinyhunters-breach-400-companies-via-salesforce-experience-cloud/