Question Analysis
On a Windows host, suspicious PowerShell activity adjusted the system clock and recorded a value. What numeric value was used to slip the system date?
7bcf83bf-f5ef-425c-9d9a-71618ad9ed12
Question ID
10/16
Models Correct
1
Valid Answer
63%
Success Rate
Reference Answer
Human-validated correct answer for this question
3
Model Performance Comparison
See how different AI models performed on this question
Model | Answer | KQL Query | Status | Attempts | Time | Cost |
---|---|---|---|---|---|---|
gemini-2.5-flash-preview-04-17 | 3 | DeviceProcessEvents
| where InitiatingProcessFileName =~ "powershell.exe" or FileName =~ "powershell.exe"
| where ProcessCommandLine has "Set-Date" or InitiatingProcessCommandLine has "Set-Date"
| extend CommandLine = coalesce(ProcessCommandLine, InitiatingProcessCommandLine)
| extend ExtractedValue = extract(@'Set-Date.*?(-?\d+(\.\d+)?)', 1, CommandLine)
| where isnotempty(ExtractedValue)
| project Timestamp, DeviceName, CommandLine, ExtractedValue | Correct | 2 | 41.63s | 0.0209 |
gpt-35-turbo | No answer provided | No query generated | Incorrect | 5 | 0.00s | 0.0110 |
gpt-4-turbo-2024-04-09 | No answer provided | No query generated | Incorrect | 5 | 0.00s | 0.2359 |
gpt-4.1 | 3 | DeviceProcessEvents
| where FileName in~ ("powershell.exe", "pwsh.exe")
| where ProcessCommandLine has_any ("set-date", "Set-Date", "date ", "time ", "w32tm", "/set", "-date")
| extend SlippedValue = extract(@'(-?\d{1,5})', 1, ProcessCommandLine)
| where isnotempty(SlippedValue)
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine, SlippedValue
| order by TimeGenerated desc | Correct | 3 | 14.22s | 0.0270 |
gpt-4.1-finetuned | No answer provided | No query generated | Incorrect | 5 | 0.00s | 0.0497 |
gpt-4.1-mini | 3 | DeviceProcessEvents
| where FileName contains "powershell" and (ProcessCommandLine contains "date" or ProcessCommandLine contains "Set-Date" or ProcessCommandLine contains "system clock")
| project DeviceName, InitiatingProcessAccountName, TimeGenerated, ProcessCommandLine, AdditionalFields
| extend NumericValue = extract(@"(\d+)", 1, ProcessCommandLine)
| summarize by NumericValue, ProcessCommandLine, DeviceName, InitiatingProcessAccountName, TimeGenerated
| where isnotempty(NumericValue) | Correct | 1 | 16.62s | 0.0023 |
gpt-4.1-nano | 3 | DeviceProcessEvents
| where ProcessCommandLine contains 'Set-Date' or ProcessCommandLine contains 'set-date'
// Filter for suspicious activities involving system clock adjustments
| project TimeGenerated, ProcessCommandLine, InitiatingProcessFileName, InitiatingProcessId
| extend CommandLineLower = tolower(ProcessCommandLine)
| where CommandLineLower contains 'set-date'
// Attempt to extract the date value used
| extend SlipValue = extract(@'([+-]?\d+\b)', 1, ProcessCommandLine)
| project TimeGenerated, ProcessCommandLine, SlipValue | Correct | 1 | 2.57s | 0.0005 |
gpt-4o | 3 | DeviceProcessEvents
| where InitiatingProcessFileName == "powershell.exe"
| where InitiatingProcessCommandLine has_any ("Set-Date", "Adjust", "SystemTime")
| extend NumericValue = extract("\\d+", 0, InitiatingProcessCommandLine)
| project DeviceId, DeviceName, InitiatingProcessCommandLine, NumericValue, TimeGenerated | Correct | 1 | 4.19s | 0.0146 |
grok-3-beta | 3 | DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where InitiatingProcessFileName =~ 'powershell.exe' or InitiatingProcessFileName =~ 'pwsh.exe'
| where ProcessCommandLine has_any ('Set-Date', 'date', 'time', 'clock')
| extend NumericValue = extract('[-+]?[0-9]+', 0, ProcessCommandLine)
| where isnotempty(NumericValue)
| project Timestamp, DeviceName, InitiatingProcessFileName, ProcessCommandLine, NumericValue
| order by Timestamp desc | Correct | 1 | 10.38s | 0.0258 |
grok-3-mini-beta | No answer provided | No query generated | Incorrect | 5 | 0.00s | 0.0073 |
o1-high | 3 | DeviceProcessEvents
| where ActionType == "ProcessCreated"
| where InitiatingProcessFileName in~ ("powershell.exe", "powershell_ise.exe", "pwsh.exe") or InitiatingProcessCommandLine contains "powershell"
| where ProcessCommandLine has_any ("Set-Date", "AddDays", "AddHours", "AddMinutes", "AddSeconds", "AddMonths", "AddYears")
| parse kind=regex ProcessCommandLine with ".*Add(?:Days|Hours|Minutes|Seconds|Months|Years)\\(" numericValue:long "\\).*"
| project TimeGenerated, DeviceName, InitiatingProcessCommandLine, ProcessCommandLine, numericValue
| order by TimeGenerated desc | Correct | 2 | 58.87s | 0.4726 |
o1-low | 3 | union
(
DeviceProcessEvents
| where ActionType =~ "ProcessCreated"
| where FileName =~ "powershell.exe"
// Search for commands explicitly adjusting time using Set-Date -Adjust
| where ProcessCommandLine has_all ("Set-Date", "-Adjust")
| extend SlippedValue = extract(@"-[Aa]djust\s+([^\s]+)", 1, ProcessCommandLine)
| project TimeGenerated, DeviceId, DeviceName, SlippedValue, ProcessCommandLine
),
(
DeviceProcessEvents
| where ActionType =~ "ProcessCreated"
| where FileName =~ "powershell.exe"
// Search for calls to time-additive methods like AddDays, AddHours, etc.
| where ProcessCommandLine matches regex @"Add(?:Seconds|Minutes|Hours|Days)\([^\)]*\)"
| extend SlippedValue = extract(@"Add(?:Seconds|Minutes|Hours|Days)\(([^\)]+)\)", 1, ProcessCommandLine)
| project TimeGenerated, DeviceId, DeviceName, SlippedValue, ProcessCommandLine
)
| order by TimeGenerated desc | Correct | 2 | 54.65s | 0.3708 |
o3-mini-high | No answer provided | No query generated | Incorrect | 5 | 0.00s | 0.0362 |
o3-mini-low | No answer provided | No query generated | Incorrect | 5 | 0.00s | 0.0375 |
o4-mini-high | 3 | DeviceProcessEvents
| where FileName in ("powershell.exe", "pwsh.exe")
| where ProcessCommandLine has "Set-Date"
| extend
directDateNumber = extract(@"-Date\s+([+-]?\d+)", 1, ProcessCommandLine),
addMethodNumber = extract(@"Add(?:Days|Hours|Minutes|Seconds)\(([+-]?\d+)\)", 1, ProcessCommandLine)
| extend slipValue = coalesce(directDateNumber, addMethodNumber)
| where isnotempty(slipValue)
| project TimeGenerated, DeviceName, InitiatingProcessAccountName, slipValue, ProcessCommandLine | Correct | 1 | 33.21s | 0.0121 |
o4-mini-low | 3 | DeviceProcessEvents
| where FileName in~ ("powershell.exe","pwsh.exe")
| where ProcessCommandLine has_any ("AddDays(", "Set-Date")
| extend SlipValueRaw = extract(@"\.AddDays\(\s*([+-]?\d+)\s*\)", 1, ProcessCommandLine)
| extend SlipValue = toint(SlipValueRaw)
| where isnotempty(SlipValue)
| project TimeGenerated, DeviceName, Account = InitiatingProcessAccountName, ProcessCommandLine, SlipValue
| sort by TimeGenerated asc | Correct | 3 | 91.45s | 0.0332 |