S2 (Standard2) is a naming initiative to make custom environments feel more intuitive. The current environment of executors are very inefficient:
- Automatically added environment standards - Currently, every available exploit automatically adds functions and libraries to the environment, this behavior is unintuitive, and can lead to unintentional naming conflicts.
- Various aliases - Due to the amount of exploits to have come out over several years, variations in naming schemes occur, which creates even more environment clutter, and creates confusion among developers. eg.
crypt.base64encode,base64encode,base64_encode,crypt.base64.encode - Incorrect namespacing - For example, base64 compress/decompress dosen't belong in the crypt library, yet in almost every executor it is. This is just one instance of incompetency which has added up over the years.