Guía Operativa de Seguridad AI

Prev Next

Visión general

Los registros de seguridad de Cato AI registran la actividad del usuario con aplicaciones GenAI y las invocaciones que tus Agentes Propios envían a los modelos que llaman. Los eventos son visibles en la Página de inicio > Eventos de la Aplicación de Gestión de Cato (CMA) y pueden ser enviados a un Sistema de Gestión de Eventos de Seguridad (SIEM), lago de datos, u otra plataforma externa para retención, correlación y alertas.

Los eventos llevan solo metadatos. Las solicitudes y respuestas intercambiadas con el modelo no se almacenan en el evento. Ese contenido se recupera por separado, bajo demanda, de la API GraphQL de Cato por un llamador cuya clave API tiene el permiso requerido.

Investigar una detección de Seguridad AI es, por lo tanto, un flujo de trabajo en dos etapas:

  1. Reenvía eventos a tu SIEM. Configura una Integración de Eventos, filtrada al tipo de evento de Seguridad AI, para que los eventos de Seguridad AI lleguen junto con el resto de tu telemetría de Cato.

  2. Utiliza la API para extraer el contenido sensible de los eventos que lo ameriten. Cuando un evento requiere investigación, consulta la API con los identificadores llevados en ese evento para recuperar la solicitud y la respuesta del modelo.

Nota: Las interacciones de Seguridad AI, incluidas solicitudes y respuestas sensibles, pueden ser revisadas directamente en CMA sin usar la API. Seguridad AI para Aplicaciones > Explorador de Interacciones lista las invocaciones de tus Agentes Propios, y Seguridad AI para Usuarios > Explorador de Sesiones lista las sesiones de usuarios con aplicaciones GenAI. Ambos te permiten profundizar en un registro individual. La API está destinada a investigaciones que comienzan en tu SIEM, y para la recuperación programática.

Eventos Cato

Todos los eventos de Seguridad AI llevan el Tipo de Evento Seguridad AI. El sub-tipo del evento identifica qué parte de la Seguridad AI generó el evento, y determina qué campos lleva el evento y qué consulta API devuelve su contenido. Un explorador de esquemas de eventos interactivo está disponible en Esquema de Eventos Cato.

Módulo CMA

Subtipo de Evento

Descripción

Seguridad de IA para Usuarios

Interacción de Usuario AI

Generado por la actividad del usuario con aplicaciones GenAI.

Seguridad de IA para Aplicaciones

Protección del Tiempo de Ejecución de Aplicaciones

Generado cuando una política de Guardia protege a uno de tus Agentes Propios y toma acción sobre una interacción.

Campos de Interacción de Usuario AI

Campos

Tipo

Descripción

id_cuenta / nombre_cuenta

largo / palabra_clave

Identificador de cuenta Cato y nombre de visualización.

nombre_anuncio / id_usuario / nombre_usuario

palabra_clave / largo / palabra_clave

El usuario de Cato, y su nombre de visualización de Active Directory.

correo_electrónico_vpn

palabra clave

La dirección de correo electrónico del usuario. Este es el campo para filtrar cuando una investigación comienza desde una dirección de correo electrónico.

id_aplicación / nombre_aplicación

palabra clave

La aplicación GenAI, por ejemplo microsoft_copilot / Microsoft Copilot.

tipo_aplicación / categorías

palabra clave

Clasificación de la aplicación, por ejemplo, tipo Sistema y categoría Herramientas de IA Generativa.

nivel_riesgo_app_ai / riesgo_aplicación

palabra_clave / entero

La calificación de riesgo de Cato para la aplicación, como etiqueta y como puntuación numérica.

es_app_nube / es_app_autorizada

booleano

Si la aplicación está alojada en la nube, y si está autorizada para la cuenta.

tipo_actividad_app

palabra clave

La actividad que representa el evento. Valores posibles: Solicitud Web, Solicitud, Detección, Respuesta LLM, Transacción de Archivo, Respuesta de Participación.

id_regla / nombre_regla

palabra clave

La regla de política que coincidió, donde se activó una. Independiente de tipo_actividad_app y no exclusivo de ningún valor.

event_id

palabra clave

Identificador único del evento.

tiempo / tiempo_str

fecha (época ms) / fecha (ISO-8601)

Cuando ocurrió la interacción, en ambas formas.

id_sesión / id_mensaje

palabra clave

Pasado, con id_aplicación, a la consulta sessionConversation. id_mensaje empareja un evento de Solicitud con sus eventos de Detección y Respuesta LLM correspondientes.

id_invocación

palabra clave

Empareja el mismo conjunto de eventos que id_mensaje en un espacio de nombres de identificadores separado, y no es utilizado por ninguna consulta de contenido.

intención_interacción

palabra clave

La intención clasificada detrás de una Solicitud, por ejemplo, obtener información.

tema_interacción / subtema_interacción

palabra clave

El asunto clasificado, por ejemplo, legal / privacidad de datos.

url / url_referido

palabra clave

URL de la página y URL de la página de referencia, donde sea aplicable

file_name

palabra clave

El nombre del archivo transferido. Presente solo cuando el tipo de actividad de la aplicación es Transacción de Archivos.

accion_resultado_compromiso

palabra clave

La acción realizada después de que el usuario responda a un aviso de política de compromiso.

justificación_usuario

palabra clave

La respuesta del usuario a la solicitud de política de compromiso,

event_count

entero

El número de veces que ocurre el registro que representa.

cato_app

palabra clave

El identificador de la aplicación Cato para la aplicación GenAI, por ejemplo, chatgpt.

Nota: No todos los eventos tienen contenido recuperable. session_id y message_id aparecen solo en eventos donde el tipo de actividad de la aplicación es Solicitud, Detección o Respuesta LLM. Los eventos de Solicitud Web y Transacción de Archivos no los llevan.

Campos de Protección de Tiempo de Ejecución de la Aplicación

Campos

Descripción

tipo_evento / sub_tipo_evento

Siempre Seguridad AI / Protección del Tiempo de Ejecución de la Aplicación para estos eventos. Use estos valores para filtrar en su integración o en la página de Eventos.

id_evento / conteo_evento

Identificador único del evento y el número de veces que este registro representa.

tiempo / str_tiempo

Cuando la interacción fue interceptada, como una marca de tiempo de época en milisegundos y una cadena ISO-8601 UTC.

cuenta_id / nombre_cuenta

Identificador de cuenta Cato y nombre para mostrar. account_id es el valor pasado como accountId a las consultas de API.

guardia_id / nombre_guardia

La Guardia que protegió la aplicación y produjo la decisión.

regla_id / nombre_regla

La regla específica de política de la Guardia que coincidió.

acción

El resultado de la aplicación, como Anonimizar, Bloquear o Monitorear.

detectores

Los detectores que se activaron para esta interacción, como un array, por ejemplo, un detector PII.

aplicación_id

El Agente Homegrown que la Guardia está protegiendo.

invocación_id

La clave para investigación. Identifica la interacción específica y es el valor pasado a la consulta de invocación para recuperar la solicitud y respuesta.

session_id

Agrupa las invocaciones que pertenecen a la misma sesión de conversación.

cato_app / es_app_nube / es_app_sancionada

Presente en el evento pero no relevante para las investigaciones de Seguridad AI para Aplicaciones.

Terminología. Lo que CMA llama un Agente Homegrown se refiere como una aplicación en el evento. El campo application_id identifica el Agente Homegrown que la Guardia está protegiendo.

Enviando Eventos a un SIEM

Las Integraciones de Evento transfieren automáticamente los datos del evento Cato a plataformas y destinos de almacenamiento externos, sin exportación manual o sondeo continuo. Las integraciones se configuran en Recursos > Integraciones > Integraciones Configuradas en el CMA. Para una descripción general, consulte Comenzando con Integraciones de Eventos.

Si no hay una integración nativa disponible, se puede utilizar la integración Personalizada HTTP Push para enviar eventos en formato JSON al destino de su elección. Se pueden configurar encabezados personalizados, haciéndolo compatible con una amplia variedad de proveedores. Para obtener más información, consulte Enviando Datos con la Integración HTTP Push Personalizada.

Filtrando durante eventos de Seguridad AI

Cualquiera sea la integración que seleccione, delimítela a eventos de Seguridad AI en lugar de enviar todo el volumen de eventos de la cuenta. Esto se hace en el Filtro de Eventos, que se construye a partir de uno o más grupos de filtro: las condiciones dentro de un grupo se combinan con Y, y los grupos se combinan con O, así que un evento se envía si coincide con cualquier grupo. Cualquier campo del evento está disponible como una condición.

  1. Agrega un grupo de filtro al Filtro de Eventos. En la configuración de la integración, abre el Filtro de Eventos y agrega un grupo de filtro.

  2. Establecer la condición de Tipo de Evento. Campo Tipo de Evento, valor Seguridad AI. Esto delimita el grupo a eventos de Seguridad AI de todos los sub-tipos.
     

  3. (Opcional) Establecer la condición de Sub-Tipo. Campo Sub-Tipo, con los valores Interacción de Usuario AI y Protección del Tiempo de Ejecución de la Aplicación, o solo el requerido por esta integración. Debido a que ambas condiciones están en el mismo grupo, se combinan con Y, por lo que solo los eventos de Seguridad AI de los sub-tipos seleccionados son enviados.

  4. (Opcional) Dirija los dos sub-tipos por separado. Un solo grupo que lleva ambos valores envía ambos sub-tipos al mismo destino. Para enviarlos a diferentes destinos, configure dos Integraciones de Eventos, cada una con un grupo delimitado a un sub-tipo.

  5. Limitar más si es necesario. Se pueden añadir condiciones adicionales al mismo grupo para reducir el volumen. Por ejemplo, se puede añadir un filtro de Nombre de Guardia para solo enviar eventos de Protección del Tiempo de Ejecución de la Aplicación que coinciden con un Guardia particular.
     

Extrayendo Contenido Sensible con la API

Los eventos de Seguridad AI excluyen deliberadamente el contenido de la interacción: no contienen los avisos, las respuestas del modelo o cualquier dato bruto del mensaje intercambiado con el modelo. Ese contenido se recupera de la API GraphQL de Cato, bajo demanda, y solo por llamantes cuyo clave API tiene el permiso requerido. Hay dos consultas disponibles, una por sub-tipo de evento.

Clave API y permisos

Las consultas están autenticadas con una clave API de Cato generada en el CMA. Para obtener detalles sobre cómo crear una clave API, consulte Generación de Claves API para la API de Cato.

El acceso al contenido de la interacción está controlado por permisos RBAC en la clave:

Acceso a la Nube

Permiso

Contenido sensible en Interacciones de Usuario AI

Seguridad AI > Seguridad AI para Usuarios > Leer Contenido Sensible

Contenido sensible sobre Protección del Tiempo de Ejecución de la Aplicación

Seguridad AI > Seguridad AI para Aplicaciones > Leer Contenido Sensible

Punto Final y Esquema de la API

La URL para el punto final de la API y el esquema es específico para la ubicación donde se aloja su instancia de CMA. A un valor <prefix> se le puede añadir a la URL de su cuenta CMA y al punto final y esquema de la API.

Recurso

Formato de URL

punto_final_API

https://api.<prefix>.catonetworks.com/api/v1/graphql2

esquema_API

https://api.<prefix>.catonetworks.com/api/schema

Prefijos para las diferentes regiones CMA

región_CMA

URL_CMA

Prefijo

punto_final_API

Irlanda

cc.catonetworks.com

Sin agrupar

https://api.catonetworks.com/api/v1/graphql2

EE. UU. - Virginia

cc.us1.catonetworks.com

us1

https://api.us1.catonetworks.com/api/v1/graphql2

India

cc.in1.catonetworks.com

in1

https://api.in1.catonetworks.com/api/v1/graphql2

Japón

cc.jp1.catonetworks.com

jp1

https://api.jp1.catonetworks.com/api/v1/graphql2

Identifique el prefijo de la URL de su cuenta CMA y use el punto final correspondiente en cada solicitud. Para más información, ver ¿Qué es la API de Cato.

Ejecución de consultas en el Playgroud de GraphQL

El Playgroud de GraphQL ejecuta consultas contra la API de Cato directamente desde un navegador, lo que es útil para investigación ad-hoc y para confirmar la conectividad antes de crear un script de consulta. Consulte Conectando a la API de Cato desde el Playgroud de GraphQL para obtener instrucciones.

Interacción de Usuario AI

Recupere el aviso del usuario y la respuesta del modelo detrás de un evento de Interacción de Usuario AI. Las mismas conversaciones están disponibles en CMA bajo Seguridad AI para Usuarios > Explorador de Sesiones.

Las Interacciones de Usuario AI que coinciden con detectores configurados en la política contienen Detección en el campo tipo_actividad_aplicación. Estos eventos son más relevantes para investigaciones de seguridad.

Campos de Solicitud

Variable

Tipo

Fuente

accountId

ID!

El id_cuenta del evento.

sessionId

ID!

El id_sesión del evento.

messageId

ID!

El id_mensaje del evento. Identifica el aviso individual dentro de la sesión.

appId

ID!

El id_aplicación del evento.

userId

ID

El id_usuario del evento. Opcional.

GraphQL

query SesionConversacion(
  $idCuenta: ID!
  $idSesion: ID!
  $idMensaje: ID!
  $idApp: ID!
) {
  seguridadAI(idCuenta: $idCuenta) {
    usuariosFinales {
      sesionConversacion(
        entrada: { idSesion: $idSesion, idMensaje: $idMensaje, idApp: $idApp }
      ) {
        avisoUsuario
        respuestaLLM
      }
    }
  }
}

Variables:

{
  "idCuenta": "<ID_CUENTA>",
  "idSesion": "<id_sesión del evento>",
  "idMensaje": "<id_mensaje del evento>",
  "idApp": "<id_aplicación del evento>"
}

Curl

curl -s -X POST https://api.<prefix>.catonetworks.com/api/v1/graphql2 \
  -H "x-api-key: $CATO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": "query SesionConversacion($idCuenta: ID!, $idSesion: ID!, $idMensaje: ID!, $idApp: ID!) { aiSecurity(accountId: $accountId) { endUsers { sessionConversation(input: {sessionId: $sessionId, messageId: $messageId, appId: $appId}) { userPrompt llmResponse } } } }","variables": { "accountId": "<ACCOUNT_ID>","sessionId": "<session_id from the event>","messageId": "<message_id from the event>","appId": "<application_id from the event>" }}' | jq .

Python

import json, urllib.request 
 
API_KEY = "<API_KEY>" 
 
QUERY = """ 
query SessionConversation($accountId: ID!, $sessionId: ID!, $messageId: ID!, $appId: ID!) { 
  aiSecurity(accountId: $accountId) { 
    endUsers { 
      sessionConversation(input: {sessionId: $sessionId, messageId: $messageId, appId: $appId}) { 
        userPrompt 
        llmResponse 
      } 
    } 
  } 
} 
""" 
payload = json.dumps({"query": QUERY, "variables": { 
    "accountId": "<ACCOUNT_ID>", 
    "sessionId": "<session_id from event>", 
    "messageId": "<message_id from event>", 
    "appId": "<application_id from event>", 
}}).encode("utf-8") 
req = urllib.request.Request( 
    "https://api.<prefix>.catonetworks.com/api/v1/graphql2", 
    data=payload, 
    headers={"x-api-key": API_KEY, "Content-Type": "application/json"}, 
    method="POST", 
) 
with urllib.request.urlopen(req, timeout=30) as resp: 
    print(json.dumps(json.load(resp), indent=2)) 

Campos de respuesta

Ruta

Tipo

Descripción

userPrompt

String

El texto que el usuario envió a la aplicación GenAI.

llmResponse

Cadena

El texto de respuesta de la aplicación.

Respuesta de ejemplo

{
 "data": {
 "aiSecurity": {
 "endUsers": {
 "sessionConversation": {
 "userPrompt": "<instrucción del usuario>",
 "llmResponse": “<respuesta del llm o nulo>”
 }
 }
 }
 }
}

Protección de Tiempo de Ejecución de Aplicaciones

Recupera los metadatos de la invocación y los mensajes de chat sin procesar detrás de un evento de Protección de Tiempo de Ejecución de Aplicación. Las mismas invocaciones están disponibles en CMA bajo Seguridad AI para Aplicaciones > Explorador de Interacciones.

Campos de solicitud

Variable

Tipo

Fuente

accountId

ID!

El account_id del evento.

id

ID!

El invocation_id del evento. Identifica la interacción específica.

GraphQL

query GetInvocation($accountId: ID!, $id: ID!) {
 aiSecurity(accountId: $accountId) {
 apps {
 invocation(input: { id: $id }) {
 id
 sessionId
 timestamp
 tokenCount
 guard {
 id
 name
 }
 action
 data {
 message {
 role
 content {
 text
 }
 }
 }
 }
 }
 }
}

Variables:

{
 "accountId": "<ACCOUNT_ID>",
 "id": "<invocation_id del evento>"
}

Curl

curl -s -X POST https://api.<prefix>.catonetworks.com/api/v1/graphql2 \
 -H "x-api-key: <CATO_API_KEY>" \
 -H "Content-Type: application/json" \
 -d '{
 "query": "query GetInvocation($accountId: ID!, $id: ID!) { aiSecurity(accountId: $accountId) { apps { invocation(input: {id: $id}) { id sessionId timestamp tokenCount guard { id name } action data { message { role content { text } } } } } } }",
 "variables": {
 "accountId": "<ACCOUNT_ID>",
 "id": "<invocation_id del evento>"
 }
 }' | jq .

Python

import json, urllib.request 
 
API_KEY = "<CATO_API_KEY>" 
 
QUERY = """ 
query GetInvocation($accountId: ID!, $id: ID!) { 
  aiSecurity(accountId: $accountId) { 
    apps { 
      invocation(input: {id: $id}) { 
        id 
        sessionId 
        timestamp 
        tokenCount 
        guard { id name } 
        action 
        data { message { role content { text } } } 
      } 
    } 
  } 
} 
""" 
payload = json.dumps({"query": QUERY, "variables": { 
    "accountId": "<ACCOUNT_ID>", 
    "id": "<invocation_id from the event>", 
}}).encode("utf-8") 
req = urllib.request.Request( 
    "https://api.<prefix>.catonetworks.com/api/v1/graphql2", 
    data=payload, 
    headers={"x-api-key": API_KEY, "Content-Type": "application/json"}, 
    method="POST", 
) 
with urllib.request.urlopen(req, timeout=30) as resp: 
    print(json.dumps(json.load(resp), indent=2)) 

Campos de respuesta

Ruta

Tipo

Descripción

invocation.id

ID!

ID de invocación único globalmente.

.sessionId

ID

Agrupa invocaciones de la misma sesión de conversación. nulo si no está rastreado.

.marca de Tiempo

DateTime!

Hora UTC en la que se interceptó la invocación.

.tokenCount

Int!

Tokens totales para la invocación (solicitud y finalización).

.guard.id / .guard.name

ID! / Cadena!

La protección que recibió la invocación. El objeto de protección puede ser nulo si la invocación no está asociada con una protección.

.acción

Enum!

Resultado de aplicación como un valor API en mayúsculas: BLOCK, ANONYMIZE, MONITOR o NONE. Los eventos presentan estos valores con diferentes capitalizaciones, por ejemplo, Anonymize.

.data.message[]

[InvocationMessage!]!

Los mensajes de chat sin procesar. Cada uno tiene un rol (USER, ASSISTANT, TOOL_CALL, TOOL_MESSAGE o un rol personalizado) y content[] (cada uno con un campo de texto). Estos son los datos confidenciales protegidos por el permiso de Leer Contenido Confidencial.

Respuesta de ejemplo

{
 "data": {
 "aiSecurity": {
 "apps": {
 "invocation": {
 "id": "01a00ada-c424-700b-9898-ed1ea05a82fb",
 "sessionId": "8cf9384d-9a45-4d01-aeff-c3eb31164599",
 "timestamp": "2026-08-16T13:55:04.392Z",
 "tokenCount": 30,
 "guard": {
 "id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
 "name": "<nombre_de_protección>"
 },
 "action": "BLOCK",
 "data": {
 "message": [
 {
 "role": "user",
 "content": [
 {
 "text": "<instrucción del usuario>”
 }
 ]
 }
 ]
 }
 }
 }
 }
 }
}

Apéndice: Eventos de Muestra y Llamadas API

Eventos de muestra y las llamadas API que recuperan su contenido, para ambos subtipos de eventos.

Seguridad de IA para Usuarios

Eventos de Ejemplo

[
 {
 "account_id": <account_id>,
 "account_name": "<nombre_de_cuenta>",
 "ad_name": "<nombre_de_ad>",
 "ai_app_risk_level": "Medium",
 "app_activity_type": "Solicitud",
 "application_id": "microsoft_copilot",
 "application_name": "Microsoft Copilot",
 "application_risk": 5,
 "application_type": "Sistema",
 "categories": [
 "Generative AI Tools"
 ],
 "cato_app": "microsoft_copilot",
 "event_count": 1,
 "event_id": "7c41ae90b2d5f318",
 "event_sub_type": "Interacción de usuario AI",
 "event_type": "Seguridad AI",
 "interaction_intent": "obtener información",
 "interaction_sub_topic": "privacidad de datos",
 "interaction_topic": "legal",
 "invocation_id": "01a01f70-9b12-74ac-8f31-2b6ce0d41aa7",
 "is_cloud_app": true,
 "is_sanctioned_app": true,
 "message_id": "6f2b1c48-55d7-4a9e-9c10-8ab3f7e2d114",
 "session_id": "b71f9c02-3ad4-4e8b-90c6-1f5d8e7a4c33",
 "time": 1787233820104,
 "time_str": "2026-08-20T13:50:20Z",
 "url": "https://copilot.microsoft.com/chats",
 "user_id": <user_id>,
 "user_name": "<nombre_de_usuario>",
 "vpn_user_email": "<correo_de_usuario>"
 },
 {
 "account_id": <account_id>,
 "account_name": "<nombre_de_cuenta>",
 "app_activity_type": "Detección",
 "application_id": "microsoft_copilot",
 "application_name": "Microsoft Copilot",
 "event_count": 1,
 "event_id": "b0d3572ea9146fc7",
 "event_sub_type": "Interacción de usuario AI",
 "event_type": "Seguridad AI",
 "invocation_id": "01a01f70-9b12-74ac-8f31-2b6ce0d41aa7",
 "message_id": "6f2b1c48-55d7-4a9e-9c10-8ab3f7e2d114",
 "rule_id": "1296751412582697861",
 "rule_name": "<nombre_de_regla>",
 "session_id": "b71f9c02-3ad4-4e8b-90c6-1f5d8e7a4c33",
 "time": 1787233820331,
 "time_str": "2026-08-20T13:50:20Z",
 "user_id": <user_id>,
 "user_name": "<nombre_de_usuario>",
 "vpn_user_email": "<correo_de_usuario>"
 }
]

Llamada API

curl -s -X POST https://api.catonetworks.com/api/v1/graphql2 \
 -H "x-api-key: <clave_api>" \
 -H "Content-Type: application/json" \
 -d '{
 "query": "query SessionConversation($accountId: ID!, $sessionId: ID!, $messageId: ID!, $appId: ID!) { aiSecurity(accountId: $accountId) { endUsers { sessionConversation(input: {sessionId: $sessionId, messageId: $messageId, appId: $appId}) { userPrompt llmResponse } } } }",
 "variables": {
 "accountId": "<account_id>",
 "sessionId": "b71f9c02-3ad4-4e8b-90c6-1f5d8e7a4c33",
 "messageId": "6f2b1c48-55d7-4a9e-9c10-8ab3f7e2d114",
 "appId": "microsoft_copilot"
 }
 }' | jq .

Respuesta API

{
 "data": {
 "aiSecurity": {
 "endUsers": {
 "sessionConversation": {
 "userPrompt": "<instrucción_del_usuario>",
 "llmResponse": "<respuesta_llm>"
 }
 }
 }
 }
}

Seguridad de IA para Aplicaciones

Eventos de Ejemplo

[
 {
 "account_id": <account_id>,
 "account_name": "<nombre_de_cuenta>",
 "action": "Bloquear",
 "detectors": [
 "SIMPLE_DETECTOR_TYPE_SAFETY_CONTROLS_SAFETY"
 ],
 "event_count": 1,
 "event_id": "f98820262dfb8aa9",
 "event_sub_type": "Protección de Tiempo de Ejecución de Aplicación",
 "event_type": "Seguridad AI",
 "guard_id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
 "guard_name": "<nombre_de_protección>",
 "interaction_id": "01a01f71-c3e5-75be-a3cc-d77ec3b9277f",
 "internalId": "f98820262dfb8aa9",
 "internal_id": "f98820262dfb8aa9",
 "invocation_id": "01a01f71-c3e5-75be-a3cc-d77ec3b9277f",
 "is_sanctioned_app": false,
 "rule_id": "1296751412582697861",
 "rule_name": "<nombre_de_regla>",
 "session_id": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
 "time": 1787233944579,
 "time_str": "2026-08-20T13:52:24Z"
 },
 {
 "account_id": <account_id>,
 "account_name": "<nombre_de_cuenta>",
 "action": "Bloquear",
 "detectors": [
 "SIMPLE_DETECTOR_TYPE_SECURITY_CONTROLS_JAILBREAK",
 "SIMPLE_DETECTOR_TYPE_SAFETY_CONTROLS_SAFETY"
 ],
 "event_count": 1,
 "event_id": "31156257bcf2d54c",
 "event_sub_type": "Protección de Tiempo de Ejecución de Aplicación",
 "event_type": "Seguridad AI",
 "guard_id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
 "guard_name": "<nombre_de_protección>",
 "interaction_id": "01a01f72-38ce-782f-96c5-5ca071ac9792",
 "internalId": "31156257bcf2d54c",
 "internal_id": "31156257bcf2d54c",
 "invocation_id": "01a01f72-38ce-782f-96c5-5ca071ac9792",
 "is_sanctioned_app": false,
 "rule_id": "1296751412582697861",
 "rule_name": "<nombre_de_regla>",
 "session_id": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
 "time": 1787233974486,
 "time_str": "2026-08-20T13:52:54Z"
 }
]

Llamada API

curl -s -X POST https://api.catonetworks.com/api/v1/graphql2 \
 -H "x-api-key: <clave_api>" \
 -H "Content-Type: application/json" \
 -d '{
 "query": "query GetInvocation($accountId: ID!, $id: ID!) { aiSecurity(accountId: $accountId) { apps { invocation(input: {id: $id}) { id sessionId timestamp tokenCount guard { id name } action data { message { role content { text } } } } } } }",
 "variables": {
 "accountId": "<account_id>",
 "id": "01a01f72-38ce-782f-96c5-5ca071ac9792"
 }
 }' | jq .

Respuesta API

{
  "data": {
    "aiSecurity": {
      "apps": {
        "invocation": {
          "id": "01a01f72-38ce-782f-96c5-5ca071ac9792",
          "sessionId": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
          "timestamp": "2026-08-20T13:52:54.486Z",
          "tokenCount": 38,
          "guard": {
            "id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
            "name": "<guard_name>"
          },
          "action": "BLOQUEAR",
          "data": {
            "message": [
              {
                "role": "Usuario",
                "content": [
                  {
                    "text": "<user_prompt>"
                  }
                ]
              }
            ]
          }
        }
      }
    }
  }
}