Skip to content

add: [rulezet] Rulezet rule validator expansion module - #915

Merged
adulau merged 1 commit into
mainfrom
theo_yara
Oct 7, 2026
Merged

adulau merged 1 commit into
mainfrom
theo_yara

Conversation

@ecrou-exact

@ecrou-exact ecrou-exact commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

New expansion/hover module, rulezet_validator, that checks the syntax of detection rules with the public Rulezet API (POST /api/rule/public/validate). Rulezet runs the same syntax check it uses when a rule is created, but only as a dry run: nothing is stored on the Rulezet side.

Instead of returning plain text like the existing *_syntax_validator modules, it returns a rule-validation MISP object. MISP UIs and tools can then display and use the result in a structured way.

Supported inputs

Input Rulezet format
yara attribute / yara object yara
sigma attribute / sigma object sigma
snort attribute / suricata object suricata
zeek, bro attributes / zeek object zeek
kusto-query attribute / kql-analytics-rule object kql
nse, nse-script objects nse
nova-rule object nova
wazuh-rule object wazuh
kunai-rule object kunai
owasp-crs-rule object crs
splunk-rule object splunk
elastic-detection-rule object elastic
atr, plum, sagan objects atr, plum, sagan
rulezet-metadata object (format read from its format field) any

The object mapping follows the objects Rulezet itself exports to MISP, so rules imported from Rulezet can be validated directly.

Output

A rule-validation object with:

  • format: the Rulezet format used
  • valid: boolean
  • error / warning: one attribute per message returned by the validator
  • validator, validator-url, validation-date

The object references the validated attribute or object with a validates relationship.

Need : MISP/misp-objects#535 too

Validate the syntax of detection rules through the public Rulezet API
(/api/rule/public/validate) and return the result as a rule-validation
MISP object referencing the validated attribute or object (validates).

Supported inputs: yara, sigma, snort, zeek, bro and kusto-query attributes,
and the rule objects exported by Rulezet (yara, sigma, suricata, zeek, nse,
nse-script, nova-rule, wazuh-rule, kunai-rule, owasp-crs-rule, splunk-rule,
elastic-detection-rule, kql-analytics-rule, atr, plum, sagan,
rulezet-metadata).
@adulau
adulau merged commit 46f2c44 into main Oct 7, 2026
7 checks passed
@adulau

adulau commented Oct 7, 2026

Copy link
Copy Markdown
Member

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants