Lesson 19 — The Alert Needed More Context Before a Verdict
The alert looked suspicious enough to investigate, but not suspicious enough to call malicious.
A user had launched PowerShell. The command contacted an external destination. Nothing had been blocked.
There was no obvious malware, no confirmed credential theft and no clear business explanation.
The analyst did not need more data everywhere. The analyst needed the right missing evidence.
Suspicious is not a verdict
The analyst's next job is to determine which unanswered question matters most — and collect evidence that can answer it.
Case briefing
Investigation objective
Identify the minimum additional evidence required to move from uncertainty to a defensible close, contain, escalate or continue decision.
Investigator's rule
Do not collect evidence without a question. Every pivot should reduce a specific uncertainty in the investigation.
Stage 1 — separate facts from unanswered questions
| Current fact | Unanswered question |
|---|---|
| PowerShell executed | What process launched it? |
| An external URL was contacted | Was the destination expected or previously seen? |
| Content was downloaded | What file was created? |
| The user was logged on | Did the user intentionally perform the action? |
| No malware verdict exists | Did the downloaded content execute or create follow-on activity? |
More telemetry is not always better
A broad hunt across weeks of unrelated data may create hundreds of observations without answering the one question that determines the verdict.
Prioritise decision-changing evidence
If discovering that Word launched PowerShell would materially change your assessment, process ancestry is more valuable right now than collecting every network event on the device.
Stage 2 — ask the first decision-changing question
Stage 3 — inspect process ancestry with KQL
Start with the alert time and reconstruct the execution context around PowerShell.
let TargetDevice = "HR-LT-031";
DeviceProcessEvents
| where Timestamp between (
datetime(2026-08-23 14:20:00) ..
datetime(2026-08-23 14:35:00)
)
| where DeviceName =~ TargetDevice
| project Timestamp,
AccountName,
FileName,
ProcessCommandLine,
InitiatingProcessFileName,
InitiatingProcessCommandLine
| order by Timestamp asc
The first answer changes the case
The query shows that WINWORD.EXE launched PowerShell. That does not prove malicious activity, but it makes the execution substantially harder to explain as routine administration.
Now ask the next question
Investigation should be iterative. Once process ancestry raises concern, the next useful question becomes: what did PowerShell download, and what happened to it?
Stage 4 — follow the downloaded file
Stage 5 — correlate file creation and execution
Now the investigation has a specific filename. Search for file creation and process execution instead of continuing with a broad hunt.
let TargetDevice = "HR-LT-031";
let TargetFile = "update.exe";
union
(
DeviceFileEvents
| where DeviceName =~ TargetDevice
| where FileName =~ TargetFile
| project Timestamp, EventType="File",
FileName, FolderPath, SHA1
),
(
DeviceProcessEvents
| where DeviceName =~ TargetDevice
| where FileName =~ TargetFile
| project Timestamp, EventType="Process",
FileName, FolderPath, SHA1
)
| order by Timestamp asc
The evidence crosses a threshold
The file was not merely downloaded. `update.exe` executed seconds later. Combined with Word launching PowerShell, the evidence now supports escalation without needing to know every detail of the attack first.
You do not need perfect certainty
A defensible SOC decision is not the same as complete forensic reconstruction. Once the evidence supports containment or escalation, delaying action for unnecessary certainty can increase risk.
Stage 6 — know what evidence is enough
| Decision | Minimum evidence might include |
|---|---|
| Close as expected | Known activity, expected process ancestry, approved user/action and no unexplained follow-on behaviour. |
| Continue investigating | Suspicion remains, but a specific unanswered question could materially change the verdict. |
| Escalate | Multiple suspicious facts align and specialist or higher-tier investigation is warranted. |
| Contain | Evidence indicates credible active compromise or unacceptable ongoing risk. |
Avoid endless investigation
Analysts can keep finding new questions forever. The goal is not to remove every uncertainty. The goal is to reduce the uncertainties that matter to the decision.
Document what remains unknown
If you escalate before every question is answered, record the unresolved items clearly. The next analyst should know what is established, what is inferred and what still needs validation.
Stage 7 — build the minimum-context workflow
Write the triage finding
Lesson 19 key takeaways
- Suspicious activity does not automatically provide enough evidence for a verdict.
- Separate established facts from unanswered questions.
- Prioritise evidence that could materially change the decision.
- Do not collect telemetry without knowing what question it should answer.
- Use focused KQL pivots to reduce uncertainty step by step.
- Process ancestry can radically change the interpretation of a scripting alert.
- Follow downloaded files into creation and execution evidence.
- You do not need complete forensic certainty before escalating or containing credible risk.
- Stop investigating when the evidence is sufficient for a defensible operational decision.
- Document remaining uncertainty so the next analyst knows exactly what is unresolved.
Module 2 — alert triage
You have now learned how to identify exactly what evidence is missing before reaching a verdict. Next, Agent Foskett brings the entire module together into a repeatable SOC triage workflow.
Continue your SOC Analyst training
🔎 SOC Analyst Academy — Module 2: Alert Triage — Deciding What Matters First
How much evidence does a SOC analyst need before a verdict?
Lesson 19 of the Agent Foskett SOC Analyst Academy teaches analysts how to identify evidence gaps, ask decision-changing investigation questions and collect the minimum additional context required for a defensible security decision.
KQL evidence collection for Microsoft Defender XDR investigations
Learn how to use DeviceProcessEvents and DeviceFileEvents to investigate process ancestry, follow downloaded files and determine when security evidence is sufficient to close, contain, escalate or continue an investigation.
