Detection rules › Kusto
Vaikora - Behavioral anomaly detected
This is a third-party alert feed, not a detection over modeled telemetry. The vendor product raised the finding; this rule forwards it into the SIEM. It is searchable for reference but is excluded from the detection-rule browse and the ATT&CK coverage matrix.
Identifies AI agent behavioral anomalies flagged by Vaikora with an anomaly score of 0.7 or above, indicating significant deviation from the agent's established behavioral baseline.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Execution | |
| Stealth |
Rule body
id: e61258ec-1a7f-454c-95b5-458a6edb1ea4
name: Vaikora - Behavioral anomaly detected
description: |
Identifies AI agent behavioral anomalies flagged by Vaikora with an anomaly score of 0.7 or above, indicating significant deviation from the agent's established behavioral baseline.
severity: Medium
status: Available
requiredDataConnectors:
- connectorId: VaikoraSentinel
dataTypes:
- Vaikora_AgentSignals_CL
queryFrequency: 30m
queryPeriod: 1h
triggerOperator: GreaterThan
triggerThreshold: 0
tactics:
- DefenseEvasion
- Execution
relevantTechniques:
- T1059
- T1027
query: |
Vaikora_AgentSignals_CL
| where TimeGenerated > ago(1h)
| where is_anomaly_b == true
| where anomaly_score_d >= 0.7
| summarize
AnomalyCount = count(),
MaxAnomalyScore = max(anomaly_score_d),
AvgAnomalyScore = avg(anomaly_score_d),
AnomalyReasons = make_set(anomaly_reason_s),
ActionTypes = make_set(action_type_s)
by AgentId = agent_id_s, Severity = severity_s
| extend
ReasonList = strcat_array(AnomalyReasons, "; "),
ActionList = strcat_array(ActionTypes, ", ")
suppressionDuration: 30m
suppressionEnabled: false
incidentConfiguration:
createIncident: true
groupingConfiguration:
enabled: true
reopenClosedIncident: false
lookbackDuration: 1h
matchingMethod: Selected
groupByEntities:
- Account
eventGroupingSettings:
aggregationKind: AlertPerResult
customDetails:
MaxAnomalyScore: MaxAnomalyScore
AvgAnomalyScore: AvgAnomalyScore
AnomalyCount: AnomalyCount
AnomalyReasons: ReasonList
ActionTypes: ActionList
entityMappings:
- entityType: Account
fieldMappings:
- identifier: Name
columnName: AgentId
version: 1.0.0
kind: Scheduled
Stages and Predicates
Stage 1: source
Vaikora_AgentSignals_CL
Stage 2: where
| where TimeGenerated > ago(1h)
Stage 3: where
| where is_anomaly_b == true
Stage 4: where
| where anomaly_score_d >= 0.7
Stage 5: summarize
| summarize
AnomalyCount = count(),
MaxAnomalyScore = max(anomaly_score_d),
AvgAnomalyScore = avg(anomaly_score_d),
AnomalyReasons = make_set(anomaly_reason_s),
ActionTypes = make_set(action_type_s)
by AgentId = agent_id_s, Severity = severity_s
Stage 6: extend
| extend
ReasonList = strcat_array(AnomalyReasons, "; "),
ActionList = strcat_array(ActionTypes, ", ")
Indicators
These rows show field, operator, and value matches.
| Field | Kind | Values | Search |
|---|---|---|---|
anomaly_score_d | ge |
| field:"anomaly_score_d" kind:ge value:"0.7" |
is_anomaly_b | eq |
| field:"is_anomaly_b" kind:eq value:"true" |
Output fields
These fields are emitted when the rule matches.
| Field | Source |
|---|---|
ActionTypes | summarize |
AgentId | summarize |
AnomalyCount | summarize |
AnomalyReasons | summarize |
AvgAnomalyScore | summarize |
MaxAnomalyScore | summarize |
Severity | summarize |
ActionList | extend |
ReasonList | extend |