flawopen.com/Incidents/ai-agent-retail-skimming-campaign-september-2026
Campaña de skimming minorista con IA: informe de Gambit
Gambit informa de ataques con IA a comercios en línea dirigidos por personas. Separamos pruebas de afirmaciones no verificadas y explicamos defensas.[1]
Imagina a una persona que atiende una tienda y construye una instrucción de búsqueda pegando en ella el texto del campo de correo de un visitante. Una solicitud preparada puede cambiar la instrucción, revelar el código temporal guardado en la ficha de un cliente y permitir que alguien lo presente en la puerta de administración. Una consulta parametrizada hace que el correo se trate solo como el dato que se busca, nunca como parte de la instrucción. El informe describe una cadena de SQL injection hasta el panel administrativo; no afirma que todas las víctimas siguieran esa ruta.[1], [5]
Conceptos Clave y Términos
Entorno de agente de IA- Software que proporciona herramientas, estado de tarea y permisos para que un modelo actúe. Gambit dice que el operador usó Strix para buscar vulnerabilidades, Cairn para proyectos de explotación y Hermes para orquestar; una persona daba instrucciones.
Skimmer de pago- Código o contenido no autorizado que captura datos de pago durante el checkout. Protegerlo exige controlar cada ruta de código, configuración, caché, almacenamiento e implementación que pueda cambiar lo que reciben los clientes.
CWE-89 (SQL injection)- Una entrada no confiable altera el significado de una instrucción SQL. Gambit describe un proyecto documentado que comenzó con SQL injection; esta CWE no clasifica todas las intrusiones de la campaña.
Confianza en las pruebas- Gambit afirma que combinó artefactos recuperados del servidor, skimmers verificados en sitios y registros o afirmaciones de agentes. Advierte que su reconstrucción provisional es incompleta y puede contener imprecisiones.
Nivel de gravedad- La etiqueta Crítica de FlawOpen es una valoración editorial del impacto, no una puntuación CVSS; no se asigna puntuación CVSS.
Mapeos de marcos
- Referencia CWE para la debilidad descrita en esta guía: CWE-89
- OWASP Top 10:2025 — A01:2025 Broken Access Control
- OWASP Top 10:2025 — A05:2025 Injection
Cronología del Incidente
Según Gambit, la campaña con motivación económica comenzó y seguía activa cuando publicó su informe provisional.[1]
Gambit informa de 105 proyectos de ataque y al menos 27 empresas comprometidas en distintos grados; algunas afirmaciones no pudieron verificarse de forma independiente.[1]
Gambit publicó su reconstrucción e informó de pruebas con más de 600.000 registros vigentes de dos víctimas y skimmers verificados en algunos sitios afectados.[1]
Flujo de Ataque Paso a Paso
Una persona dirige las herramientas de agentes
Los registros recuperados por Gambit describen tres entornos para buscar vulnerabilidades, ejecutar tareas de intrusión y orquestar la campaña. El informe también registra instrucciones humanas; no describas la operación como independiente de una persona.[1]
Una ruta documentada cruza un límite de autenticación
En un proyecto, Gambit informa que una SQL injection expuso los datos de códigos de un solo uso de una cuenta y permitió acceder a una interfaz administrativa. Es una cadena descrita, no una secuencia universal ni un hallazgo verificado en el código fuente.[1]
El acceso alcanza sistemas conectados
El ejemplo de Gambit continúa con un fallo de carga de archivos y acceso al host hacia otros sistemas y secretos. La cadena exacta varió; este resumen omite pasos operativos y no afirma que todas las etapas ocurrieran en cada víctima.[1]
Se ven afectados el checkout y los datos de clientes
Gambit informa de skimmers en algunas tiendas y de la recuperación de más de 600.000 registros vigentes de dos víctimas. También describe una limpieza que borró por error 180 tablas de un comercio. Atribuye estos hallazgos al informe.[1]
La contención debe abarcar integridad y recuperación
La respuesta debe identificar el acceso inicial, revocar credenciales expuestas, restaurar activos confiables del checkout, revisar cambios en bases de datos, avisar a los socios de pago cuando corresponda y validar la recuperación desde copias limpias.
Código Fuente: Vulnerable vs. Seguro
Este ejemplo genérico de Python ilustra únicamente el límite CWE-89 de una cadena descrita por Gambit; no es código de una víctima y no accede a la red ni al sistema de archivos. La concatenación permite que la entrada altere la sintaxis de la consulta. Una consulta parametrizada mantiene fija la estructura SQL y suministra el correo como valor. La autenticación de producción también debe evitar almacenar códigos de un solo uso en texto claro, exigir autorización del servidor para cada acción privilegiada y usar una cuenta de base de datos con privilegios mínimos. Parametrizar corrige este límite de consulta, pero no repara otras vías de entrada ni un host ya comprometido. El marcador ? sigue el estilo qmark de Python sqlite3; otros controladores pueden requerir otra sintaxis.[1], [5]
def find_account(conn, email):
# Solo es un ejemplo genérico; no es código recuperado de una víctima.
sql = "SELECT id FROM customers WHERE email = ' " + email + " ' "
return conn.execute(sql).fetchone()
def find_account(conn, email):
# Vincula la entrada como dato para que no pueda cambiar la estructura SQL.
sql = "SELECT id FROM customers WHERE email = ?"
return conn.execute(sql, (email,)).fetchone()
Lista de Verificación de Seguridad para Ingeniería
- ✓Usa SQL parametrizado para cada valor; añade una prueba CI con comillas y delimitadores y verifica que se tratan como datos, no como estructura de consulta.
- ✓Almacena los códigos de un solo uso únicamente como verificadores de corta duración y uso único; no los hagas legibles desde consultas de cuenta, registros, copias de seguridad ni interfaces de soporte.
- ✓Exige autorización en el servidor para cada ruta administrativa y operación de carga; prueba cada ruta con identidades no autenticadas y de menor privilegio.
- ✓Protege la integridad del checkout con despliegues revisados y firmados; alerta sobre cambios en scripts, plantillas, gestores de etiquetas, objetos CDN, cachés y contenido de páginas en la base de datos.
- ✓Aísla y limita las credenciales de base de datos, nube, CI y pagos; rota los secretos ante una posible exposición y audita su uso.
- ✓Mantén copias inmutables y aisladas y ensaya su restauración; verifica el checkout, la integridad de la base de datos y los pagos antes de volver al servicio.
Fuentes
- Gambit Security — AI Agents Are Hacking Online Retailers for $25 a Company (informe provisional, 2026-09-22)
- Forbes — A Chinese hacker used AI to attack more than 100 companies (2026-09-22)
- SecurityWeek — AI-Powered Campaign Targets Hundreds of Online Retailers (2026-09-24)
- TechRadar — Massive Chinese hack uses AI agents to steal over 600,000 credit cards (2026-09-24)
- MITRE CWE-89 — Improper Neutralization of Special Elements used in an SQL Command