... or how to integrate new workflows with secator.
New secator workflows should be easy to write to promote contributions from the community.
Eventually we aim for our workflow library to become a reference in cyber-security much like Nuclei templates have become a reference for vulnerability searching.
Basic YAML definition
secator workflows are defined through YAML configs:
secator/configs/workflows/url_finder.yaml
type:workflowname:url_finderalias:ufinddescription:URL finder and taggertags: [http]input_types: - urltasks:katana:description:Find URLsrate_limit:100timeout:1gf:description:Tag URLspattern:xss
Dynamic targets
You can specify dynamic targets for tasks from current run results, by using the targets_ key in your template like:
The dynamic format keys are:
type is the output type, lower-case (see for the whole list)
field is the JSON field to use as target
condition is the filtering condition.
Concurrent tasks
You can specify tasks that run in parallel using the _group key:
In this configuration, the katanatask will begin the run, followed by a grouped execution of gf and another_task.
...
tasks:
...
gf:
description: Tag URLs found by the previous task
targets_: # use previously found URLs
- type: url
field: url
condition: item.status_code == 200
...
tasks:
...
katana:
_group:
gf:
...
another_task:
description: Runs concurrently with the `gf` task