Trust Assessment
front received a trust score of 10/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 8 findings: 6 critical, 1 high, 1 medium, and 0 low severity. Key findings include Arbitrary command execution, Remote code execution: curl/wget pipe to shell, Sensitive environment variable access: $HOME.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 10/100, indicating areas for improvement.
Last analyzed on February 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings8
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Arbitrary command execution Remote code download piped to interpreter Review all shell execution calls. Ensure commands are static (not built from user input), use absolute paths, and are strictly necessary. Prefer library APIs over shell commands. | Manifest | skills/rdewolff/front/scripts/front.sh:20 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/rdewolff/front/scripts/front.sh:20 | |
| CRITICAL | Remote code execution: curl/wget pipe to shell Detected a pattern that downloads and immediately executes remote code. This is a primary malware delivery vector. Never pipe curl/wget output directly to a shell interpreter. | Static | skills/rdewolff/front/scripts/front.sh:32 | |
| CRITICAL | Command Injection via Unsanitized User Input in JSON Payload The `search`, `add-comment`, `reply`, `assign`, and `tag` commands directly interpolate user-controlled variables (`$QUERY`, `$BODY`, `$TEAMMATE_ID`, `$TAG_ID`) into JSON payloads without proper escaping. This allows an attacker to inject arbitrary shell commands by including metacharacters (e.g., `$(command)`, backticks) within the input string. For example, if `$QUERY` is `foo"; $(rm -rf /); echo "`, it would execute `rm -rf /` on the host system. Sanitize user input by properly escaping JSON special characters and shell metacharacters before interpolation. A robust solution is to use a tool like `jq` to construct JSON payloads, which handles escaping automatically. For example, `DATA=$(jq -n --arg query "$QUERY" '{"query": $query}')` then pass `"$DATA"` to curl. | LLM | scripts/front.sh:105 | |
| CRITICAL | Command Injection via Unsanitized User Input in URL Path Multiple commands (`conversations`, `conversation`, `messages`, `comments`, `add-comment`, `reply`, `assign`, `tag`, `contact`, `drafts`) directly interpolate user-controlled variables (`$INBOX_ID`, `$CONV_ID`, `$CONTACT_ID`, `$STATUS`, `$LIMIT`) into the URL path or query parameters without proper URL encoding or shell escaping. This allows an attacker to inject arbitrary shell commands by including metacharacters (e.g., `$(command)`, backticks, `;`) within the input string. For example, if `$CONV_ID` is `123; $(rm -rf /)`, it would execute `rm -rf /` on the host system. URL-encode all user-supplied variables before interpolating them into URL paths or query parameters. Additionally, validate input against expected patterns (e.g., `cnv_` followed by alphanumeric characters for conversation IDs) to prevent unexpected values. For example, `CONV_ID_ENCODED=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$CONV_ID'))")` and then use `"/conversations/$CONV_ID_ENCODED"`. | LLM | scripts/front.sh:78 | |
| CRITICAL | Supply Chain Risk: Command Injection via Malicious API Response in Subdomain Auto-detection The script attempts to auto-detect the company-specific API subdomain by parsing the `_links.self` field from the `/inboxes` API response. If a malicious Front API server (or a compromised legitimate server) returns a `_links.self` URL containing shell metacharacters (e.g., `https://evil.com$(id)/inboxes`), the `COMPANY_BASE` variable will capture these metacharacters. When `API_BASE` is later constructed as `https://$COMPANY_BASE` and used in subsequent `curl` calls, the shell metacharacters will be executed, leading to arbitrary command injection. This represents a critical supply chain risk as the integrity of the Front API response directly impacts the security of the skill. Strictly validate the `COMPANY_BASE` variable using a regular expression to ensure it only contains valid domain characters (e.g., `^[a-zA-Z0-9.-]+$`) before using it to construct `API_BASE`. If the validation fails, default to a known safe API base or terminate execution. | LLM | scripts/front.sh:18 | |
| HIGH | Sensitive path access: AI agent config Access to AI agent config path detected: '~/.clawdbot/'. This may indicate credential theft. Verify that access to this sensitive path is justified and declared. | Static | skills/rdewolff/front/scripts/front.sh:13 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/rdewolff/front/scripts/front.sh:9 |
Scan History
Embed Code
[](https://skillshield.io/report/6cac01e0cc592c58)
Powered by SkillShield