Skip to content

fix: read wrapped list items and escapes in Sigma YAML - #39

Merged
dRafaleD merged 1 commit into
masterfrom
content-additions
Oct 18, 2026
Merged

dRafaleD merged 1 commit into
masterfrom
content-additions

Conversation

@dRafaleD

Copy link
Copy Markdown
Owner

Follow-up to #37: rules import-sigma was run over the SigmaHQ rules folder (3,155 files, commit b7920ed), one file at a time.

Coverage

  • 2,425 files convert into 3,755 Banshee rules (902 of 1,191 in windows/process_creation).
  • Skipped files: not 597, null or empty values 92, cidr/base64offset/fieldref modifiers 33, more than 16 branches 6, patterns over 32 KiB 2.
  • No panics. One parse error before this change, none after.
  • Every converted value was cross-checked against PyYAML; the only real mismatch was the escape bug below.

Fixes

  • Plain list items continued on a deeper line failed to parse the whole file (seen in a falsepositives entry).
  • Double-quoted \u, \x and \U escapes came out as literal letters, so the Cyrillic homoglyph rules searched for u0410. The reader now decodes the full YAML escape set and rejects invalid escapes.

Each fix has a regression test with hand-written YAML. The CHANGELOG line now has the measured numbers.

Running the import over the SigmaHQ rules folder found two reader bugs:
plain list items continued on a deeper line failed to parse, and
double-quoted \u, \x and \U escapes came out as literal letters.
Record the measured conversion coverage in the changelog.
@dRafaleD
dRafaleD merged commit e014582 into master Oct 18, 2026
28 checks passed
@dRafaleD
dRafaleD deleted the content-additions branch October 18, 2026 11:53
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.

1 participant