v4.4.0
Summary
contentctl 4.4.0 includes a significant number of fixes, updates, and new features.
Most notably, we now include support for
-
Dashboard Objects - Dashboards can now be defined as content in the dashboards/ folder after creating a new app! These dashboards should be created in Splunk by creating a Simple XML Dashboard. Go to the "View Source" button when editing your dashboard to extract the JSON that represents that dashboard. Each dashboard is represented by a YML file and this JSON file (the JSON file should have the same name as the YML file. You can see some example dashboards that ESCU ships here: https://github.com/splunk/security_content/tree/develop/dashboards
-
Drilldown Searches: Production searches which are NOT
type: Hunting
are now required to have two Drilldown searches. These now render in the Enterprise Security UI and make triaging and investigating your alerts much easier. For some example Drilldowns, please refer here: https://github.com/splunk/contentctl/blob/cfda377c6887e28e02bb1798382ac0070b7983c2/contentctl/templates/detections/endpoint/anomalous_usage_of_7zip.yml#L32-L40 -
Throttling/Alert Suppression: In order to avoid too many alerts being generated in a given time frame, we have added support for Throttling/Alert Suppression on a per detection basis. Please refer to the inline documentation here for more information to:https://github.com/splunk/contentctl/blob/main/contentctl/objects/throttling.py . Splunk provides more information about throttling here: https://docs.splunk.com/Documentation/Splunk/9.3.1/Alert/ThrottleAlerts . An example throttling section of your Detection YML, under the "tags" section, looks like:
throttling:
period: 3600s #time period to throttle
fields: name,host # fields to throttle on
What's Changed
- Allow absent tests for experimental detections by @linuxdaemon in #36
- Update new content generator with new formats by @linuxdaemon in #44
- Handle stopped containers in testing by @linuxdaemon in #42
- Customer prs 1 by @pyth0n1c in #86
- Fix error on missing roles by @pyth0n1c in #190
- Add fields as requested by @pyth0n1c in #169
- Add UI dispatch app by @pyth0n1c in #145
- Update setuptools requirement from >=69.5.1,<71.0.0 to >=69.5.1,<72.0.0 by @dependabot in #196
- Handling when a user does not answer one of the questions by @yaleman in #189
- Update setuptools requirement from >=69.5.1,<71.0.0 to >=69.5.1,<72.0.0 by @dependabot in #202
- Update setuptools requirement from >=69.5.1,<71.0.0 to >=69.5.1,<72.0.0 by @dependabot in #205
- Handling the case where there are no tests by @yaleman in #198
- No tests fix by @pyth0n1c in #207
- Update setuptools requirement from >=69.5.1,<71.0.0 to >=69.5.1,<73.0.0 by @dependabot in #209
- Add Alert Suppression (throttling) support to detections by @pyth0n1c in #192
- Dashboard Support by @pyth0n1c in #147
- Fix name length by @pyth0n1c in #213
- improve output of risk severity field. by @pyth0n1c in #191
- contentctl v4.4.0 by @pyth0n1c in #179
- Ryanplasma add explanation by @pyth0n1c in #296
- Add type_list to annotations by @pyth0n1c in #293
- Fix datasource in contentctl new by @pyth0n1c in #297
- Optionally suppress missing detections during metadata validation by @pyth0n1c in #305
- Update xmltodict requirement from ^0.13.0 to >=0.13,<0.15 by @dependabot in #304
- Exception on malformatted unit tests in YMLs by @pyth0n1c in #300
- Refactoring for formatting and some logical error correction by @cmcginley-splunk in #308
- Mathieugonzales: replace deprecated pydantic validators by @pyth0n1c in #298
- Drilldown Support by @pyth0n1c in #256
- Allow testing with the default or custom_index by @ax-hsmith in #307
- Add more custom indexes by @pyth0n1c in #309
New Contributors
- @yaleman made their first contribution in #189
- @ax-hsmith made their first contribution in #307
Full Changelog: v4.3.5...v4.4.0