Trust Assessment
cloudflare-dns received a trust score of 86/100, placing it in the Mostly Trusted category. This skill has passed most security checks with only minor considerations noted.
SkillShield's automated analysis identified 1 finding: 0 critical, 1 high, 0 medium, and 0 low severity. Key findings include Command Injection via Unsanitized User Input in Shell Script.
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 13, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Command Injection via Unsanitized User Input in Shell Script The `cf-dns.sh` script is vulnerable to command injection. User-controlled input from command-line arguments `--domain`, `--name`, and `--type` is directly interpolated into a string that undergoes shell expansion before being passed to `curl`. This allows an attacker to execute arbitrary shell commands by crafting malicious input containing command substitutions (e.g., `$(command)`). Specifically, the `get_zone_id` and `find_record_id` functions are affected. User-controlled variables (`$domain`, `$name`, `$type`) must be properly URL-encoded before being interpolated into the URL string passed to `cf_api`. Implement a URL-encoding function and apply it to these variables. For example, `local encoded_domain=$(urlencode "$domain")` then use `"/zones?name=$encoded_domain"`. This issue also affects line 75 where `$name` and `$type` are used. | LLM | scripts/cf-dns.sh:60 |
Scan History
Embed Code
[](https://skillshield.io/report/6ed80257d9823a97)
Powered by SkillShield