brexhq / substation

Substation is a toolkit for routing, normalizing, and enriching security event and audit logs.
https://substation.readme.io
MIT License
330 stars 21 forks source link

File/Lookup processor #65

Closed shellcromancer closed 1 year ago

shellcromancer commented 1 year ago

Is your feature request related to a problem? Please describe. Today Substation can do enrichment with external data from HTTP responses, managed services like DynamoDB or specific enrichment files like IP Databases but not with generic files such as JSON, CSVs, YAML or other document types. Adding support for these could be useful to query attributes with potentially less overhead than calling external services.

Describe the solution you'd like Add a new processor(s) that support lookups against standard document types mentioned above that allows for lookup up keys in the document with input keys in the data being processed and putting specifying the output to a specified key.

Describe alternatives you've considered We could continue to add narrow processors for specific documents and their use cases like IP Database for access DB's as needed, but a lot of this effort could become redundant

Additional context Similar features in other data transformation tools:

jshlbrd commented 1 year ago

This is a great idea for an enhancement -- combined with our ability to dynamically retrieve files, this basically turns the Internet into a source of threat intelligence.

Here are some notes for whomever decides to work on this:

jshlbrd commented 1 year ago

This is closed by #66 -- we've taken a different approach than other systems have and abstracted lookup activity into key-value stores (lookups are simply read-only key-value stores). The PR introduces CSV, JSON, and text KV stores, but future ones (like YAML) can be added as needed.