Question Analysis

A Linux host briefly hosted an HTTP service under /tmp. Examine process creation logs to determine the exact python3 command that was used to start the server on port 9090.

3ea1f938-f80a-4305-9aa8-431bc4867313
Question ID
13/23
Models Correct
1
Valid Answer
57%
Success Rate
Reference Answer

Human-validated correct answer for this question

python3 -m http.server 9090
Model Performance Comparison

See how different AI models performed on this question

ModelAnswerKQL QueryStatusAttemptsTimeCost
gemini-2.5-flash-preview-04-17
No answer provided
No query generated
Incorrect
5
0.00s
0.0238
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.2219
gpt-4.1
No answer provided
No query generated
Incorrect
5
0.00s
0.0470
gpt-4.1-finetuned
No answer provided
No query generated
Incorrect
5
0.00s
0.0334
gpt-4.1-mini
python3 -m http.server 9090
DeviceProcessEvents | where ProcessCommandLine contains "python3" and ProcessCommandLine contains "/tmp" and ProcessCommandLine contains "9090" | project TimeGenerated, DeviceName, ProcessId, ProcessCommandLine | sort by TimeGenerated desc
Correct
1
4.03s
0.0024
gpt-4.1-nano
python3 -m http.server 9090
DeviceProcessEvents | where ProcessCommandLine contains "python3" | where ProcessCommandLine contains "9090" | project ProcessCommandLine, InitiatingProcessCreationTime, DeviceName, ProcessId
Correct
1
2.04s
0.0006
gpt-4o
python3 -m http.server 9090
DeviceProcessEvents | where InitiatingProcessCommandLine has "python3" and InitiatingProcessCommandLine has "-m http.server" and InitiatingProcessCommandLine has "9090" and InitiatingProcessCommandLine has "/tmp" | project TimeGenerated, DeviceName, InitiatingProcessCommandLine
Correct
1
3.60s
0.0164
gpt-5-high
python3 -m http.server 9090
let targetPort = 9090; let portRegex = strcat(@"(^|[^\d])", tostring(targetPort), @"([^\d]|$)"); DeviceProcessEvents | where ActionType == "ProcessCreated" | join kind=innerunique ( DeviceInfo | where OSPlatform == "Linux" | project DeviceId, DeviceName ) on DeviceId | extend cmdl = tostring(ProcessCommandLine) | where isnotempty(cmdl) // python3 starting http.server on the target port | where tolower(cmdl) has "http.server" and cmdl matches regex portRegex | where tolower(FileName) matches regex @"^python3(\.\d+)?$" or tolower(cmdl) has "python3" // get working directory from various possible keys in AdditionalFields | extend WorkingDirectory = coalesce( tostring(AdditionalFields["cwd"]), tostring(AdditionalFields["Cwd"]), tostring(AdditionalFields["WorkingDirectory"]), tostring(AdditionalFields["workdir"]), tostring(AdditionalFields["CurrentDirectory"])) // hosted under /tmp: either CWD is /tmp or command references /tmp (e.g., --directory /tmp) | where tolower(cmdl) has "/tmp" or (isnotempty(WorkingDirectory) and tolower(WorkingDirectory) has "/tmp") | project TimeGenerated, DeviceName, AccountName, FileName, FolderPath, ProcessId, ProcessCommandLine=cmdl, WorkingDirectory | order by TimeGenerated asc
Correct
3
212.20s
0.1324
gpt-5-mini-high
No answer provided
No query generated
Incorrect
5
0.00s
0.0206
gpt-5-mini-low
python3 -m http.server 9090
// Search DeviceProcessEvents and DeviceEvents for python3 starting an http server on port 9090 under /tmp let lookback = 30d; let pythonPatterns = dynamic(["python3","python","/usr/bin/python3","/usr/bin/python"]); let httpModuleRegex = @"(?i)\b-m\s+http\.server\b|\bSimpleHTTPServer\b|\bhttp\.server\b|python\s+-m\s+http"; // Helper to normalize fields from both tables let procs = ( DeviceProcessEvents | where TimeGenerated >= ago(lookback) | where isnotempty(ProcessCommandLine) or isnotempty(FileName) | extend Cmd = coalesce(ProcessCommandLine, strcat(FileName, " ", tostring(ProcessId))) | extend SourceTable = "DeviceProcessEvents", ProcTime = ProcessCreationTime | project TimeGenerated, ProcTime, DeviceName, DeviceId, ProcessId, FileName, Cmd, InitiatingProcessFileName, InitiatingProcessId, InitiatingProcessCommandLine, InitiatingProcessAccountName, InitiatingProcessAccountDomain, SourceTable ); let events = ( DeviceEvents | where TimeGenerated >= ago(lookback) | where ActionType == "ProcessCreated" or ActionType == "CreateProcess" | where isnotempty(ProcessCommandLine) or isnotempty(FileName) | extend Cmd = coalesce(ProcessCommandLine, strcat(FileName, " ", tostring(ProcessId))) | extend SourceTable = "DeviceEvents", ProcTime = ProcessCreationTime | project TimeGenerated, ProcTime, DeviceName, DeviceId, ProcessId, FileName, Cmd, InitiatingProcessFileName, InitiatingProcessId, InitiatingProcessCommandLine, InitiatingProcessAccountName, InitiatingProcessAccountDomain, SourceTable ); procs | union events | where tolower(Cmd) contains "python" // ensure python invocations | where (Cmd matches regex httpModuleRegex) or Cmd contains "9090" or Cmd contains ":9090" or Cmd contains "port 9090" or Cmd contains "--bind" and Cmd contains "9090" | where Cmd contains "/tmp" or Cmd contains "tmp/" or InitiatingProcessCommandLine contains "/tmp" or InitiatingProcessCommandLine contains "tmp/" | extend MatchedHttp = extract(@"(-m\s+http\.server\b.*?|http\.server.*?|SimpleHTTPServer.*?|\b\d{2,5}\b)", 1, Cmd) | extend FullCommand = trim('"', Cmd) | project ProcTime = coalesce(ProcTime, TimeGenerated), TimeGenerated, DeviceName, DeviceId, ProcessId, FileName, FullCommand, MatchedHttp, InitiatingProcessFileName, InitiatingProcessId, InitiatingProcessCommandLine, InitiatingProcessAccountName, InitiatingProcessAccountDomain, SourceTable | order by ProcTime desc | take 50
Correct
1
15.16s
0.0041
gpt-5-mini-medium
No answer provided
No query generated
Incorrect
5
0.00s
0.0238
gpt-5-nano-high
No answer provided
No query generated
Incorrect
5
0.00s
0.0091
gpt-5-nano-medium
No answer provided
No query generated
Incorrect
5
0.00s
0.0095
grok-3-beta
No answer provided
No query generated
Incorrect
5
0.00s
0.0931
grok-3-mini-beta
python3 -m http.server 9090
DeviceProcessEvents | where ProcessCommandLine contains "python3" and ProcessCommandLine contains "9090" | project TimeGenerated, DeviceName, ProcessCommandLine | order by TimeGenerated desc | take 10
Correct
1
11.03s
0.0017
o1-high
python3 -m http.server 9090
DeviceInfo | where OSPlatform == "Linux" | distinct DeviceId | join kind=inner ( DeviceProcessEvents | where ProcessCommandLine has "python3" | where ProcessCommandLine has "9090" | where ProcessCommandLine has "/tmp" ) on DeviceId | project TimeGenerated, DeviceName, FolderPath, ProcessCommandLine | order by TimeGenerated desc
Correct
1
46.59s
0.3239
o1-low
python3 -m http.server 9090
DeviceProcessEvents | join kind=inner ( DeviceInfo | where OSPlatform contains "Linux" ) on DeviceId | where (FileName in~ ("python", "python3") or ProcessCommandLine contains "python") | where ProcessCommandLine contains "9090" | where ProcessCommandLine contains "/tmp" or FolderPath has "/tmp" or InitiatingProcessFolderPath has "/tmp" | project TimeGenerated, DeviceName, FolderPath, FileName, ProcessCommandLine, ProcessCreationTime | order by TimeGenerated desc
Correct
3
99.55s
0.6801
o3-high
python3 -m http.server 9090
// 1) restrict the hunt to Linux machines that sent telemetry in the selected time window let LinuxDevices = DeviceInfo | where OSPlatform has "Linux" | summarize by DeviceId; // 2) find python3 processes that look like a one-off HTTP server under /tmp listening on port 9090 DeviceProcessEvents | where ActionType == "ProcessCreated" | where DeviceId in (LinuxDevices) // make sure we are looking at python3 (name or command-line) | where FileName startswith "python3" or ProcessCommandLine has "python3" // invocation of the built-in web-server module (modern & legacy forms) | where ProcessCommandLine has "http.server" or ProcessCommandLine matches regex "(?i)SimpleHTTPServer" // command must mention the port number and the /tmp directory | where ProcessCommandLine has "9090" and ProcessCommandLine has "/tmp" // extract any 4- or 5-digit number surrounded by whitespace or punctuation, treat it as a candidate port | extend ExtractedPort = toint(extract(@"(?:\s|:)(\d{4,5})(?:\s|$)", 1, ProcessCommandLine)) | where ExtractedPort == 9090 // if the same process logged multiple creation events, keep the most recent | summarize arg_max(TimeGenerated, *) by DeviceId, ProcessId | project TimeGenerated, DeviceName, AccountName, ProcessId, ProcessCommandLine, FolderPath, InitiatingProcessCommandLine
Correct
5
170.59s
0.0920
o3-mini-high
python3 -m http.server 9090
DeviceProcessEvents | extend CMD = coalesce(ProcessCommandLine, InitiatingProcessCommandLine) | where CMD contains "python3" and CMD contains "/tmp" and CMD contains "9090" | project TimeGenerated, DeviceName, FileName, CMD | order by TimeGenerated desc
Correct
3
67.81s
0.0280
o3-mini-low
python3 -m http.server 9090
DeviceProcessEvents | where ProcessCommandLine contains "python3" | where ProcessCommandLine contains "/tmp" | where ProcessCommandLine contains "9090" | project TimeGenerated, DeviceName, ProcessCommandLine, InitiatingProcessCommandLine | order by TimeGenerated asc
Correct
2
48.49s
0.0214
o4-mini-high
python3 -m http.server 9090
DeviceProcessEvents | where ActionType == "ProcessCreated" | where ProcessCommandLine has "python3" and ProcessCommandLine has "9090" and ProcessCommandLine has "/tmp" | project ProcessCreationTime, DeviceName, ProcessId, ProcessCommandLine | order by ProcessCreationTime desc
Correct
1
33.09s
0.0126
o4-mini-low
python3 -m http.server 9090
DeviceProcessEvents | where FileName == "python3" or ProcessCommandLine has "python3" | where ProcessCommandLine has "/tmp" and (ProcessCommandLine has "http.server" or ProcessCommandLine has "SimpleHTTPServer" or ProcessCommandLine has "-m http.server") | where ProcessCommandLine has "9090" | project ProcessCreationTime, DeviceName, ProcessId, ProcessCommandLine | sort by ProcessCreationTime asc
Correct
3
101.79s
0.0294