v1.3.0
Added
- Informational-form safety gate. When every argument of a known command is a purely informational token, the invocation is recognized as read-only and safe — even for execute-by-default tools. So
dart --version,flutter --version,node --version,python --version,go version,java -version, etc. now classify asreadFilesystem/safeinstead ofexecutePrograms.- New global
defaultInformationalTokens(--version,--help,--usage) covers all commands. - New
CommandKnowledge.informationalTokensfield opts entries into tool-specific forms: java-version, python-V, node/php/ruby-v, perl-v/-V, deno/cargo-V, goversion/env, dotnet--info/--list-sdks/--list-runtimes. - Matching is case-sensitive (
-V≠-v) and requires the whole invocation to be informational, so a payload defeats the gate:dart --version script.dartandgo env -w K=Vstill reportexecutePrograms. - Runs at every recursion depth, so wrapped forms like
sudo node --versionare handled (andsudostill reportsprivilegeEscalation).
- New global
Changed
- Bare
--version/--help/--usage(and the per-command short forms above) on execute-by-default tools now classify as read-only/safe instead ofexecutePrograms.npm --versionmoves from an empty capability set toreadFilesystem(risk stayssafe).
Full changelog: v1.2.0...v1.3.0