Skip to content

Recover the 8 gitleaks rules the converter skips #53

Description

@aksOps

Question

What does siloscan need in order to load the 8 gitleaks rules its converter currently skips?

Parent: #48

scripts/convert_gitleaks.py converts 214 of gitleaks v8.30.1's 222 rules. The 8 it skips, and why, verbatim from the converter:

skipped rule reason
hashicorp-tf-password path constraint is a regex; siloscan paths are globs
kubernetes-secret-yaml path constraint is a regex; siloscan paths are globs
nuget-config-password path constraint is a regex; siloscan paths are globs
pkcs12-file no regex; path-only rules have no siloscan mapping
pypi-upload-token compiled regex exceeds the regex crate's default 10 MiB size limit
vault-batch-token compiled regex exceeds the regex crate's default 10 MiB size limit
(2 further skips) re-run the converter to enumerate

Three capability gaps behind them, each independently decidable:

  1. Regex path constraints. siloscan rules match paths with globs. Supporting a regex path constraint means a new field and a decision about precedence when both are present.
  2. Path-only rules. pkcs12-file fires on a filename with no content pattern - a committed keystore is a finding because of what it is. siloscan has no rule shape for "this file existing is the finding". Worth having regardless of gitleaks.
  3. Regex size limit. Regex::new defaults to a 10 MiB compiled program. RegexBuilder::size_limit raises it. The question is whether raising it globally is acceptable (compile time, memory) or whether these two rules should be rewritten narrower.

Note the overlap with the rest of this map: kubernetes-secret-yaml and pkcs12-file both target shapes #49 is adding corpus coverage for, and kubernetes-secret-yaml overlaps #52's territory.

Deliverable: a decision per gap, then implementation, then a converter run showing 222 of 222 (or a recorded reason for each remaining skip).

Metadata

Metadata

Assignees

No one assigned

    Labels

    wayfinder:grillingDecision ticket resolved in conversation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions