Automatiza tareas con los bucles de guías

Compatible con:

La función Playbook Loops se centra en los bucles for-each para iterar en listas y ejecutar un conjunto de acciones una vez por cada elemento.

Con los bucles de Playbook, puedes procesar de manera eficiente varios elementos, como entidades, ejecutando una sola acción o una serie de acciones varias veces. Esto elimina la necesidad de personalizar o duplicar acciones de forma manual cuando necesitas realizar pasos repetitivos en varias entidades o en otros tipos de datos. También puedes optimizar los flujos de trabajo colocando bloques dentro de bucles o incorporando bucles dentro de bloques.

Tipos de bucles admitidos

Los bucles de la guía admiten la iteración en los siguientes tipos de datos:

  • Entidades: Puedes iterar sobre una lista de entidades dentro de una alerta.
  • Listas: Puedes iterar en una lista de elementos definida por el usuario o en una lista resuelta de forma dinámica con un marcador de posición.

Estructura tus bucles

Un bucle de la guía consta de un paso Loop Start y un paso Loop End correspondiente. Las acciones que deseas repetir para cada elemento de la lista se colocan entre estos dos pasos.

Inicio del bucle

El paso Loop Start marca el comienzo del bucle y contiene su configuración.

  • Puedes asignarle un nombre a tu bucle en el paso Inicio del bucle. Este nombre se muestra en los pasos Inicio del bucle y Fin del bucle.
  • En este paso, se define el parámetro Loop Over (Entities o List) y se configuran los parámetros específicos para el tipo seleccionado.
  • Este paso te permite configurar el comportamiento del bucle cuando alcanza su límite de iteraciones (actualmente limitado a 100 iteraciones) o cuando se produce un problema.
  • Cuando el bucle se inicia correctamente, aparece una marca de verificación.

Final del bucle

El paso Loop End marca el extremo del bucle.

  • No puedes editar directamente el paso Loop End, ya que su configuración está vinculada al paso Loop Start.
  • Cuando el bucle completa todas sus iteraciones correctamente, el paso Fin del bucle devuelve un estado de éxito (indicado con una marca de verificación) y un resultado JSON incluye la cantidad de iteraciones ejecutadas.
  • Si el bucle se detiene antes de procesar todos los elementos (porque se alcanzó el límite máximo de iteraciones), el resultado JSON incluye una lista de los elementos omitidos.

Cómo definir acciones dentro del bucle

Las acciones ubicadas entre los pasos Loop Start y Loop End se ejecutan de forma repetida. Puedes arrastrar cualquier acción estándar de la guía a esta área, incluidas las acciones y los bloques condicionales.

Bucles que iteran sobre entidades

De forma predeterminada, cuando un bucle itera sobre entidades, las acciones dentro de ese bucle solo se aplican a la entidad actual en cada iteración. La acción procesa una entidad a la vez a medida que avanza el bucle.

En el caso de las acciones que operan en entidades (por ejemplo, VirusTotal - Enrich Hash), la acción se limita automáticamente a la entidad actual dentro del bucle. Los marcadores de posición de entidades que se usan dentro del bucle también hacen referencia solo a la entidad del bucle actual.

Para ilustrar esto, considera el siguiente caso de uso: Analiza los hashes y crea tickets para los maliciosos.

Bucles avanzados que iteran sobre entidades

En algunos casos de uso, es posible que necesites acceder a la información de la entidad actual iterada y de otras entidades de alerta. Para lograrlo, desactiva el botón de activación Lock scope to iteration para esa acción de bucle específica.

  • Cuando el botón de activación está activado, los datos de la entidad y los marcadores de posición se restringen solo a la entidad en bucle actual.
  • Cuando el botón de activación está desactivado, los datos y los marcadores de posición de la entidad pueden acceder a todas las entidades de alerta, según la configuración del menú Entidades.
    • Usa marcadores de posición Entity para acceder a los datos de la entidad en toda la alerta.
    • Usa Loop.Entity para hacer referencia solo a la entidad actual en bucle.

Para ilustrar esto, considera el siguiente caso de uso: Crea tickets de prioridad para archivos maliciosos según el cargo del usuario.

Bucles que iteran en listas

Un bucle puede ejecutar un conjunto de acciones para cada elemento de una lista definida, en la que puedes hacer lo siguiente:

  • Define la lista directamente o usa un marcador de posición que se resuelva en una lista.
  • Personaliza el delimitador según tus necesidades (por ejemplo, una coma o una barra).
  • Haz referencia al elemento iterado con el marcador de posición Loop.item.

Para ilustrar esto, considera el siguiente caso de uso: Notificar a los usuarios sobre contraseñas filtradas.

Trabaja con bloques dentro de bucles

Puedes incluir bloques de guías directamente en un bucle. Cuando un bloque se arrastra a un bucle, sus acciones se ejecutan una vez para cada elemento o entidad que procesa el bucle.

Si el bucle itera sobre entidades, el bloque incluye un botón de activación Lock scope to iteration. Este botón de activación controla cómo las acciones dentro de la entidad de bloqueo acceden a los datos:

  • Activado: Todos los pasos dentro del bloque se limitan a la entidad actual en esa iteración específica del bucle. Esto garantiza que los marcadores de posición y las acciones de entidades del bloque solo operen sobre los datos pertinentes para esa iteración.
  • Desactivado: Los pasos dentro del bloque tienen acceso a todas las entidades de alerta. El bloque recibe todas las entidades de la alerta, no solo la que procesa el bucle principal. En este caso, se muestran marcadores de posición loop.entity en el menú y se pueden usar para acceder solo a la entidad iterada.

Trabaja con bucles dentro de bloques

Puedes colocar bucles dentro de los bloques de la guía para realizar tareas repetitivas como parte de la lógica del bloque. Esto te permite iterar sobre elementos o entidades dentro de una sección con alcance del manual.

Configurar un bucle dentro de un bloque sigue el mismo proceso que configurar cualquier otro bucle en una guía.

Para obtener más detalles, consulta Cómo configurar acciones de Playbook Loop.

Configura acciones de bucle de la guía

Para configurar las acciones de Playbook Loop, sigue estos pasos:

  1. En el menú Navegación, ve a Respuesta > Playbooks.
  2. Abre el manual que quieras modificar o crea uno nuevo.
  3. Haz clic en + Abrir selección de pasos.
  4. Haz clic en la pestaña Loops.
  5. Arrastra la acción Para cada bucle al lienzo de la guía. Esto crea automáticamente los pasos Inicio del bucle y Fin del bucle con un área designada para agregar acciones entre ellos.
  6. Configura el Inicio del bucle:
    1. Haz clic en el paso Loop Start para abrir el panel lateral For Each Loop.
      1. En la pestaña Parámetros, selecciona qué repetir (Entidades o Lista).
        • Entidades: Selecciona el alcance de la entidad (Todas las entidades, Entidades sospechosas o alcance personalizado).
        • Lista: En el campo Artículos, ingresa tu lista de artículos, ya sea de forma manual o con un marcador de posición. Define el delimitador (por ejemplo, una coma o una barra) para separar los elementos.
      2. En la pestaña Configuración, configura el comportamiento del bucle:
        • Tipo de acción: Elige entre Automática (comienza de inmediato) o Manual (requiere la acción del usuario).
        • Si el paso falla o se superan las iteraciones máximas: Selecciona si el bucle debe Omitir los elementos restantes y continuar, o bien Detener la guía.
  7. Agrega acciones antes o después del bucle para preparar los datos o procesar los resultados del bucle.

Limitaciones

Las vinculaciones de aprobación no se admiten en los bucles de los playbooks.

Trabaja con vistas y bucles de guías

En esta sección, se explica cómo los widgets personalizados y prediseñados muestran información de los bucles de la guía en las vistas, y se abarcan aspectos importantes de la visualización de datos generados por los bucles.

Widgets personalizados

Si bien no puedes hacer referencia directamente a marcadores de posición desde los pasos de bucle internos, puedes agregar resultados durante la ejecución del bucle y mostrarlos en el widget. Para mostrar resultados agregados en un widget personalizado, usa valores de contexto dentro del bucle (por ejemplo, usa la acción Append to Context Value del potenciador Tools).

Widgets compilados previamente

Google proporciona widgets prediseñados que se integran sin problemas con las acciones compatibles en el diseñador de guías. Cuando arrastras una acción compatible al diseñador de la guía, el sistema sugiere widgets prediseñados relevantes. Estos widgets se conectan directamente a la acción, incluso cuando se usan dentro de un bucle.

Bucles en el simulador de guías

El simulador de guías ofrece una visualización detallada de las guías que incluyen bucles y bloques. También admite estructuras anidadas, como bucles anidados dentro de bloques y bloques anidados dentro de bucles. En el visor del simulador, los pasos se muestran de arriba hacia abajo (el más antiguo en la parte superior y el más reciente en la parte inferior), con desplazamiento automático para mostrar la actividad más reciente.

Para obtener más información, consulta Cómo trabajar con el Simulador de Playbooks.

Descripción general del caso

Cuando se ejecuta una guía que contiene un bucle, la información sobre su progreso y los resultados de cada iteración se pueden encontrar en varias áreas de la página Casos.

En las siguientes secciones, se describe cómo los widgets, el visualizador de la guía y el Muro de casos presentan información relacionada con estos bucles.

Widgets

Los widgets prediseñados en Case Overview se generan a partir de sus acciones correspondientes. Si la acción se ejecuta dentro de un bucle, el widget se actualiza de forma dinámica para mostrar los resultados de la iteración del bucle más reciente.

Visualizador de guías

Cuando ejecutas una guía con un bucle, puedes hacer un seguimiento de su progreso y los resultados de cada iteración en el visor de la guía. Para acceder a esta función, selecciona la alerta pertinente dentro del caso y haz clic en la pestaña Guías.

El visor del playbook muestra los bucles y los bloques en una estructura jerárquica. Esta organización te ayuda a visualizar el flujo de procesos anidados y a comprender el contexto de cada paso.

En el visor de guías, puedes hacer lo siguiente:

  • Revisa cada iteración, ya que los pasos del bucle se agrupan.
  • Navega entre las iteraciones para examinar los resultados individuales.
  • Selecciona un paso dentro de un bucle para mostrar un número de iteración en el panel lateral.
  • Haz clic en Ver resultados para mostrar el nombre del bucle y el número de iteración.

Muro de casos

Cada resultado de las iteraciones del bucle aparece en el Muro de casos, junto con una indicación del bucle, como el número de iteración. Esto ayuda a hacer un seguimiento de las acciones realizadas durante cada iteración y a diferenciarlas.

Ejemplos de casos de uso

En esta sección, se proporcionan ejemplos prácticos de cómo se pueden usar los bucles de la guía para automatizar diferentes tipos de flujos de trabajo.

Analiza los hashes y crea tickets para los maliciosos

En este caso de uso, sigue estos pasos:

  1. Analiza los hashes de todos los archivos de la alerta con VirusTotal.
  2. Se crea automáticamente un ticket único para cada archivo identificado como malicioso.

Sigue estos pasos para crear un manual:

Para crear un manual, completa los siguientes pasos:

  1. Arrastra la acción VirusTotal - Enrich Hash al panel de la guía y configúrala antes de agregar el bucle.
  2. Arrastra el elemento Para cada bucle al lienzo.
  3. Haz clic en Loop Start.
    1. En la pestaña Parámetros, selecciona Entidades como el tipo de Iteración.
    2. Selecciona Todas las entidades marcadas como sospechosas en el menú Entidades. Este paso garantiza que la ejecución del bucle se limite solo a las entidades marcadas como sospechosas por la acción VirusTotal - Enrich Hash del paso anterior.
  4. Arrastra una acción Create Ticket al bucle. El nombre y la configuración exactos de esta acción varían según la integración del sistema de tickets que se utilice.
  5. En la configuración de la acción Create Ticket, haz lo siguiente:
    1. Ingresa un título para el ticket, como Malicious File Detected.
    2. En el campo Descripción, usa el menú de marcadores de posición para insertar detalles sobre la entidad actual en el bucle (por ejemplo, Entity.Identifier o Entity.Type). Incluye toda la información pertinente del enriquecimiento de VirusTotal, ahora asociada con la entidad sospechosa.

Para cada hash de archivo que VirusTotal identificó como malicioso, se crea un ticket único con los detalles pertinentes.

Crea tickets prioritarios para archivos maliciosos según el cargo del usuario

En este caso de uso, después de identificar archivos maliciosos (como se hizo en el caso de uso anterior), crea un nuevo ticket con diferentes prioridades según si el usuario interno asociado con el archivo tiene un cargo que contiene "CEO".

Antes de comenzar, asegúrate de haber completado los pasos iniciales del caso de uso anterior:

  • Una acción VirusTotal - Enrich Hash antes del bucle, dirigida a todas las entidades de hash de archivo.
  • Una acción de bucle For Each que itera sobre las entidades con el alcance establecido en Todas las entidades marcadas como sospechosas.

Para crear tickets de prioridad para archivos maliciosos, completa los siguientes pasos:

  1. Agrega una acción condicional dentro del bucle.
    1. Desactiva el botón de activación Bloquear alcance para la iteración para permitir el acceso a otras entidades de alerta además de la entidad en bucle.
    2. Selecciona Usuarios internos en el menú Entidades.
    3. Configura la condición para verificar si Entity.job contiene CEO. Esta acción establece la prioridad en CRITICAL.
    4. Usa la rama ELSE para controlar una situación en la que no se involucra el CEO (esto establecerá la prioridad en ALTA).
  2. Arrastra una acción Create Ticket a la primera rama:
    1. Crea el título (por ejemplo, CRITICAL: Malicious File Detected - Potential CEO Impact).
    2. Configura la prioridad del incidente como CRITICAL.
    3. En el campo Description, incluye detalles relevantes sobre el usuario y la información del enriquecimiento de VirusTotal.
  3. Arrastra otra acción Create Ticket a la rama ELSE:
    1. Crea el título (por ejemplo, Attention: Malicious File Detected).
    2. Configura la prioridad del incidente como ALTA.
    3. En el campo Description, incluye detalles relevantes sobre el usuario y la información del enriquecimiento de VirusTotal.

Para cada archivo malicioso, el manual verifica el cargo del usuario interno asociado. Si el título contiene CEO, se crea un ticket de prioridad CRITICAL. De lo contrario, crea un ticket de prioridad ALTA.

Notifica a los usuarios sobre las contraseñas filtradas

Una solución de detección de filtración de datos proporciona una lista de nombres de usuario (direcciones de correo electrónico) cuyas contraseñas se vieron comprometidas en una filtración de datos reciente. Quieres enviar una notificación por correo electrónico personalizada a cada usuario afectado, en lugar de enviar un solo correo electrónico a todos los usuarios. La lista de usuarios afectados está disponible en el campo alert.affected_users.

Sigue estos pasos para crear un manual:

  1. Arrastra una acción de bucle For Each al lienzo de la guía.
  2. Haz clic en el paso Loop Start.
    1. En la pestaña Parámetros, selecciona Lista como el tipo de Iteración.
    2. En el campo Items, usa el marcador de posición alert.affected_users.
  3. Si la lista en alert.affected_users usa un delimitador que no sea una coma, actualiza ese delimitador en el campo Delimitador.
  4. Arrastra la acción Correo electrónico - Enviar correo electrónico al bucle.
  5. En la configuración de la acción Email - Send Email, haz lo siguiente:
    1. En el campo Recipients, usa el marcador de posición Loop.Item. Cuando el bucle de lista itera sobre la lista alert.affected_users, el marcador de posición Loop.Item representa la dirección de correo electrónico actual que se está procesando, de modo que cada usuario recibe un correo electrónico único.
    2. Configura el Asunto y el Contenido del correo electrónico para informar al usuario sobre la contraseña vulnerada.

Cada usuario (dirección de correo electrónico) de la lista de alert.affected_users recibe una notificación por correo electrónico personalizada sobre su contraseña vulnerada.

¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.