Example config stanzas and YML templates
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 139
- Forks
- 52
- Avg merge
- 1h 16m
- Merged PRs (30d)
- 3
Description
Issue #258 has got me thinking about how best to document the various different YML config stanzas, required/optional fields and expected values, as, particularly for detections, defining a rule definition from scratch (i.e. without contentctl new) is somewhat of a trial and error process.
I appreciate there are still a lot of planned enhancements and updating the documentation is probably (understandably) quite low in the list of priorities, however there is probably a good middle ground to help others begin to adopt contentctl, and hopefully feed back/provide contributions on further enhancements.
Couple of ideas that go hand-in-hand that I'd love to get your thoughts on @pyth0n1c :
- Have
contentctl initprovide example YML definitions covering the various different stanzas, required/optional fields and expected values. For example it's not immediately apparent that thetags.messagefield is the risk message, or thatenabled_by_defaultis a supported field. I've started this effort within a forked branch, primarily for my own benefit but I'd be happy to contribute back once it's got a bit more substance. - Enable the use of templated YML files for ease of use - It would be neat if
build|validate|testignored YML files beginning with an underscore so that we could provide some cookie cutter templates that can be copied and used to produce new detections, stories, etc...
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the contentctl init entry point, then inspect how build, validate, and test discover YML files. The issue proposes example definitions, reusable underscore-prefixed templates, and documented required or optional fields; done means the intended commands handle these examples without treating templates as active content.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, yaml
- Domain
- documentation, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100