T09 · Insecure Skill Coding Practices
- Location
install.sh:43- Finding
Quoted heredoc prevents target-path expansion and leaves a partial installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is purpose-aligned but should be reviewed because its installer persistently edits an installed messaging plugin with weak validation and rollback safeguards.
Install only if you understand that it directly edits your local OpenClaw Weixin plugin. Review install.sh first, keep a separate copy of the original plugin files, and avoid running it on any plugin version other than the stated @tencent-weixin/openclaw-weixin@2.4.1 without manual verification.
install.sh:43Quoted heredoc prevents target-path expansion and leaves a partial installation
install.sh:24Backup files are silently overwritten before patch compatibility is established
install.sh:87Overbroad line deletion can corrupt unsupported or changed plugin versions
The README explicitly tells users to execute bash install.sh, which is a system-modifying action, but provides no warning about what the script changes, what privileges it may require, or how to inspect it safely first. In a skill/package context, encouraging direct shell execution increases supply-chain risk because users may run repository code without review.
The comment at L39 says the script will use Python for a complex text replacement in monitor.js. However, the quoted heredoc delimiter at L40 ('PYTHON_SCRIPT') disables shell variable expansion, so the Python code at L43 and L75 uses the literal string "$MONITOR_JS" rather than the actual file path. This directly contradicts the documented intent of modifying monitor.js.
The natural-language instructions and operational guidance are presented only in Chinese, which effectively forces a specific language for users without opt-in. The policy allows locale constraints when they are explicitly justified or optional, but neither is stated here.