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.
Metadata
Release files for edr-agent-validator 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| edr-agent-validator-0.2.0.tar.gz | 4.8 kB | Without provenance | Details for edr-agent-validator-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| edr_agent_validator-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for edr_agent_validator-0.2.0-py3-none-any.whl |
Total release size: 11.0 kB
Release files / edr-agent-validator-0.2.0.tar.gz
| Download URL | edr-agent-validator-0.2.0.tar.gz |
|---|---|
| Size | 4.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8e8464bfbe6182947aa3785192b8292ed2ad9c1eabe6de45ecb1e25ae52bfcdf
|
|
BLAKE2b-256 checksum How to use checksums |
9887cc7a8c1afcceb3edc7fdc730a5cafd3298887c3c807cc8974c874da15b08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.10.1 Darwin/20.6.0
|
Release files / edr_agent_validator-0.2.0-py3-none-any.whl
| Download URL | edr_agent_validator-0.2.0-py3-none-any.whl |
|---|---|
| Size | 6.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d8fd6474add9626c8dccda7d1bd3b5a9a686cb3df0fd6e855b6b9dd85fd87596
|
|
BLAKE2b-256 checksum How to use checksums |
4fd07485ffc775ff81d92c91a5eadf7fa7ae37cccb0fde03f0d8a8b01d243be6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.1.12 CPython/3.10.1 Darwin/20.6.0
|
Security for edr-agent-validator 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.