Skip to main content

The Red Canary EDR validation tool.

Project description

This is an EDR agent validator project for the Red Canary Engineering Interview.

I created this project using Typer and you can manage all it's dependencies with Poetry.

It's using psutil for cross platform process information gathering and uses desert to serialize its dataclasses to logs (for activity tracking for correlation with EDR agents).

The arguments and defaults are all documented in the help menu. You can install it with pip via pip install edr-agent-validator.

Try it out! By default all actions are appended as JSON to a file in the directory you run the tool in called activity_log.txt, but this can be configured.

It's a fairly simple tool, it uses the sockets api for it's network connections, basic python file I/O apis for file creation, modifying, and deletion, and the subprocess.Popen api for launching a background process.

For the network activity component, it can send bytes over UDP or TCP.

Most of the time I spent learning how to build an eloquent CLI with Typer and the new (to me) python type annotions. It was quite a fun learning exercise!

One thing to keep in mind about the activity logging is that during the printing/serialization of a dict, the key order is not consistent. This makes the logs more suited for parsing by machines than humans, as each line is it's own json object with it's keys in an arbitrary order. I'd probably improve this in the future to have a consistent serialization order.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edr-agent-validator-0.2.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

edr_agent_validator-0.2.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file edr-agent-validator-0.2.0.tar.gz.

File metadata

  • Download URL: edr-agent-validator-0.2.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.10.1 Darwin/20.6.0

File hashes

Hashes for edr-agent-validator-0.2.0.tar.gz
Algorithm Hash digest
SHA256 8e8464bfbe6182947aa3785192b8292ed2ad9c1eabe6de45ecb1e25ae52bfcdf
MD5 6473067d867344bf84e95cab064a2046
BLAKE2b-256 9887cc7a8c1afcceb3edc7fdc730a5cafd3298887c3c807cc8974c874da15b08

See more details on using hashes here.

File details

Details for the file edr_agent_validator-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for edr_agent_validator-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d8fd6474add9626c8dccda7d1bd3b5a9a686cb3df0fd6e855b6b9dd85fd87596
MD5 4e4e2f302b23a1a4620d68ec9bdbd2f0
BLAKE2b-256 4fd07485ffc775ff81d92c91a5eadf7fa7ae37cccb0fde03f0d8a8b01d243be6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page