Slack no incorpora cifrado de extremo a extremo en sus mensajes, pero un desarrollador ha demostrado que es posible implementarlo aprovechando una funcionalidad poco explotada de la plataforma: los bloques de vídeo de Block Kit. El proyecto, de código abierto y publicado en GitHub bajo el nombre e2ee-slack, convierte Slack en un canal de comunicación cifrada entre usuarios sin que el servidor llegue a ver el contenido en claro.
La idea parte de un hallazgo técnico: el bloque de vídeo de Slack admite cualquier URL que responda con un código 2xx o 3xx, sin verificar que se trate realmente de un vídeo. En la práctica funciona como un iframe genérico capaz de ejecutar código arbitrario. El autor, v1ctorio, construyó sobre esta base una aplicación que utiliza ese iframe como entorno de ejecución local para las operaciones criptográficas.
El flujo de uso es el siguiente. Al registrarse, el cliente genera un par de claves en el navegador mediante las API nativas de Web Crypto. La clave privada, protegida con una contraseña, se almacena cifrada en el servidor. Cuando un usuario envía un mensaje con el comando /e2ee send, la aplicación genera un identificador único (slug) que se asocia a la clave privada del autor y a las claves públicas de los destinatarios. Al hacer clic en el bloque de vídeo, se carga un cliente local que descifra la clave privada en el navegador, redacta el mensaje, lo cifra para cada destinatario y lo firma digitalmente. Solo el texto cifrado viaja por Slack.
Para la criptografía, el proyecto recurre a openpgpjs, la biblioteca de cifrado OpenPGP mantenida por Proton. La aplicación está escrita en TypeScript y puede autoalojarse en unos cinco minutos sobre cualquier espacio de trabajo de Slack, aunque el propio autor reconoce que se trata de un hack que no cumple todas las restricciones de diseño de los bloques de vídeo de Slack. El hallazgo reabre el debate sobre si servicios de mensajería como Slack, Discord o Telegram deberían permitir aplicaciones completas dentro de sus clientes, al estilo de las Activities de Discord o las Mini Apps de Telegram.
