Detection rules › Kusto
Vaikora - High severity AI agent action 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 actions from Vaikora classified as high or critical severity. These events may indicate an agent operating outside safe parameters or triggering policy thresholds.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Execution | T1059 Command and Scripting Interpreter |
| Privilege Escalation | T1078 Valid Accounts, T1548 Abuse Elevation Control Mechanism |
Rule body kusto
id: 15c49777-7cb7-4746-8064-6fa4c7a73df8
name: Vaikora - High severity AI agent action detected
description: |
Identifies AI agent actions from Vaikora classified as high or critical severity. These events may indicate an agent operating outside safe parameters or triggering policy thresholds.
severity: High
status: Available
requiredDataConnectors:
- connectorId: VaikoraSentinel
dataTypes:
- Vaikora_AgentSignals_CL
queryFrequency: 1h
queryPeriod: 1h
triggerOperator: GreaterThan
triggerThreshold: 0
tactics:
- Impact
- Execution
- PrivilegeEscalation
relevantTechniques:
- T1059
- T1078
- T1548
query: |
Vaikora_AgentSignals_CL
| where TimeGenerated > ago(1h)
| where severity_s in ("high", "critical")
| summarize
ActionCount = count(),
MaxAnomalyScore = max(anomaly_score_d),
Actions = make_set(action_type_s),
PolicyDecisions = make_set(policy_decision_s),
ResourceTypes = make_set(resource_type_s),
LogHashes = make_set(log_hash_s)
by AgentId = agent_id_s, Severity = severity_s
| extend
ActionList = strcat_array(Actions, ", "),
PolicyList = strcat_array(PolicyDecisions, ", "),
ResourceList = strcat_array(ResourceTypes, ", ")
suppressionDuration: 1h
suppressionEnabled: false
incidentConfiguration:
createIncident: true
groupingConfiguration:
enabled: true
reopenClosedIncident: false
lookbackDuration: 1h
matchingMethod: Selected
groupByEntities:
- Account
eventGroupingSettings:
aggregationKind: AlertPerResult
customDetails:
MaxAnomalyScore: MaxAnomalyScore
ActionCount: ActionCount
Actions: ActionList
PolicyDecisions: PolicyList
ResourceTypes: ResourceList
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 severity_s in ("high", "critical")
Stage 4: summarize
| summarize
ActionCount = count(),
MaxAnomalyScore = max(anomaly_score_d),
Actions = make_set(action_type_s),
PolicyDecisions = make_set(policy_decision_s),
ResourceTypes = make_set(resource_type_s),
LogHashes = make_set(log_hash_s)
by AgentId = agent_id_s, Severity = severity_s
Stage 5: extend
| extend
ActionList = strcat_array(Actions, ", "),
PolicyList = strcat_array(PolicyDecisions, ", "),
ResourceList = strcat_array(ResourceTypes, ", ")
Indicators
Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.
| Field | Kind | Values |
|---|---|---|
severity_s | in |
|
Output fields
Fields the rule emits when it matches. Chronicle authors list these in the outcome block; they appear on the detection and $risk_score drives alerting. Sentinel / Defender XDR rules build them up through project / summarize / extend stages. Sentinel maps these into alert fields via entityMappings and customDetails; Defender XDR custom detections surface them as alert fields directly.
| Field | Source |
|---|---|
ActionCount | summarize |
Actions | summarize |
AgentId | summarize |
LogHashes | summarize |
MaxAnomalyScore | summarize |
PolicyDecisions | summarize |
ResourceTypes | summarize |
Severity | summarize |
ActionList | extend |
PolicyList | extend |
ResourceList | extend |