Repository navigation
gam-script-checker-v0.4.4
GAM Script Checker v0.4.4
Code handed to Python's exec or compile as a string is now read like the rest of the script, so exec("os.system('gam delete user ...')") is DESTRUCTIVE instead of being skipped. Text that cannot be read that way, and eval of a string, is CANNOT TELL.
A command substitution inside echo, printf and similar commands is now checked as a command: echo "$(gam delete user ...)" is DESTRUCTIVE. Single-quoted text and echo "gam delete user ..." without a substitution are still read as text.
Before, either form beside a read-only command gave the whole script READ-ONLY.
The adversarial test runner now exits 1 on an under-warning or a crash, so it can fail a release.
Tested on Linux (Python 3.14), macOS (Python 3.9 and 3.14) and Windows (Python 3.14).
SHA256
f2ee862aed6fa0b12816294d8051238b0c7d73a3516e8ecf88675307e8f51ec4 gam-script-checker-v0.4.4.zip
7b5350706d7bca04634c60fe3a91775da0eb0cc1a644b3c6649058b945b4bdad gamcheck.py
a1a66d32b34608c2c23fd8362abd6754e13a921b3a7b4011388b5c9c4e4f9647 verbs/gam7.json
c9eb70fb3c7f2aa08fb838679387ee19192f07e4d1af21cb52a06a1bb5b8a87a verbs/gamadv-xtd3.json
a9251216bbe39581dd2723acdfa7652ee463c067128f95a549ba586e178988ec verbs/legacy-gam.json
55178dbb0bf90bc85e0862568f1677b408d655eff0f880a605cdccbf75e9f46f verbs/wiki.json