En este blog, vamos a crear una aplicación Slack que nos permita interactuar con API Faraday utilizando su conocido Comandos Slash.
Esto permite flexibilidad para realizar diversas tareas y consultas de seguridad directamente desde Slack. Proporcionar visibilidad de los datos y la funcionalidad de Faraday dentro del entorno de Slack. Ayudando a los equipos de seguridad a mantenerse informados.
Para ello, necesitamos lo siguiente:
- Necesitamos permisos sobre un espacio de trabajo de Slack para crear nuestra nueva aplicación Slack.
- Necesitamos una instalación Faraday ya en funcionamiento.
- Necesitamos un usuario Faraday dedicado para este bot de Slack. Podríamos utilizar un usuario ya creado, pero no lo recomendamos.
Paso 1: Creación de nuestra aplicación Slack
Lo primero que tenemos que hacer es entrar en esta URL A continuación, haga clic en el botón Crear una aplicación. Aparecerá una ventana emergente, en la que tendrás que poner el nombre de la aplicación y seleccionar el espacio de trabajo relacionado. A continuación, haga clic en el botón Crear App.
Después de crear nuestra aplicación Slack, tenemos que guardar el archivo Secreto de firma que aparece en el Credenciales de la aplicación porque la utilizaremos más adelante.
Paso 2: Iniciar nuestro servidor faraday-slackbot
Una vez que hayamos creado nuestra aplicación Slack, tenemos que ejecutar y exponer nuestra aplicación faraday-slackbot servidor. Como prerrequisito, necesitamos instalar python 3.7 o superior, pip y virtualenv.
Después de instalar los pre-requisitos, necesitamos clonar el repositorio desde este enlace y ejecutar los siguientes comandos en un terminal:
Ahora que ya tenemos instalado el servidor, podemos ejecutarlo. Es importante decirles que se requieren variables de entorno para realizar esto. Esas variables de entorno se pueden establecer mediante .env con las variables dentro o pasándolas en la misma línea del comando de ejecución.Ejecutar directamente en una línea:
Utilizando .env file:
Nota: En LÉAME.md del repositorio se explica cada parámetro.
Ahora necesitamos exponer a través de Internet este servidor local. Esto es necesario porque Slack ejecutará peticiones a una URL específica que debe ser pública.
Para este blog, utilizamos ngrokporque es una forma fácil de exponer un servidor local, pero recuerda que esto es sólo un ejemplo. Necesitamos ejecutar lo siguiente:
./ngrok http 5000
Después, tenemos que guardar las urls expuestas:
Podemos comprobar que funcionan accediendo a http://11da81e648a8.ngrok.io/health-check y https://11da81e648a8.ngrok.io/health-check y comprobando que responden con el siguiente JSON:

Vamos a utilizar únicamente el https url
Paso 3: Crear nuestro comando slash
Después de crear nuestra aplicación Slack y exponer nuestra aplicación faraday-slackbot servidor, tenemos que ir a la sección Comando Slash en el menú de la izquierda y haga clic en el botón Crear nuevo comando.


A continuación, aparecerá un modal. Los campos obligatorios son el nombre para el comando barra, la URL de la solicitud y el breve descripción.
El nombre será la forma de invocar el comando barra oblicua, en nuestro caso vamos a utilizar /faraday, pero puede utilizar otro si lo desea. El Solicitar URL debe ser el previamente expuesto por nosotros con la ruta /slack.
Así, en nuestro ejemplo, vamos a rellenar estos campos de la siguiente manera:
Después de completar el modal, tenemos que hacer clic en Guardar y nuestro comando barra oblicua se creará y configurará.
Paso 4: Instalar nuestra aplicación en el espacio de trabajo
Después de crear nuestra aplicación Slack y nuestro comando slash, todavía tenemos que instalar en el espacio de trabajo. Para ello, tenemos que ir a la Instalar aplicación en el menú de la izquierda. A continuación, haga clic en el botón, Instale la aplicación en el espacio de trabajo. Después de eso, Slack te preguntará si tu espacio de trabajo da permisos a tu aplicación, por lo que tenemos que hacer clic en Permitir botón. Ahora que ya tenemos todo el entorno funcionando, vamos a probarlo.
Paso 5: Utilizar nuestro nuevo comando de barra oblicua
Ahora vamos a utilizar nuestro comando slash. El primer comando que vamos a ejecutar es /ayudafaraday:
Como puedes ver, el primer comando que tenemos que ejecutar es /faraday ws-set porque todos los comandos siguientes se ejecutarán sobre el espacio de trabajo seleccionado.Así que vamos a ejecutar /faraday ws-set test
Como puede ver, ahora podemos ejecutar los demás comandos. Por ejemplo, podemos ver un resumen del espacio de trabajo prueba ejecutando /resumen de faraday.
Y eso es todo. Este repositorio tiene una interacción básica con Faraday API, pero fue diseñado para crecer y añadir nuevos comandos.Desde ya, todas las sugerencias y pull requests son bienvenidas para mejorar este repositorio.

