github.com/crowdsecurity/crowdsec@v1.6.1/pkg/appsec/waf_helpers.go (about) 1 package appsec 2 3 import ( 4 "github.com/crowdsecurity/crowdsec/pkg/types" 5 ) 6 7 func GetOnLoadEnv(w *AppsecRuntimeConfig) map[string]interface{} { 8 return map[string]interface{}{ 9 "RemoveInBandRuleByID": w.DisableInBandRuleByID, 10 "RemoveInBandRuleByTag": w.DisableInBandRuleByTag, 11 "RemoveInBandRuleByName": w.DisableInBandRuleByName, 12 "RemoveOutBandRuleByID": w.DisableOutBandRuleByID, 13 "RemoveOutBandRuleByTag": w.DisableOutBandRuleByTag, 14 "RemoveOutBandRuleByName": w.DisableOutBandRuleByName, 15 "SetRemediationByTag": w.SetActionByTag, 16 "SetRemediationByID": w.SetActionByID, 17 "SetRemediationByName": w.SetActionByName, 18 } 19 } 20 21 func GetPreEvalEnv(w *AppsecRuntimeConfig, request *ParsedRequest) map[string]interface{} { 22 return map[string]interface{}{ 23 "IsInBand": request.IsInBand, 24 "IsOutBand": request.IsOutBand, 25 "req": request.HTTPRequest, 26 "RemoveInBandRuleByID": w.RemoveInbandRuleByID, 27 "RemoveInBandRuleByName": w.RemoveInbandRuleByName, 28 "RemoveInBandRuleByTag": w.RemoveInbandRuleByTag, 29 "RemoveOutBandRuleByID": w.RemoveOutbandRuleByID, 30 "RemoveOutBandRuleByTag": w.RemoveOutbandRuleByTag, 31 "RemoveOutBandRuleByName": w.RemoveOutbandRuleByName, 32 "SetRemediationByTag": w.SetActionByTag, 33 "SetRemediationByID": w.SetActionByID, 34 "SetRemediationByName": w.SetActionByName, 35 } 36 } 37 38 func GetPostEvalEnv(w *AppsecRuntimeConfig, request *ParsedRequest) map[string]interface{} { 39 return map[string]interface{}{ 40 "IsInBand": request.IsInBand, 41 "IsOutBand": request.IsOutBand, 42 "DumpRequest": request.DumpRequest, 43 "req": request.HTTPRequest, 44 } 45 } 46 47 func GetOnMatchEnv(w *AppsecRuntimeConfig, request *ParsedRequest, evt types.Event) map[string]interface{} { 48 return map[string]interface{}{ 49 "evt": evt, 50 "req": request.HTTPRequest, 51 "IsInBand": request.IsInBand, 52 "IsOutBand": request.IsOutBand, 53 "SetRemediation": w.SetAction, 54 "SetReturnCode": w.SetHTTPCode, 55 "CancelEvent": w.CancelEvent, 56 "SendEvent": w.SendEvent, 57 "CancelAlert": w.CancelAlert, 58 "SendAlert": w.SendAlert, 59 "DumpRequest": request.DumpRequest, 60 } 61 }