The method init_params() is intended to initialize the default values for attack parameters in case the user does not specify them.
However the current implementation executes it before the user specified attack parameters are parsed. This leads to unnecessary overhead including operations like database queries, randomization and calculations. This needs to be avoided.
[x] execute init_params after parsing the user input
[x] use function pointers for add_param_value() calls in init_params()
In the current implementation of ID2T init_params() is also implemented in every attack separately. This was done for multiple reasons. Each attack relies on different parameters and depending on the attack a different default values might be useful.
However this introduced redundancy into the project. And attacks like MembersMgmtCommAttack are not using even the most basic attack parameters like ip.src and ip.dst instead they introduce new general attack parameters providing the same function.
[x] unify attacks param names
[x] MembersMgmt
[ ] move mutual default parameters with mutual values to init_mutual_params()
[ ] general params (params all attacks use)
[ ] params only used by a subset of attacks (check with supported_params)
[x] decouple param names from ID2T
[x] move names to attacks
Additional todo:
[ ] change label file attack parameter order to make sense
The method init_params() is intended to initialize the default values for attack parameters in case the user does not specify them.
However the current implementation executes it before the user specified attack parameters are parsed. This leads to unnecessary overhead including operations like database queries, randomization and calculations. This needs to be avoided.
old solution:
In the current implementation of ID2T init_params() is also implemented in every attack separately. This was done for multiple reasons. Each attack relies on different parameters and depending on the attack a different default values might be useful.
However this introduced redundancy into the project. And attacks like MembersMgmtCommAttack are not using even the most basic attack parameters like
ip.src
andip.dst
instead they introduce new general attack parameters providing the same function.Additional todo: