crowdsecurity/crowdsec · error
unknown rule format '%s'
Error message
unknown rule format '%s'
What it means
CustomRule.Convert was called with a ruleType that does not match any known converter (only the modsecurity rule type is registered). The custom appsec rule's declared format is unrecognized, so it cannot be translated into a native rule.
Source
Thrown at pkg/appsec/appsec_rule/appsec_rule.go:69
func (v *CustomRule) Convert(ruleType string, appsecRuleName string, appsecRuleDescription string, ruleIndex int) (string, []uint32, error) {
if v.Zones == nil && v.And == nil && v.Or == nil {
return "", nil, errors.New("no zones defined")
}
if v.Match.Type == "" && v.And == nil && v.Or == nil {
return "", nil, errors.New("no match type defined")
}
if v.Match.Value == "" && v.And == nil && v.Or == nil {
return "", nil, errors.New("no match value defined")
}
switch ruleType {
case ModsecurityRuleType:
r := ModsecurityRule{}
return r.Build(v, appsecRuleName, appsecRuleDescription, ruleIndex)
default:
return "", nil, fmt.Errorf("unknown rule format '%s'", ruleType)
}
}
View on GitHub (pinned to 909b515798)
Solutions
- Fix the rule's format field — custom appsec rules currently only support the modsecurity format
- Remove or disable the malformed rule from the appsec config or hub collection
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/appsec/appsec_rule/appsec_rule.go:69 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of crowdsecurity/crowdsec@909b515798 (2026-09-06).
Data as JSON: /api/errors/5735a443da24ea13.
Report an issue: GitHub.