crowdsecurity/crowdsec · error
appsec_config and appsec_config_path are mutually exclusive
Error message
appsec_config and appsec_config_path are mutually exclusive with appsec_configs
What it means
Validation guard in UnmarshalConfig: the configuration mixes the singular forms (appsec_config or appsec_config_path) with the plural list form (appsec_configs). Specifying both makes the intended ruleset ambiguous, so the combination is rejected rather than silently merged.
Source
Thrown at pkg/acquisition/modules/appsec/config.go:94
if w.config.Path[0] != '/' {
w.config.Path = "/" + w.config.Path
}
if w.config.Mode == "" {
w.config.Mode = configuration.TAIL_MODE
}
// always have at least one appsec routine
if w.config.Routines == 0 {
w.config.Routines = 1
}
if w.config.AppsecConfig == "" && w.config.AppsecConfigPath == "" && len(w.config.AppsecConfigs) == 0 {
return errors.New("appsec_config or appsec_config_path must be set")
}
if (w.config.AppsecConfig != "" || w.config.AppsecConfigPath != "") && len(w.config.AppsecConfigs) != 0 {
return errors.New("appsec_config and appsec_config_path are mutually exclusive with appsec_configs")
}
if w.config.Name == "" {
if w.config.ListenSocket != "" && w.config.ListenAddr == "" {
w.config.Name = w.config.ListenSocket
}
if w.config.ListenSocket == "" {
w.config.Name = fmt.Sprintf("%s%s", w.config.ListenAddr, w.config.Path)
}
}
return nil
}
func loadCertPool(caCertPath string, logger log.FieldLogger) (*x509.CertPool, error) {
caCertPool, err := x509.SystemCertPool()
if err != nil {View on GitHub (pinned to 909b515798)
Solutions
- Keep either appsec_config/appsec_config_path or appsec_configs, never both
- Move all entries into the appsec_configs list if you need several configs
- Re-run a config check after fixing the acquis stanza
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/acquisition/modules/appsec/config.go:94 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/43243f9bf22a4262.
Report an issue: GitHub.