Trust Assessment
web-deploy-github received a trust score of 65/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 3 findings: 0 critical, 2 high, 1 medium, and 0 low severity. Key findings include Sensitive environment variable access: $GITHUB_USERNAME, Command Injection via unsanitized project name in init_project.sh, Command Injection via unsanitized project name and GitHub username in deploy_github_pages.sh.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. All layers scored 70 or above, reflecting consistent security practices.
Last analyzed on February 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings3
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Command Injection via unsanitized project name in init_project.sh The `PROJECT_NAME` variable, derived directly from user input (`$1`), is used without sanitization in `mkdir -p "$PROJECT_NAME"` and `cd "$PROJECT_NAME"`. An attacker can inject arbitrary shell commands by providing a malicious `PROJECT_NAME` (e.g., `foo; rm -rf /` or `$(rm -rf /)`), leading to arbitrary code execution on the host system. Sanitize the `PROJECT_NAME` variable to ensure it only contains valid and safe characters for a directory name. Alternatively, use a more robust method for creating and navigating directories that does not involve direct shell interpolation of untrusted input. For example, validate the input against a strict regex or use `mktemp -d` for temporary directories if applicable. | LLM | scripts/init_project.sh:12 | |
| HIGH | Command Injection via unsanitized project name and GitHub username in deploy_github_pages.sh The `PROJECT_NAME` and `GITHUB_USERNAME` variables, derived directly from user input (`$1`, `$2`), are used without sanitization in multiple shell commands. Specifically:
1. `cd "$PROJECT_NAME"`: Allows arbitrary command execution if `PROJECT_NAME` contains shell metacharacters (e.g., `foo; rm -rf /`).
2. `gh api -X POST "/repos/$GITHUB_USERNAME/$PROJECT_NAME/pages"`: If `PROJECT_NAME` or `GITHUB_USERNAME` contains shell command substitution (e.g., `$(command)`), the embedded command will be executed by the shell before `gh api` is invoked. This allows for arbitrary code execution. Sanitize `PROJECT_NAME` and `GITHUB_USERNAME` variables to ensure they only contain valid and safe characters for repository names and GitHub usernames. Validate inputs against strict regex patterns to prevent shell metacharacters or command substitutions. For `cd`, restrict characters. For `gh api`, ensure inputs are properly validated and potentially URL-encoded if they are part of the URL path, and always quoted to prevent shell expansion. | LLM | scripts/deploy_github_pages.sh:29 | |
| MEDIUM | Sensitive environment variable access: $GITHUB_USERNAME Access to sensitive environment variable '$GITHUB_USERNAME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/thomeksolutions/web-deploy-github/scripts/deploy_github_pages.sh:9 |
Scan History
Embed Code
[](https://skillshield.io/report/cc244626680cdc8d)
Powered by SkillShield