개요
Cato AI 보안은 사용자가 호출하는 GenAI 애플리케이션과 본인의 홈그로운 에이전트가 보내는 호출을 기록합니다. 이벤트는 Cato 관리 애플리케이션(CMA)의 홈 > 이벤트 페이지에서 확인할 수 있으며, SIEM, 데이터 레이크 또는 기타 외부 플랫폼으로 전달되어 보존, 상관 및 알림으로 사용됩니다.
이벤트는 메타데이터만을 운반합니다. 모델과 교환된 프롬프트와 대응은 이벤트에 저장되지 않습니다. 그 콘텐츠는 서버의 권한을 가진 API 키를 소유한 호출자에 의해 별도로, 요청에 따라 Cato의 GraphQL API에서 가져옵니다.
AI 보안 발견 조사는 두 단계로 이루어지는 워크플로입니다.
이벤트를 SIEM으로 전달하십시오. AI 보안 이벤트 유형으로 필터링된 이벤트 통합을 구성하여 AI 보안 이벤트가 다른 Cato 텔레메트리와 함께 도착하도록 하십시오.
API를 사용하여 필요한 사건의 민감한 내용을 가져오십시오. 이벤트 조사 필요 시, 해당 이벤트의 식별자를 API에 문의하여 프롬프트와 모델 대응을 가져옵니다.
참고: AI 보안 상호작용, 민감한 프롬프트와 대응을 포함하여 API를 사용하지 않고 CMA에서 직접 검토할 수 있습니다. 앱에 대한 AI 보안 > 상호작용 탐색기 는 여러분의 자체 개발 에이전트 호출을 나열합니다, 그리고 사용자에 대한 AI 보안 > 세션 탐색기는 GenAI 애플리케이션과 함께 사용자 세션을 나열합니다. 둘 모두 개별 레코드를 깊이 탐구할 수 있게 합니다. API는 SIEM에서 시작되는 조사 및 프로그램적 검색을 위한 것입니다.
Cato 이벤트
모든 AI 보안 이벤트는 AI 보안 이벤트 유형을 갖습니다. 이벤트 하위 유형은 어느 AI 보안 부분이 이벤트를 생성했는지 식별하며, 이벤트가 운반하는 필드와 API 문의가 그 내용을 반환하는지를 결정합니다. Cato Event Schema에서 상호작용 가능한 이벤트 스키마 탐색기를 사용할 수 있습니다.
CMA 모듈 | 이벤트 하위 유형 | 설명 |
|---|---|---|
사용자 AI 보안 | AI 사용자 상호작용 | GenAI 애플리케이션과 사용자의 활동으로 생성됨. |
애플리케이션에 대한 AI 보안 | 애플리케이션 실행 보호 | 자체 개발 에이전트를 보호하는 Guard 정책이 상호작용에 대해 작업을 시작할 때 생성됨. |
AI 사용자 상호작용 필드
필드 | 유형 | 설명 |
|---|---|---|
계정 아이디 / 계정 이름 | 길이 / 키워드 | Cato 계정 식별자와 표시 이름. |
이름 / 사용자 아이디 / 사용자 이름 | 키워드 / 길이 / 키워드 | Cato 사용자와 그들의 Active Directory 표시 이름. |
vpn_user_email | 키워드 | 사용자의 이메일 주소. 이벤트 조사 시작 시 이메일 주소로 필터링할 필드입니다. |
application_id / application_name | 키워드 | 예를 들어 microsoft_copilot / Microsoft Copilot 같은 GenAI 애플리케이션입니다. |
application_type / categories | 키워드 | 애플리케이션 분류, 예를 들어 시스템 유형 및 생성적 AI 도구 카테고리입니다. |
ai_app_risk_level / application_risk | 키워드 / 정수 | 애플리케이션에 대한 Cato의 위험 평가, 라벨과 정수 점수로 제공합니다. |
is_cloud_app / is_sanctioned_app | 부울 | 애플리케이션이 클라우드에서 호스팅되었는지, 계정보다 승인되었는지 여부입니다. |
app_activity_type | 키워드 | 이벤트가 나타내는 활동입니다. 가능한 값: 웹 요청, 프롬프트, 탐지, LLM 대응, 파일 거래, 참여 대응. |
규칙 아이디 / 규칙 이름 | 키워드 | 정책 규칙이 일치한, 한 곳에서 실행된 곳입니다. app_activity_type과 독립적으로 어떤 값에도 독점적이지 않습니다. |
이벤트_ID | 키워드 | 독립 이벤트 식별자. |
time / time_str | 날짜 (epoch ms) / 날짜 (ISO-8601) | 상호작용이 발생한 시간, 두 형식에서. |
session_id / message_id | 키워드 | sessionConversation 조회에 application_id와 함께 전달됨. message_id는 대응 이벤트와 관련된 프롬프트 이벤트와 그에 해당하는 탐지 및 LLM 대응 이벤트를 쌍으로 묶습니다. |
invocation_id | 키워드 | 별도의 식별자 네임스페이스에서 message_id와 동일한 이벤트 세트를 묶으며, 내용 조회에는 사용되지 않습니다. |
interaction_intent | 키워드 | 프롬프트 뒤에 분류된 의도, 예를 들면 정보를 얻는 것입니다. |
interaction_topic / interaction_sub_topic | 키워드 | 분류된 주제, 예를 들어 법률 / 데이터 프라이버시. |
URL / referer_url | 키워드 | 페이지 URL과 문의 페이지 URL, 가능한 경우 |
file_name | 키워드 | 전송된 파일의 이름. 단지 앱활동유형이 파일 거래일 때만 존재 |
engagement_outcome_action | 키워드 | 사용자가 상호작용 정책 프롬프트에 응답한 후의 행동. |
user_justification | 키워드 | 상호작용 정책 프롬프트에 대한 사용자의 응답. |
event_count | 정수 | 레코드가 나타내는 발생 횟수. |
cato_app | 키워드 | GenAI 애플리케이션에 대한 Cato 애플리케이션 식별자, 예를 들어, chatgpt. |
참고: 모든 이벤트가 복구 가능한 콘텐츠를 가지고 있는 것은 아닙니다. session_id와 message_id는 app_activity_type이 프롬프트, 탐지, 또는 LLM 응답인 이벤트에만 나타납니다. 웹 요청 및 파일 거래 이벤트는 이를 포함하지 않습니다.
애플리케이션 실행 보호 필드
필드 | 설명 |
|---|---|
event_type / event_sub_type | 항상 AI 보안 / 애플리케이션 실행 보호 이러한 이벤트에 대해. 통합 또는 이벤트 페이지에서 필터링하기 위해 이러한 값을 사용하십시오. |
event_id / event_count | 고유한 이벤트 식별자와 레코드가 나타내는 발생 횟수. |
time / time_str | 상호작용이 차단된 때, 밀리초 단위의 일반 시간 표와 ISO-8601 UTC 문자열로. |
account_id / account_name | Cato 계정 식별자와 표시 이름. account_id는 API 쿼리에 accountId로 전달된 값입니다. |
guard_id / guard_name | 애플리케이션을 보호하고 결정을 제공한 가드. |
rule_id / rule_name | 일치한 특정 가드 정책 규칙. |
작업 | 익명화, 차단, 또는 모니터와 같은 집행 결과. |
detectors | 이 상호작용을 위해 작동한 탐지기, 예를 들어 PII 탐지기. |
application_id | 가드가 보호하는 Homegrown 에이전트. |
invocation_id | 조사의 중요한 요소. 특정 상호작용을 식별하고 프롬프트와 응답을 가져오기 위해 호출 쿼리에 전달된 값입니다. |
session_id | 동일한 대화 세션에 속하는 호출을 그룹화합니다. |
cato_app / is_cloud_app / is_sanctioned_app | AI 보안 앱 조사를 위한 이벤트에 존재하지만 관련성 없는 |
용어. CMA에서 Homegrown 에이전트로 불리는 것은 이벤트에서 애플리케이션이라고 합니다. 애플리케이션_id 필드 식별하는 Homegrown 에이전트 가드가 보호하는.
SIEM으로 이벤트 전송
이벤트 통합은 외부 플랫폼 및 저장 목적지에 Cato 이벤트 데이터를 자동으로 전달하며 수동 내보내기나 지속적인 폴링이 필요하지 않습니다. CMA에서 자원 > 통합 > 구성된 통합에서 통합이 구성됩니다. 개요는 이벤트 통합 시작하기를 참조하십시오.
기본 통합이 제공되지 않는 경우, Custom HTTP Push 통합을 사용하여 선택한 목적지로 JSON 형식의 이벤트를 푸시할 수 있습니다. 사용자 정의 헤더를 구성하여 다양한 벤더와의 호환성을 가능하게 합니다. 자세한 내용은 사용자 정의 HTTP Push 통합으로 데이터 보내기를 참조하십시오.
AI 보안 이벤트 필터링
선택한 통합 범위를 AI 보안 이벤트로 설정하여 계정의 전체 이벤트 볼륨을 전달하는 대신. 이는 이벤트 필터에서 수행되며 하나 이상의 필터 그룹으로 구성됩니다. 그룹 내 조건은 AND로, 그리고 그룹은 OR로 조합되어 구체적인 그룹과 일치하면 이벤트가 전달됩니다 어떤 이벤트 필드든 조건으로 사용할 수 있습니다.
이벤트 필터에 필터 그룹을 추가합니다. 통합 구성을 열어 이벤트 필터를 열고 필터 그룹을 추가합니다.
이벤트 유형 조건을 설정합니다. 필드 이벤트 유형, 값 AI 보안. 이 그룹의 범위가 모든 하위 유형의 AI 보안 이벤트로 맞춰집니다.

(선택사항) 하위 유형 조건을 설정합니다. 필드 하위 유형, 값들 AI 사용자 상호작용과 애플리케이션 실행 보호, 또는 이 통합에 필요한 것만. 같은 그룹에 있는 두 조건은 AND로 결합되어 선택한 하위 유형의 AI 보안 이벤트만 전달됩니다.

(선택사항) 두 하위 유형을 각각 다른 경로로 설정합니다. 두 값 모두를 포함하는 단일 그룹은 같은 목적지로 두 하위 유형을 전달합니다. 다른 목적지로 전달하기 위해서 각각 한 하위 유형에 대한 범위가 지정된 두개의 이벤트 통합을 구성하십시오.
필요시 더 좁게 설정합니다. 추가 조건을 동일한 그룹에 추가하여 볼륨을 줄일 수 있습니다. 예를 들어, 가드 이름 필터를 추가하여 특정 가드에 일치하는 애플리케이션 실행 보호 이벤트만 전달할 수 있습니다.

API로 민감한 콘텐츠 가져오기
AI 보안 이벤트는 의도적으로 상호작용의 콘텐츠를 제외합니다: 프롬프트, 모델 응답, 또는 모델과의 교환된 메시지 데이터는 포함되지 않습니다. 그 콘텐츠는 호출자의 API 키가 필요한 권한을 가지고 있을 때만, 요청에 따라 Cato의 GraphQL API에서 얻어집니다. 두 개의 쿼리가 제공되며 각각의 이벤트 하위 유형에 대해 하나씩 있습니다.
API 키 및 권한
쿼리는 CMA에서 생성된 Cato API 키로 인증됩니다. API 키를 만드는 방법에 대한 자세한 내용은 Cato API를 위한 API 키 생성을 참조하십시오.
상호작용 콘텐츠에 대한 접근은 키에 대한 RBAC 권한으로 제어됩니다:
클라우드 액세스 | 권한 |
|---|---|
AI 사용자 상호작용에 대한 민감한 콘텐츠 | AI 보안 > 사용자에 대한 AI 보안 > 민감한 콘텐츠 읽기 |
애플리케이션 실행 보호에 대한 민감한 콘텐츠 | AI 보안 > 앱에 대한 AI 보안 > 민감한 콘텐츠 읽기 |
API 엔드포인트 및 스키마
API 엔드포인트 및 스키마의 URL은 CMA 인스턴스가 호스팅된 위치에 특정합니다. <prefix> 값이 CMA 계정의 URL 및 API 엔드포인트와 스키마에 추가될 수 있습니다.
리소스 | URL 형식 |
|---|---|
API 엔드포인트 | https://api.<prefix>.catonetworks.com/api/v1/graphql2 |
API 스키마 | https://api.<prefix>.catonetworks.com/api/schema |
다양한 CMA 지역에 대한 접두사
CMA 지역 | CMA URL | 접두사 | API 엔드포인트 |
아일랜드 | cc.catonetworks.com | 없음 | https://api.catonetworks.com/api/v1/graphql2 |
미국 - 버지니아 | cc.us1.catonetworks.com | us1 | https://api.us1.catonetworks.com/api/v1/graphql2 |
인도 | cc.in1.catonetworks.com | in1 | https://api.in1.catonetworks.com/api/v1/graphql2 |
일본 | cc.jp1.catonetworks.com | jp1 | https://api.jp1.catonetworks.com/api/v1/graphql2 |
귀하의 CMA 계정 URL에서 접두사를 식별하고 모든 요청에서 해당 엔드포인트를 사용하십시오. 자세한 내용은 Cato API란 무엇인가요를 참조하십시오.
GraphQL 플레이그라운드에서 쿼리를 실행하는 방법
GraphQL 플레이그라운드는 브라우저에서 직접 Cato API에 대해 쿼리를 실행하며, 이는 스크립트 쿼리를 시작하기 전에 임시 조사를 위해 연결성을 확인하는 데 유용합니다. 더 많은 내용은 GraphQL Playground에서 Cato API 연결하기에서 확인하십시오.
AI 사용자 상호작용
AI 사용자 상호작용 이벤트 힙후 뒤에 있는 사용자 프롬프트와 모델 응답을 가져옵니다. 동일한 대화는 CMA에서 사용자를 위한 AI 보안 > 세션 탐색기 아래에서 사용 가능합니다.
정책에 구성된 탐지기와 일치하는 AI 사용자 상호작용은 app_activity_type 필드에 탐지를 포함합니다. 이러한 이벤트는 보안 조사에 가장 관련이 있습니다.
요청 필드
변수 | 유형 | 소스 |
|---|---|---|
계정 ID | ID! | 그 이벤트의 account_id. |
sessionId | ID! | 그 이벤트의 session_id. |
messageId | ID! | 그 이벤트의 message_id. 세션 내 개별 프롬프트를 식별합니다. |
appId | ID! | 그 이벤트의 application_id. |
userId | ID | 그 이벤트의 user_id. 선택사항. |
GraphQL
쿼리 SessionConversation(
$accountId: ID!
$sessionId: ID!
$messageId: ID!
$appId: ID!
) {
aiSecurity(accountId: $accountId) {
endUsers {
sessionConversation(
input: { sessionId: $sessionId, messageId: $messageId, appId: $appId }
) {
userPrompt
llmResponse
}
}
}
}변수:
{
"accountId": "<ACCOUNT_ID>",
"sessionId": "",
"messageId": "",
"appId": ""} Curl
curl -s -X POST https://api..catonetworks.com/api/v1/graphql2 \
-H "x-api-key: $CATO_API_KEY" \
-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": "<session_id from the event>",
"messageId": "<message_id from the event>",
"appId": "<application_id from the event>"
}
}' | jq . 파이썬
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)) 대응 필드
경로 | 유형 | 설명 |
|---|---|---|
유저 프롬프트 | 문자열 | 사용자가 GenAI 애플리케이션에 보낸 텍스트입니다. |
LLM 대응 | 문자열 | 애플리케이션의 응답 텍스트입니다. |
대응 예시
{
"data": {
"aiSecurity": {
"endUsers": {
"sessionConversation": {
"userPrompt": "<user prompt>",
"llmResponse": “<llm response or null>”
}
}
}
}
}애플리케이션 런타임 보호
애플리케이션 런타임 보호 이벤트 뒤에 있는 호출 메타데이터와 원본 채팅 메시지를 가져옵니다. 동일한 호출은 애플리케이션 보안 > 상호작용 탐색기에서 CMA에 사용할 수 있습니다.
요청 필드
변수 | 유형 | 소스 |
|---|---|---|
계정 ID | ID! | 이벤트의 account_id입니다. |
iD | ID! | 이벤트의 invocation_id입니다. 특정 상호작용을 식별합니다. |
그래프QL
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
}
}
}
}
}
}
}변수:
{
"accountId": "<ACCOUNT_ID>",
"id": "<invocation_id from the event>"
}컬
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 from the event>"
}
}' | jq .파이썬
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)) 대응 필드
경로 | 유형 | 설명 |
|---|---|---|
호출.id | ID! | 글로벌 고유 호출 ID입니다. |
.sessionId | ID | 같은 대화 세션의 호출을 그룹화합니다. 추적되지 않으면 null입니다. |
.타임스탬프 | DateTime! | 호출이 가로채진 UTC 시간입니다. |
.tokenCount | Int! | 호출에 대한 총 토큰 (프롬프트와 완료)입니다. |
.guard.id / .guard.name | ID! / 문자열! | 호출을 받은 Guard입니다. 호출이 Guard와 연결되지 않은 경우 Guard 객체는 null일 수 있습니다. |
.작업 | Enum! | 대문자 API 값으로 강제 적용 결과: BLOCK, ANONYMIZE, MONITOR, 또는 NONE입니다. 이벤트는 예를 들어, Anonymize처럼 서로 다른 대문자화로 이러한 값을 표시합니다. |
.data.message[] | [InvocationMessage!]! | 원본 채팅 메시지입니다. 각 메시지에는 역할 (사용자, 도구 호출, 도구 메시지 또는 사용자 정의 역할) 및 content[] (각각 텍스트 필드 포함)이 있습니다. 이것은 Read Sensitive Content 권한 뒤에 있는 민감한 데이터입니다. |
대응 예시
{
"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": "<guard_name>"
},
"action": "BLOCK",
"data": {
"message": [
{
"role": "user",
"content": [
{
"text": "<user prompt>”
}
]
}
]
}
}
}
}
}
}부록: 샘플 이벤트 및 API 호출
샘플 이벤트 및 이벤트 하위 유형을 위한 API 호출을 통해 콘텐츠를 검색합니다.
사용자 AI 보안
샘플 이벤트
[
{
"account_id": <account_id>,
"account_name": "<account_name>",
"ad_name": "<ad_name>",
"ai_app_risk_level": "Medium",
"app_activity_type": "Prompt",
"application_id": "microsoft_copilot",
"application_name": "Microsoft Copilot",
"application_risk": 5,
"application_type": "System",
"categories": [
"Generative AI Tools"
],
"cato_app": "microsoft_copilot",
"event_count": 1,
"event_id": "7c41ae90b2d5f318",
"event_sub_type": "AI User Interaction",
"event_type": "AI Security",
"interaction_intent": "getting information",
"interaction_sub_topic": "data privacy",
"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": "<user_name>",
"vpn_user_email": "<user_email>"
},
{
"account_id": <account_id>,
"account_name": "<account_name>",
"app_activity_type": "Detection",
"application_id": "microsoft_copilot",
"application_name": "Microsoft Copilot",
"event_count": 1,
"event_id": "b0d3572ea9146fc7",
"event_sub_type": "AI User Interaction",
"event_type": "AI Security",
"invocation_id": "01a01f70-9b12-74ac-8f31-2b6ce0d41aa7",
"message_id": "6f2b1c48-55d7-4a9e-9c10-8ab3f7e2d114",
"rule_id": "1296751412582697861",
"rule_name": "<rule_name>",
"session_id": "b71f9c02-3ad4-4e8b-90c6-1f5d8e7a4c33",
"time": 1787233820331,
"time_str": "2026-08-20T13:50:20Z",
"user_id": <user_id>,
"user_name": "<user_name>",
"vpn_user_email": "<user_email>"
}
]API 호출
curl -s -X POST https://api.catonetworks.com/api/v1/graphql2 \
-H "x-api-key: <api_key>" \
-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 .API 대응
{
"data": {
"aiSecurity": {
"endUsers": {
"sessionConversation": {
"userPrompt": "<user_prompt>",
"llmResponse": "<llm_response>"
}
}
}
}
}앱 보안 AI
샘플 이벤트
[
{
"account_id": <account_id>,
"account_name": "<account_name>",
"action": "Block",
"detectors": [
"SIMPLE_DETECTOR_TYPE_SAFETY_CONTROLS_SAFETY"
],
"event_count": 1,
"event_id": "f98820262dfb8aa9",
"event_sub_type": "Application Runtime Protection",
"event_type": "AI Security",
"guard_id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
"guard_name": "<guard_name>",
"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": "<rule_name>",
"session_id": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
"time": 1787233944579,
"time_str": "2026-08-20T13:52:24Z"
},
{
"account_id": <account_id>,
"account_name": "<account_name>",
"action": "Block",
"detectors": [
"SIMPLE_DETECTOR_TYPE_SECURITY_CONTROLS_JAILBREAK",
"SIMPLE_DETECTOR_TYPE_SAFETY_CONTROLS_SAFETY"
],
"event_count": 1,
"event_id": "31156257bcf2d54c",
"event_sub_type": "Application Runtime Protection",
"event_type": "AI Security",
"guard_id": "d3918cad-ffab-408d-b079-bfecd4842ed1",
"guard_name": "<guard_name>",
"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": "<rule_name>",
"session_id": "d500d5a4-82cd-4f48-8d70-0ebfc590d605",
"time": 1787233974486,
"time_str": "2026-08-20T13:52:54Z"
}
]API 호출
curl -s -X POST https://api.catonetworks.com/api/v1/graphql2 \
-H "x-api-key: <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": "01a01f72-38ce-782f-96c5-5ca071ac9792"
}
}' | jq .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": "차단",
"data": {
"message": [
{
"role": "사용자",
"content": [
{
"text": "<user_prompt>"
}
]
}
]
}
}
}
}
}
}