PowerShell runs on every Windows endpoint, every day, for hundreds of legitimate reasons. The threat is never the binary. It is encoded commands, off-baseline timing, abnormal scope, and privilege drift on the same primary identity. Vedric reads that context.
THE PROBLEM
PowerShell is one of the most useful operational tools on Windows and one of the most abused. Static rules either flag too much (enterprise IT runs PowerShell constantly) or too little (the actually-malicious patterns are indistinguishable from legitimate ones at the binary level). Real PowerShell threat detection happens at the context layer: when the command runs, who runs it, how it is encoded, and how it compares to the user historical pattern.
The signed Microsoft binary is, of course, signed and clean. Process-tree heuristics catch some patterns and miss most. Without behavioral baseline, the EDR cannot tell that this PowerShell command is the first time this user has run it in six months.
Once a blocklist exists, attackers Base64-encode, escape, or pipe through. Defenders who keep adding patterns end up with a list nobody reviews and false positives nobody fixes.
PowerShell script-block logging is essential, and noisy. Without behavioral correlation it produces a search index, not an alert surface.
Excellent at script-content inspection during execution. Fights a known-bad battle. Does not see the off-baseline shape of how this user normally uses PowerShell.
Vedric reads command lines, script-block events, encoded arguments, and parent-child process context. Then it asks: how does this compare to this user, this endpoint, and this user peer cohort? Most PowerShell threat detection is the answer to that comparison, not a regex on the command itself.
Encoded PowerShell is decoded before baselining. The plaintext command is what gets compared to historical pattern. An encoded equivalent of a routine command is treated as routine; an encoded one-off is treated as the deviation it actually is.
A WMI query at noon by an IT admin is normal. The same query at 03:00 from a finance workstation by a domain admin who has not run that command in six months is a storyline. Vedric weights timing, identity, and scope as first-class context.
A PowerShell deviation alone is a footnote. PowerShell deviation correlated with scope drift, privilege drift, or a temporal anomaly on the same identity is a storyline. The platform promotes the correlated case and quietly logs the rest.
EXAMPLE SCENARIO · TIMELINE
The user is a finance employee who has never used PowerShell beyond what their installed apps invoke. Late on a Thursday evening, an encoded command runs from an unusual parent.
Static PowerShell rules would have generated either zero signal (the command itself is not on any blocklist) or noise (every encoded command would have flagged). The detection landed because the off-baseline shape of the invocation (on this user, at this time, from this parent) was the actual signal.
Vedric is metadata-only by design. The collector enforces these limits at the source code of the agent.
Read the full privacy stance →Early access is for teams whose PowerShell rule set is either too quiet or too loud, and who want behavioral context underneath instead of more thresholds.