scripts/load_godmode.py
scripts/load_godmode.pyBrowse 9 files
456 tokens
1,576 bytes
Token encoding: o200k_base
Snapshot 24fd22b
← Back to SKILL.md
1"""2Loader for G0DM0D3 scripts. Handles the exec-scoping issues.3 4Usage in execute_code:5 exec(open(os.path.expanduser(6 os.path.join(os.environ.get("HERMES_HOME", os.path.expanduser("~/.hermes")), "skills/red-teaming/godmode/scripts/load_godmode.py")7 )).read())8 9 # Now all functions are available:10 # - auto_jailbreak(), undo_jailbreak()11 # - race_models(), race_godmode_classic()12 # - generate_variants(), obfuscate_query(), detect_triggers()13 # - score_response(), is_refusal(), count_hedges()14 # - escalate_encoding()15"""16 17import os, sys18from pathlib import Path19 20_gm_scripts_dir = Path(os.getenv("HERMES_HOME", Path.home() / ".hermes")) / "skills" / "red-teaming" / "godmode" / "scripts"21 22_gm_old_argv = sys.argv23sys.argv = ["_godmode_loader"]24 25def _gm_load(path):26 ns = dict(globals())27 ns["__name__"] = "_godmode_module"28 ns["__file__"] = str(path)29 exec(compile(open(path).read(), str(path), 'exec'), ns)30 return ns31 32for _gm_script in ["parseltongue.py", "godmode_race.py", "auto_jailbreak.py"]:33 _gm_path = _gm_scripts_dir / _gm_script34 if _gm_path.exists():35 _gm_ns = _gm_load(_gm_path)36 for _gm_k, _gm_v in _gm_ns.items():37 if not _gm_k.startswith('_gm_') and (callable(_gm_v) or _gm_k.isupper()):38 globals()[_gm_k] = _gm_v39 40sys.argv = _gm_old_argv41 42# Cleanup loader vars43for _gm_cleanup in ['_gm_scripts_dir', '_gm_old_argv', '_gm_load', '_gm_ns', '_gm_k',44 '_gm_v', '_gm_script', '_gm_path', '_gm_cleanup']:45 globals().pop(_gm_cleanup, None)46