// question

Investigating a Windows device, you suspect a non-standard executable was launched to set up a named pipe for client-server messaging. Determine the name of the executable that was run.

Reference KQL answer and model-by-model comparison.

8dbfc15c-527b-4ab0-a272-019f469d367f
question id
5/23
models correct
1
valid answer
22%
success rate
// reference answer

Human-validated correct answer for this question.

namedpipes_executor.exe
// model comparison
ModelAnswerKQL queryStatusTriesTimeCost
gemini-2.5-flash-preview-04-17
namedpipes_server.exe
DeviceEvents
| where ActionType contains "Pipe"
| distinct InitiatingProcessFileName
fail357.00s0.0298
gpt-35-turbo
namedpipes_executor.exe
DeviceProcessEvents | where ActionType == 'ProcessCreated' | where FileName contains 'pipe' | project FileName, ProcessCommandLine, TimeGenerated
pass13.29s0.0024
gpt-4-turbo-2024-04-09
no answer
no query generatedfail50.00s0.2302
gpt-4.1
namedpipes_executor.exe
DeviceProcessEvents
| where ProcessCommandLine has "pipe"
| where not(FileName in~ ("svchost.exe", "lsass.exe", "services.exe", "explorer.exe", "wininit.exe", "winlogon.exe"))
| project TimeGenerated, DeviceName, FileName, FolderPath, ProcessCommandLine, AccountName, InitiatingProcessFileName, InitiatingProcessCommandLine
| order by TimeGenerated desc
pass16.62s0.0135
gpt-4.1-finetuned
no answer
no query generatedfail50.00s0.0409
gpt-4.1-mini
namedpipes_executor.exe
DeviceProcessEvents
| where ProcessCommandLine has 'pipe'
| summarize Count=count() by FileName
| order by Count desc
pass13.76s0.0022
gpt-4.1-nano
no answer
no query generatedfail50.00s0.0016
gpt-4o
no answer
no query generatedfail50.00s0.0517
gpt-5-high
no answer
no query generatedfail50.00s0.2590
gpt-5-mini-high
no answer
no query generatedfail50.00s0.0192
gpt-5-mini-low
no answer
no query generatedfail50.00s0.0186
gpt-5-mini-medium
no answer
no query generatedfail50.00s0.0260
gpt-5-nano-high
namedpipes_executor.exe
let Lookback = 24h;
let NPKeywords = dynamic(["CreateNamedPipe", "NamedPipe", "Pipe"]);
(
DeviceProcessEvents
| where TimeGenerated >= ago(Lookback)
| where InitiatingProcessCommandLine has_any ("CreateNamedPipe","NamedPipe","Pipe") or ProcessCommandLine has_any ("CreateNamedPipe","NamedPipe","Pipe")
| extend ExecutableName = coalesce(InitiatingProcessFileName, FileName)
| project TimeGenerated, DeviceName, ExecutableName, InitiatingProcessCommandLine, ProcessCommandLine
)
| union (
DeviceEvents
| where TimeGenerated >= ago(Lookback)
| where InitiatingProcessCommandLine has_any ("CreateNamedPipe","NamedPipe","Pipe")
| extend ExecutableName = InitiatingProcessFileName
| project TimeGenerated, DeviceName, ExecutableName, InitiatingProcessCommandLine
)
| summarize Count = count() by ExecutableName, DeviceName
| sort by Count desc
| take 100
pass382.55s0.0048
gpt-5-nano-medium
dash
DeviceProcessEvents
| where InitiatingProcessCommandLine != ""
| where InitiatingProcessCommandLine contains "CreateNamedPipe" or InitiatingProcessCommandLine contains "NamedPipe" or InitiatingProcessCommandLine contains "Pipe"
| summarize Count = count(), FirstSeen = min(InitiatingProcessCreationTime), LastSeen = max(InitiatingProcessCreationTime) by ExecutableName = InitiatingProcessFileName, ExecutablePath = InitiatingProcessFolderPath
| sort by Count desc
| take 1
| project ExecutableName, ExecutablePath, Count, FirstSeen, LastSeen
fail152.88s0.0026
grok-3-beta
no answer
no query generatedfail50.00s0.0887
grok-3-mini-beta
namedpipes_server.exe
DeviceProcessEvents
| where ProcessCommandLine has "pipe" or InitiatingProcessCommandLine has "pipe"
| project FileName, ProcessCommandLine, InitiatingProcessCommandLine
| distinct FileName
| order by FileName asc
fail451.84s0.0056
o1-high
namedpipes_executor.exe
DeviceProcessEvents
| where TimeGenerated >= ago(7d)
// Look for references to named pipe usage
| where tolower(ProcessCommandLine) has "pipe" or tolower(tostring(AdditionalFields)) has "namedpipe"
// Focus on executables outside standard Windows or Program Files paths
| where FileName endswith ".exe"
| where not(FolderPath startswith "C:\\Windows" or FolderPath startswith "C:\\Program Files")
| project TimeGenerated,
          DeviceId,
          DeviceName,
          ActionType,
          FolderPath,
          FileName,
          ProcessCommandLine,
          AdditionalFields
| order by TimeGenerated desc
| limit 100
pass488.04s0.6552
o1-low
no answer
no query generatedfail50.00s0.7948
o3-high
no answer
no query generatedfail50.00s0.1153
o3-mini-high
no answer
no query generatedfail50.00s0.0404
o3-mini-low
no answer
no query generatedfail50.00s0.0461
o4-mini-high
no answer
no query generatedfail50.00s0.0538
o4-mini-low
no answer
no query generatedfail50.00s0.0416