skip to content

Agent Blind Spots

Fleet query tools such as osquery, Velociraptor and Tanium answer only for hosts that carry them, and appliances and hypervisors carry nothing. Interviewers push on the estate no agent reaches.

on this pageshow

explore

questions

4

Which hosts in an enterprise estate can carry no EDR agent at all, and what does the absence of an EDR alert from them prove?

level: juniorimportance: must knowfreq 74%

answer

  1. appliances, hypervisors, other people's laptops
  2. vendor-locked OS refuses third-party code
  3. the sensor sits on the node, not in the pod
  4. no sensor means no data, not no activity

basics

~20 s

Network and storage appliances with vendor-locked operating systems, hypervisors such as ESXi, embedded and OT devices, and contractor or BYOD laptops you have no right to manage. No alert from them proves nothing: there is no sensor to fire one.

solid answer

~50 s

Four classes routinely carry no sensor. Appliances (storage, network, security gateways) run a vendor-locked OS where installing third-party code breaks support or is simply impossible. Hypervisors such as ESXi accept only signed vendor packages, and most EDR products ship nothing for them. Embedded, OT and legacy hosts fall outside supported platforms. Contractor and BYOD laptops are machines you have no administrative or legal right to touch. Containers are a partial case: the sensor runs on the node, so you get node-level process activity but often weak per-pod attribution and nothing for a pod that lived ninety seconds. On any of these, silence is architectural. An EDR alert proves a detection fired; the absence of one on an unagented host proves only that no sensor existed there. Scoping has to move to sources off the host: flow records, DHCP and NAC leases, DNS, proxy, identity sign-ins, and whatever the device itself forwards by syslog.

go deeper

for a junior

Be ready to name the classes out loud: appliances, hypervisors, embedded and OT devices, and hosts you do not own. Then say the key sentence: no sensor means no data, which is not the same as no activity.

for a middle

Explain why each class refuses an agent, the difference between installed and actually collecting, and what a node-level sensor does and does not resolve for containers.

for a senior

Show that you scope around the gap in practice: name the compensating source per host class, state what a flow record or DNS log can and cannot establish, and record the unagented host as an open question rather than a clean one.

for a principal

Own the estate view: which unagented classes you accept, what signal you require from them by procurement, and how you stop the exception list from quietly becoming the architecture.

## The question behind the question Every endpoint detection story assumes a sensor. Interviewers ask this because analysts routinely write "no EDR detections on the host" into a case note as if it were a negative finding, when for a whole slice of the estate it is not a finding at all. Knowing which hosts can never carry an agent, and saying so out loud during triage, is a basic competence. ## The classes that cannot take an agent **Appliances.** Storage arrays, load balancers, firewalls, VPN concentrators, backup appliances and mail gateways run a vendor-controlled operating system. There is often no package manager, no shell for you, and a support contract that says third-party software voids it. These devices hold administrative credentials, sit in privileged network positions and are attractive targets, and they are exactly where an agent cannot go. **Hypervisors.** ESXi is not a general-purpose Linux host: third-party code arrives as signed VIB packages, and few endpoint vendors publish one. An intruder with hypervisor access can read or copy guest disks, snapshot memory, or shut down and encrypt virtual machines without touching a single agented guest OS. What you do get is the platform's own record: forwarded ESXi syslog, `/var/log/hostd.log`, `/var/log/auth.log`, `/var/log/shell.log`, and vCenter task-and-event entries showing SSH or the ESXi Shell being enabled, a service starting, or a user logging in. **Embedded, OT and legacy.** Printers, cameras, building controls, industrial controllers and out-of-support operating systems either have no agent build or cannot survive one. "Unsupported platform" is a coverage answer nobody enjoys giving, but the honest one. **Hosts you do not own.** A contractor's laptop, a partner's jump box, an employee's personal device under a BYOD arrangement. The obstacle here is not technical but legal and contractual, and it does not get solved by trying harder. **Containers, partially.** A node-level sensor sees processes inside containers, because containers share the node kernel. What is unreliable is attribution: mapping a process to the right pod, image and namespace depends on the sensor resolving cgroup and namespace metadata, and short-lived pods often exit before anyone looks. Kubernetes control-plane audit records are a separate source, owned elsewhere. ## Present but not seeing An agent showing green in the console is not the same as an agent collecting. A Linux sensor on an unsupported kernel may fall back to a degraded mode with no process telemetry, a macOS sensor without approved system extensions or full-disk access sees far less than you expect, and a policy can assign a host to a monitor-only or detect-only profile. "Installed" is a fact about deployment, not about the event stream. ## What absence actually means Get the direction right, because this is the sentence interviewers listen for. An EDR alert proves that a rule or model in that product fired on data it received. It does not prove something malicious happened. The absence of an alert proves less still: it is consistent with a quiet host, with an agent that never saw the behaviour, with a behaviour nobody wrote a detection for, and, on an unagented host, with an intrusion that ran for months. On the unagented host, the absence is not even evidence of a gap in detection logic; there was never any data. ## What you use instead For each unagented class, name the compensating source before you need it: | Host class | What can still see it | | --- | --- | | Appliance | Its own forwarded syslog, management-interface authentication records, flow records to and from its management VLAN | | Hypervisor | Forwarded ESXi syslog and shell/auth logs, vCenter events, flow at the management network | | BYOD / contractor | VPN and NAC records, identity provider sign-ins, proxy and DNS, the SaaS audit trails it touched | | Container workload | Node-level sensor telemetry, service-mesh or ingress logs, the application's own logs | A flow record proves bytes moved between two addresses and ports and carries no payload, so it can establish contact and volume and never content. A DNS query log shows the name asked for, not what the process did with the answer. Those limits are the point: you are reconstructing, not observing. ## The outcome you should expect to describe The realistic ending for this class of host is that the activity is never found there first. An intruder living on a hypervisor or an appliance is typically discovered only when they reach back onto a monitored endpoint, and the earlier residence is reconstructed afterwards from forwarded platform logs and flow. Whether that reconstruction is possible at all was decided months earlier, by whether anyone made the device forward its logs.

  • An EDR sensor runs on a Kubernetes node. What do you get and what do you lose for a compromised pod?
    You get process execution, file writes and network connections as seen from the node, because containers share the node kernel. What you lose is reliable attribution to a specific pod and image unless the sensor resolves cgroup and namespace metadata, and anything about a pod that exited before collection or lookup happened. Short-lived workloads are the hard case.
  • A managed laptop shows the agent installed and healthy, yet you see no process telemetry from it. What are the usual causes?
    The kernel module or driver failed to load on an unsupported kernel version, macOS system extensions or full-disk access were never approved, the sensor dropped into a reduced mode after an update, or policy put the host in a monitor-only profile that collects far less. Installed is a deployment fact, not a telemetry fact.
  • You are scoping an intrusion and a suspect host turns out to have no agent. What do you do next?
    Pivot to sources that are not on the host: flow records for contact and volume, DHCP or NAC leases to pin identity to an address, DNS and proxy, identity provider sign-ins, and any syslog the device itself forwards. Then write down explicitly what you cannot rule out on that host, so the case does not silently record it as clean.

saying these in an interview costs you the question

  • Calls an unagented host clean because no EDR alert fired
  • Assumes every asset in the CMDB can take an agent
  • Thinks a node-level sensor gives clean per-pod attribution
  • Treats the hypervisor as out of scope because no user logs in
  • Believes an appliance is safe because its OS is proprietary

context

open as a page

A build directory sits on the EDR performance exclusion list. What does that exclusion suppress, and how would an adversary use it?

level: middleimportance: should knowfreq 55%

basics

~20 s

It suppresses whatever the product ties to that path, usually on-access scanning and sometimes behavioural detection or collection too. An adversary who can read or guess the list stages tooling inside the excluded directory and runs it unscanned.

open as a page

Your EDR console records a token-authenticated agent uninstall on a production Linux host. How do you decide whether an adversary did it?

level: seniorimportance: should knowfreq 60%

basics

~20 s

Treat it as an intrusion until proven otherwise. Tie the uninstall to a change record and an operator, work out where the token came from, and reconstruct the host from records other than the agent's.

open as a page

A vendor voids support if you install the EDR agent and the platform team refuses it on CPU grounds. How do you design around that?

level: principalimportance: nice to knowfreq 36%

basics

~20 s

Stop arguing about the agent and buy visibility elsewhere: mandatory log forwarding, network chokepoints, jump-host-only administration with recorded sessions, and segmentation. Then record the gap as an owned, dated risk acceptance and make agent support a procurement requirement.

open as a page