Manipulación de precios en el checkout
Un checkout pulido aún confía en un precio enviado por el navegador.
Navegador → servicio de precios
Notas de implementación
Autorizar un pedido contra un catálogo de confianza. Los valores del cliente pueden expresar intención, pero no pueden establecer el dinero adeudado. Volver a verificar descuentos y moneda en el servidor. Este ejemplo combina la manipulación de precios con una selección de producto no admitida.
Una página de éxito no es prueba de pago
La interfaz dice “pagado” antes de que exista un evento de pago confiable.
URL de retorno → almacén de derechos
Notas de implementación
Una redirección es navegación, no evidencia. Resolver el pedido en el lado del servidor y confirmar su propietario, monto, moneda y estado de pago. Los métodos de pago retrasados necesitan estados pendientes. Los reembolsos y disputas necesitan políticas de derechos explícitas.
Webhooks falsificados y repetidos
Un endpoint de evento confía en una carga útil y concede acceso dos veces.
Proveedor de pagos → webhook → registros
Notas de implementación
Los eventos del proveedor pueden duplicarse o llegar desordenados. Autenticar la solicitud sin procesar antes de analizar el significado comercial. Un libro de eventos debe sobrevivir a la entrega paralela; una bandera de lectura y luego escritura es insuficiente. Verificar el pedido así como el evento.
Administrador autoasignado
Un campo de perfil editable se convierte en un permiso.
Perfil → identidad de confianza → API protegida
Notas de implementación
La autenticación identifica a un llamador; la autorización determina lo que pueden hacer. Los controles ocultos no protegen las API. Rechazar campos de perfil privilegiados y evaluar permisos en el límite de la acción, incluidas las tareas en segundo plano.
Factura de otro cliente
Un identificador de registro cambiado cruza un límite de organización.
Sesión → inquilino → registro
Notas de implementación
Utilice dos cuentas ordinarias en organizaciones distintas. Pruebe registros directos, listas, exportaciones y escrituras. Nunca acepte un identificador de inquilino como prueba de membresía. Los clientes de bases de datos administrativas omiten las reglas y requieren verificaciones explícitas del servidor.
Registros públicos y archivos privados
Las reglas de la base de datos y los permisos de carga son límites separados.
Visitante anónimo → base de datos y almacenamiento
Notas de implementación
Asegurar tablas no asegura el almacenamiento de objetos. Revisar la lista, descarga, carga y expiración de URL firmadas por separado. Un identificador de cliente público no es un secreto de administrador; las políticas amplias son la vulnerabilidad en este ejemplo.
Una clave expuesta sigue siendo peligrosa
Eliminar un secreto del navegador no revoca una copia anterior.
Paquete público → servicio privilegiado
Notas de implementación
Inspeccionar activos construidos e historial del repositorio. Mantener las claves privilegiadas en el servidor con el menor privilegio. Eliminar un archivo no es revocación. Los mapas de origen no son intrínsecamente secretos: revisar su contenido en lugar de afirmar que cada mapa de origen es una vulnerabilidad.
Cargas no confiables y contenido renderizado
Una etiqueta de archivo y texto formateado se aceptan sin validación.
Carga → validación del servidor → renderizado
Notas de implementación
La validación del navegador es una conveniencia. Validar en el servidor y tratar los nombres de archivo, las declaraciones MIME y el contenido generado como no confiables. Una función de obtención de URL también necesita restricciones de red separadas. Este ejemplo no ejecuta ningún contenido cargado.
Solicitudes ilimitadas y costos de IA
Un endpoint público no tiene límites de solicitud ni límites de gasto.
API pública → presupuesto de carga de trabajo
Notas de implementación
Los límites de tasa y las cuotas responden a diferentes preguntas: qué tan rápido y cuánto. Aplicar controles antes de las llamadas al modelo o trabajos costosos. Las implementaciones distribuidas requieren contadores compartidos y una política de fallas definida. No confíe en un enfriamiento del navegador.
Dos compras, un crédito
Ambas solicitudes paralelas pasan una verificación de saldo no atómica.
API → libro mayor de crédito → cumplimiento
Notas de implementación
Una clave de idempotencia no reemplaza la corrección del saldo, y una transacción no identifica una compra lógica reintentada. Probar solicitudes paralelas en el límite con un crédito restante. Confirmar el libro mayor y el estado del negocio de manera consistente.
Un documento solicita una exportación de clientes
Instrucciones no confiables dirigen una herramienta hacia datos sensibles.
Documento externo → agente → herramienta autorizada
Notas de implementación
Un filtro de prompt no puede garantizar la autorización de la herramienta. Separar las instrucciones de confianza del contenido recuperado, restringir los argumentos de la herramienta y los destinos de salida, y vincular las aprobaciones a la acción exacta. Esta simulación ilustra una exportación dentro de un flujo de trabajo con alcance que aún requiere aprobación.
Un lanzamiento arriesgado sin señal
Un lanzamiento omite las verificaciones de dependencia y los fallos del administrador pasan desapercibidos.
Pipeline de lanzamiento → tiempo de ejecución → monitoreo
Notas de implementación
Un hallazgo de escáner necesita contexto y propiedad de remediación. Una alerta es útil solo cuando alguien puede actuar sobre ella. Proteger los registros de secretos y el exceso de datos personales. El monitoreo detecta y apoya la respuesta; no elimina automáticamente todas las vulnerabilidades.