Permisos de proveedores
Controla lo que los scripts de cada proveedor pueden hacer en tu sitio. Aprende qué cubre cada permiso y qué previene bloquearlo.
La vista Dependencies (dependencias) en el dashboard de cside muestra cada proveedor y dominio que entrega scripts a tu sitio. Abre un proveedor para ver su cuadricula de permisos, organizada en seis categorias: Resource types, Sensitive APIs, Storage, Event listeners, Form field access y Other. Cada capacidad tiene un control Allow y otro Block; cuando no se elige ninguno, el permiso queda sin definir y el proveedor mantiene su comportamiento por defecto.
Esta pagina explica cada permiso, que cubre y que previene bloquearlo.
Como funcionan los permisos
Cada permiso tiene tres estados:
- Allow (marca verde): los scripts del proveedor pueden usar esta capacidad.
- Block (escudo rojo): cside impide que los scripts del proveedor usen esta capacidad.
- Unset (por defecto): el proveedor mantiene su comportamiento normal y cside sigue monitoreando lo que hace. Al pasar el cursor sobre un control seleccionado aparece Clear; haz clic en el para devolver el permiso a este estado.
Los permisos se aplican por proveedor, para todo tu equipo. Cuando un script no coincide con un proveedor conocido, puedes establecer los mismos permisos en su dominio.
Cuando bloqueas un permiso, cside aplica tu decision en el navegador. Los intentos bloqueados se siguen registrando, asi que puedes ver lo que un proveedor intento hacer despues de restringirlo.
Piensa en los permisos como minimo privilegio para terceros: cada proveedor solo obtiene las capacidades que necesita para hacer su trabajo.
La insignia “Used”
Junto a un permiso, una insignia azul Used significa que cside ha observado que los scripts de ese proveedor realmente usaron esa capacidad. Es solo informativa: no cambia ni establece el estado Allow/Block, y una capacidad puede estar Unset y aun asi mostrarse como Used. Usala junto con “Revisa el comportamiento registrado del proveedor” mas abajo para decidir que es seguro bloquear.
Tipos de recursos
Estos permisos controlan lo que los scripts de un proveedor pueden cargar, incrustar o ejecutar en tus paginas.
| Permiso | Que cubre | Que previene bloquearlo |
|---|---|---|
| JavaScript | Cargar y ejecutar JavaScript, incluido codigo adicional cargado en tiempo de ejecucion con etiquetas script | Impide que el proveedor cargue codigo nuevo y no revisado despues de que la pagina carga. Asi es como un proveedor comprometido tipicamente escala un ataque. |
| Network requests | Enviar y obtener datos por la red con fetch y XHR | Impide que el proveedor envie datos fuera del navegador hacia sus propios servidores. Este es el canal principal para la exfiltracion de datos. |
| Frames | Incrustar iframes y otras paginas anidadas | Impide superposiciones de iframes ocultos, avisos falsos de inicio de sesion e inyeccion de UI estilo clickjacking. |
| Objects | Incrustar contenido de plugins como <object> y <embed> | Impide contenido de plugins heredados, una via de inyeccion antigua pero todavia abusada. |
| Workers | Ejecutar web workers y service workers | Impide scripts en segundo plano que se ejecutan fuera de vista, interceptan solicitudes o siguen trabajando despues de que el usuario abandona la pagina. |
| Media | Cargar audio y video | Impide cargas de audio o video no deseadas, incluyendo medios usados para rastreo o fraude publicitario. |
| Stylesheets | Cargar hojas de estilo CSS externas | Impide la inyeccion de estilos que puede ocultar elementos de la pagina, superponer UI falsa o filtrar datos escritos a traves de selectores CSS. |
| Prefetch | Precargar recursos (prefetch y preload) | Impide la carga especulativa de recursos del proveedor, que puede filtrar senales de navegacion antes de que un usuario interactue. |
| Manifests | Cargar manifests de aplicaciones web | Impide que el proveedor suministre un manifest que cambie como tu sitio se instala o se comporta como aplicacion. |
| Images | Cargar imagenes externas | Impide cargas de imagenes, incluyendo pixeles de rastreo: imagenes diminutas usadas para enviar datos hacia afuera. |
| Fonts | Cargar fuentes externas | Impide cargas de fuentes desde el proveedor, un canal silencioso para rastreo y fingerprinting. |
APIs sensibles
Estos permisos controlan el acceso al hardware del dispositivo y a las APIs del navegador que convierten cadenas de texto en codigo en ejecucion.
| Permiso | Que cubre | Que previene bloquearlo |
|---|---|---|
| Camera | Acceso a la camara del dispositivo | Impide que los scripts soliciten acceso a la camara, asi los usuarios nunca ven un aviso que podrian aceptar por error. |
| Screen capture | Grabar la pantalla o una ventana | Impide que los scripts soliciten grabacion de pantalla, que puede exponer cualquier cosa visible en la pantalla del usuario. |
| Location | Leer la ubicacion geografica del visitante | Impide que los scripts soliciten la ubicacion fisica de tus usuarios. |
| Microphone | Acceso al microfono del dispositivo | Impide que los scripts soliciten acceso al microfono y graben audio. |
| Eval | Ejecutar cadenas como codigo con eval() | Impide una tecnica de ofuscacion habitual: los skimmers suelen esconder su carga real en una cadena y ejecutarla con eval(). |
| Function constructor | Ejecutar cadenas como codigo con el constructor Function | Impide la otra via principal para ejecutar una cadena como codigo, cerrando el hueco que queda cuando solo se bloquea eval(). |
| document.write | Reescribir la pagina con document.write | Impide que el proveedor inyecte marcado y scripts arbitrarios directamente en el documento mientras carga. |
| Inline frames | Inyectar contenido de frames inline mediante srcdoc | Impide que el proveedor cree frames cuyo contenido procede de una cadena en lugar de una URL, una forma de colar codigo que ninguna lista de hosts permitidos cubre. |
Almacenamiento
Estos permisos controlan el acceso a los datos almacenados en el navegador.
| Permiso | Que cubre | Que previene bloquearlo |
|---|---|---|
| Cookies | Leer y escribir cookies | Impide que el proveedor lea identificadores de sesion o tokens, y que coloque sus propias cookies de rastreo. |
| Local storage | Leer y escribir almacenamiento persistente del navegador | Impide el acceso a datos persistentes, que a menudo incluyen identificadores de usuario e informacion personal en cache. |
| Session storage | Leer y escribir almacenamiento por pestana del navegador | Impide el acceso a los datos de sesion por pestana, como el estado de una compra en curso. |
| IndexedDB | Leer y escribir bases de datos IndexedDB | Impide el acceso a bases de datos estructuradas del navegador, donde las aplicaciones a menudo almacenan en cache conjuntos mas grandes de datos de usuario. |
Escuchas de eventos
Estos permisos controlan si un proveedor puede observar como los usuarios interactuan con tus paginas.
| Permiso | Que cubre | Que previene bloquearlo |
|---|---|---|
| Clicks | Rastrear donde hacen clic los visitantes | Impide el rastreo de clics en tus paginas, incluyendo la captura de lo que los usuarios tocan y seleccionan. |
| Keystrokes | Rastrear lo que escriben los visitantes | Impide el registro de teclas (keylogging). Un script que escucha las pulsaciones de teclas puede capturar todo lo que un usuario escribe, incluyendo credenciales y numeros de tarjeta. |
Acceso a campos de formulario
Estos permisos controlan que campos de formulario pueden leer los scripts de un proveedor. Son centrales para prevenir el robo de datos de formularios, incluyendo el skimming estilo Magecart, y respaldan los requisitos 6.4.3 y 11.6.1 de PCI DSS 4.0.1 para paginas de pago.
| Permiso | Que cubre | Que previene bloquearlo |
|---|---|---|
| Email fields | Campos de direccion de correo electronico | Impide la recoleccion de las direcciones de correo que escriben tus usuarios. |
| File uploads | Campos de subida de archivos | Impide el acceso a los archivos que los usuarios adjuntan, como documentos de identidad o estados de cuenta. |
| Password fields | Campos de contrasena | Impide el robo de credenciales desde formularios de inicio de sesion y registro. |
| Hidden fields | Campos de formulario ocultos | Impide la lectura de inputs ocultos, que a menudo contienen tokens de sesion, tokens CSRF o IDs internos. |
| Address fields | Campos de direccion | Impide la recoleccion de direcciones de domicilio y de envio. |
| Search fields | Campos de busqueda | Impide la captura de lo que los usuarios buscan en tu sitio. |
| Phone fields | Campos de numero de telefono | Impide la recoleccion de numeros de telefono. |
| URL fields | Campos de URL | Impide la lectura de las URLs que los usuarios ingresan en formularios. |
| Name fields | Campos de nombre | Impide la recoleccion de nombres personales. |
| One-time codes | Campos de codigos de inicio de sesion de un solo uso | Impide el robo de codigos de un solo uso, que los atacantes usan para evadir la MFA. |
| Birthday fields | Campos de fecha de nacimiento | Impide la recoleccion de fechas de nacimiento, un dato clave para el robo de identidad. |
| Sex/gender fields | Campos de sexo y genero | Impide la recoleccion de datos demograficos sensibles. |
| Credit card fields | Campos de tarjeta de credito | Impide el skimming de tarjetas: scripts que leen los numeros de tarjeta mientras los usuarios los escriben al pagar. |
| Non-sensitive form access | Campos de formulario que no contienen datos sensibles | El permiso general de formularios. Bloquearlo impide que el proveedor lea campos de formulario no cubiertos por uno de los permisos mas especificos anteriores. |
Otros
| Permiso | Que cubre | Que previene bloquearlo |
|---|---|---|
| Notifications | Mostrar notificaciones del navegador | Impide los avisos de notificaciones y el spam push del proveedor. |
| Full screen | Cambiar la pagina al modo de pantalla completa | Impide tomas de control en pantalla completa usadas para imitar la UI del navegador en superposiciones de phishing. |
| Payments | Abrir el dialogo de pago del navegador | Impide que el proveedor invoque la interfaz de pago del navegador o sondee las capacidades de pago. |
| Browser history | Cambiar el historial de navegacion del visitante | Impide la manipulacion de URLs que puede disfrazar la pagina en la que realmente esta un usuario o atrapar el boton de retroceso. |
| Clipboard | Leer y escribir en el portapapeles | Impide que los scripts lean lo que los usuarios copiaron en otro lugar, como contrasenas o direcciones de wallets, y el secuestro del portapapeles, como cambiar una direccion de pago copiada por la de un atacante. |
| Send messages | Enviar mensajes entre frames con postMessage | Impide que el proveedor pase datos a otros frames, una forma habitual de mover datos robados a un iframe controlado por un atacante. |
| Receive messages | Escuchar mensajes entre frames | Impide que el proveedor reciba instrucciones o datos de otros frames de la pagina. |
| Worker messages | Intercambiar mensajes con web workers | Impide que el proveedor mueva datos hacia y desde workers en segundo plano, donde es mas dificil observarlos. |
Como elegir que bloquear
No necesitas tomar 40 decisiones por proveedor el primer dia. Un enfoque practico:
- Empieza con las capacidades que el proveedor no tiene razon de usar. La mayoria de los proveedores nunca requieren pulsaciones de teclas, campos de contrasena, campos de tarjeta de credito,
eval()o el portapapeles. Bloquearlos rara vez afecta la funcionalidad. - Revisa el comportamiento registrado del proveedor. La vista Dependencies muestra lo que cada proveedor realmente hace en tu sitio. Si un proveedor nunca ha usado una capacidad, bloquearla conlleva poco riesgo.
- Restringe las paginas donde estan los datos. En los flujos de pago e inicio de sesion, prioriza los permisos de campos de formulario y Keystrokes.
- Observa los reportes despues de bloquear. Los intentos bloqueados se siguen registrando. Un proveedor que intenta repetidamente algo que bloqueaste merece ser investigado.
Si todavia no ves Dependencies en tu dashboard, se esta implementando gradualmente. Contacta a support@cside.dev para habilitarlo para tu equipo.
Paginas relacionadas
- Deteccion de amenazas: como cside identifica scripts maliciosos automaticamente
- Deteccion de vulnerabilidades: como cside marca scripts con vulnerabilidades conocidas
- PCI DSS / PCI Shield: requisitos de scripts para paginas de pago
- Registros de auditoria: rastrea los cambios de configuracion hechos por tu equipo
Thanks for your feedback!