T09 · Insecure Skill Coding Practices
- Location
scripts/claude-code-wrapper.sh:5- Finding
Credential configuration is executed as arbitrary shell code
- Content
View full analysis
&2 echo "Run: bash $ROOT_DIR/scripts/install.sh" >&2 exit 1 fi } ``` ### Technical Analysis The wrapper uses the Bash `.` command to source the selected credentials file. Sourcing does not treat the file as passive key/value data: it executes the entire file as shell code in the current process. The `WEBTOP_GALIM_ENV` environment variable can select any existing file. There is no validation of its ownership, permissions, canonical path, file type, or syntax before execution. A selected or modified file can therefore contain command substitutions, redirects, shell functions, external command invocations, or arbitrary scripts. Executable configuration semantics are not necessary for the declared functionality. The Python fetchers already parse these files as plain key/value data. The wrapper should apply equivalent strict parsing instead of executing the file. ### Attack Path 1. An attacker gains the ability to cre ...[truncated 1473 chars]- Remediation
View remediation
