Add a new datasource that: - Receives HTTP requests from remediation components - Apply rules on them to determine whether they are malicious or not - Rules can be evaluated in-band (the remediation component will block the request directly) or out-band (the RC will let the request through, but crowdsec can still process the rule matches with scenarios) The PR also adds support for 2 new hub items: - appsec-configs: Configure the Application Security Engine (which rules to load, in which phase) - appsec-rules: a rule that is added in the Application Security Engine (can use either our own format, or seclang) --------- Co-authored-by: alteredCoder <kevin@crowdsec.net> Co-authored-by: Sebastien Blot <sebastien@crowdsec.net> Co-authored-by: mmetc <92726601+mmetc@users.noreply.github.com> Co-authored-by: Marco Mariani <marco@crowdsec.net>
41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"github.com/crowdsecurity/crowdsec/pkg/cwhub"
|
|
)
|
|
|
|
func NewScenarioCLI() *itemCLI {
|
|
return &itemCLI{
|
|
name: cwhub.SCENARIOS,
|
|
singular: "scenario",
|
|
oneOrMore: "scenario(s)",
|
|
help: cliHelp{
|
|
example: `cscli scenarios list -a
|
|
cscli scenarios install crowdsecurity/ssh-bf crowdsecurity/http-probing
|
|
cscli scenarios inspect crowdsecurity/ssh-bf crowdsecurity/http-probing
|
|
cscli scenarios upgrade crowdsecurity/ssh-bf crowdsecurity/http-probing
|
|
cscli scenarios remove crowdsecurity/ssh-bf crowdsecurity/http-probing
|
|
`,
|
|
},
|
|
installHelp: cliHelp{
|
|
example: `cscli scenarios install crowdsecurity/ssh-bf crowdsecurity/http-probing`,
|
|
},
|
|
removeHelp: cliHelp{
|
|
example: `cscli scenarios remove crowdsecurity/ssh-bf crowdsecurity/http-probing`,
|
|
},
|
|
upgradeHelp: cliHelp{
|
|
example: `cscli scenarios upgrade crowdsecurity/ssh-bf crowdsecurity/http-probing`,
|
|
},
|
|
inspectHelp: cliHelp{
|
|
example: `cscli scenarios inspect crowdsecurity/ssh-bf crowdsecurity/http-probing`,
|
|
},
|
|
listHelp: cliHelp{
|
|
example: `cscli scenarios list
|
|
cscli scenarios list -a
|
|
cscli scenarios list crowdsecurity/ssh-bf crowdsecurity/http-probing
|
|
|
|
List only enabled scenarios unless "-a" or names are specified.`,
|
|
},
|
|
}
|
|
}
|