- Se descapó
- 17 de septiembre de 2026 a las 3:33 UTC
- Autor
- Kamo
- Compromit
- cb7395f
GET /api/ai/proveedores y GET /api/ai/providers/-id- respondió con la tecla DECRYPTED de cada proveedor. La lista es lo que el seleccionador de modelos de chat de IA de cada miembro carga (y kamo-js / la aplicación móvil), por lo que cualquier miembro de una organización reordenado) necesitaba sólo una sesión, por lo que cualquier miembro también podría apuntar la URL base de un proveedor en su propio servidor y pulse Test, que envía la clave descifrado allí. La pantalla de configuración ya demandaba MANAGE-AI-SETTINGS; la el servidor no. - Ambos leen ahora respuesta haApiKey y enmascaradoApiKey (los últimos cuatro caracteres; una tecla corta o indesciable muestra ninguno de sí mismo). Se reemplaza la máscara en desusoApiKey, que enmascaró el texto cifrado. - Crear, actualizar, eliminar, probar y reordenar respuesta 403 sin MANAGE-AI-SETTINGS (despasss de Dios, como en todas partes). - Actualizar mantiene la clave almacenada a menos que se envíe una no en blanco. El formulario de edición se llenó de la llave devuelta, así que a fila semilla en texto plano (descifras a "") tenía su clave sobrescrita con un en blanco cifrado en cualquier salvado. AiProviderKeyExposureTest conduce el controlador a través de MockMvc con el SessionHelper real: ninguna clave en ninguno de los dos Lea, el estado de la clave informó, mantén en blanco / mecanografiado reemplaza, y los cinco cambios rechazados para un miembro sin la derecha sin nada guardada y sin adaptador llamado. Cinco de sus seis pruebas fallan contra el anterior controlador. El formulario de configuración de kamo-internal deja de esperar la clave en el mismo conjunto de cambios.