An open source framework for enterprise level automated analysis.
getjson()
function to allow plugins to use valid json strings are configuration
options (@ytreister, #144)--plugin-opts
and --request-source
arguments that contain =
or :
charactersalways_dispatch
in stoq.cfg
leverages getlist()
when Stoq()
is
is instantiated. (#149)self.log
may be leveraged from within all plugin classesError()
class for standardizing errors from stoQ and plugins
Error()
will track plugin name, error message, and payload_id (optional)[Core]
and [Documentation]
to each plugin object when loadedPayloadMeta
now has a should_scan
boolean.
Allows payloads to be logged and archived, but not scanned by worker plugin.Payload
is now updated as results are completed.
Results from completed scans will be available to other plugins instantlyRequest()
class is passed to all dispatchers, workers, and archiver plugins.
The Request
object contains all payloads, request metadata, results, and errors from
all other completed plugins. This will allow for all neccessary plugins to have a full
understanding of the current state of the complete Request
.WorkerPlugin
s now have a configuration option of required_workers
.
This allows for chained worker dependencies. If required_workers
is defined, the
parent plugin will not be run until all required plugins are completed successfully. The
parent plugin may then use results from other completed plugins for their respective
scanning tasks.Payload.results[].extracted_by
and Payload.results[].extracted_from
StoqConfigParser
to stoq.helpers
to extend options for Stoq
and plugin configurations.plugin_name
is set to the name of the plugin class in case Name
is not defined in
the plugin's configuration.PayloadResults
is now an object of Payload.results
, rather than an independent objectPayload
and are now availabe in Payload.results
,
namely extracted_by
, extracted_from
, payload_id
, size
, payload_meta
Payload.plugins_run
moved to PayloadResults.plugins_runs
and is now a Dict[str, List[str]]
rather than Dict[str, List[List[str]]]
PayloadResults.workers
is now a Dict[str, Dict]
rather than List[Dict[str, Dict]]
PayloadMeta
is now an object of PayloadResults.payload_meta
PayloadResults.extracted_by
is now a List[str]
rather than str
PayloadResults.extracted_from
is now a List[str]
rather than str
Payload.plugins_run
has been removed in favor of PayloadResults.plugins_run
)Payload.worker_results
has been removed in favor of PayloadResults.workers
RequestMeta
is no longer passed to plugins, in favor of the Request
objectplugins_opts
has been removed from plugin __init__
function. All plugin configuration options
are only available in self.config
plugin_name
is set to the name of the plugin class in case Name
is not defined in the plugin's configuration.provider_consumers
to 2
to avoid issues with provider timeoutsself.log
may be leveraged from within all plugin classesError()
class for standardizing errors from stoQ and plugins
Error()
will track plugin name, error message, and payload_id (optional)[Core]
and [Documentation]
to each plugin object when loadedPayloadMeta
now has a should_scan
boolean.
Allows payloads to be logged and archived, but not scanned by worker plugin.Payload
is now updated as results are completed.
Results from completed scans will be available to other plugins instantlyRequest()
class is passed to all dispatchers, workers, and archiver plugins.
The Request
object contains all payloads, request metadata, results, and errors from
all other completed plugins. This will allow for all neccessary plugins to have a full
understanding of the current state of the complete Request
.WorkerPlugin
s now have a configuration option of required_workers
.
This allows for chained worker dependencies. If required_workers
is defined, the
parent plugin will not be run until all required plugins are completed successfully. The
parent plugin may then use results from other completed plugins for their respective
scanning tasks.Payload.results[].extracted_by
and Payload.results[].extracted_from
StoqConfigParser
to stoq.helpers
to extend options for Stoq
and plugin configurations.PayloadResults
is now an object of Payload.results
, rather than an independent objectPayload
and are now availabe in Payload.results
,
namely extracted_by
, extracted_from
, payload_id
, size
, payload_meta
Payload.plugins_run
moved to PayloadResults.plugins_runs
and is now a Dict[str, List[str]]
rather than Dict[str, List[List[str]]]
PayloadResults.workers
is now a Dict[str, Dict]
rather than List[Dict[str, Dict]]
PayloadMeta
is now an object of PayloadResults.payload_meta
PayloadResults.extracted_by
is now a List[str]
rather than str
PayloadResults.extracted_from
is now a List[str]
rather than str
Payload.plugins_run
has been removed in favor of PayloadResults.plugins_run
)Payload.worker_results
has been removed in favor of PayloadResults.workers
RequestMeta
is no longer passed to plugins, in favor of the Request
objectplugins_opts
has been removed from plugin __init__
function. All plugin configuration options
are only available in self.config
--config-file
to define stoQ configuration file--log-level
to allow for setting of the log level__init__
plugin_path
when plugin is successfully installed--plugin-dir
from command line to force one or more plugin directoriesConnectorPlugins
plugin_opts
when instantiating Stoq
, 2) stoq.cfg
, 3) Plugin config file (Thanks for feedback @chemberger!)