Trust Assessment
smartsheet received a trust score of 73/100, placing it in the Caution category. This skill has some security considerations that users should review before deployment.
SkillShield's automated analysis identified 2 findings: 0 critical, 2 high, 0 medium, and 0 low severity. Key findings include Command Injection via unvalidated '{sheetId}' in 'Get Sheet' curl example, Command Injection via unvalidated '{sheetId}' in 'Add Row' curl example.
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 Findings2
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Command Injection via unvalidated '{sheetId}' in 'Get Sheet' curl example The `SKILL.md` provides a `bash` `curl` command example for 'Get Sheet' that includes the placeholder `{sheetId}`. If the LLM directly substitutes user-provided input into this placeholder without proper sanitization or validation, an attacker could inject arbitrary shell commands. This could lead to unauthorized actions, data exfiltration (e.g., of `SMARTSHEET_ACCESS_TOKEN`), or system compromise. The LLM implementation should strictly validate and sanitize any user-provided input before substituting it into shell commands. For `sheetId`, ensure it's a valid integer or UUID format. Consider using a dedicated API client library instead of raw `curl` commands for safer parameter handling. If `curl` must be used, ensure all user-controlled variables are properly escaped (e.g., using `printf %q` in bash) or passed as separate arguments where possible, and ideally, avoid direct shell execution of user-controlled strings. | LLM | SKILL.md:15 | |
| HIGH | Command Injection via unvalidated '{sheetId}' in 'Add Row' curl example The `SKILL.md` provides a `bash` `curl` command example for 'Add Row' that includes the placeholder `{sheetId}`. If the LLM directly substitutes user-provided input into this placeholder without proper sanitization or validation, an attacker could inject arbitrary shell commands. This could lead to unauthorized actions, data exfiltration (e.g., of `SMARTSHEET_ACCESS_TOKEN`), or system compromise. The LLM implementation should strictly validate and sanitize any user-provided input before substituting it into shell commands. For `sheetId`, ensure it's a valid integer or UUID format. Consider using a dedicated API client library instead of raw `curl` commands for safer parameter handling. If `curl` must be used, ensure all user-controlled variables are properly escaped (e.g., using `printf %q` in bash) or passed as separate arguments where possible, and ideally, avoid direct shell execution of user-controlled strings. | LLM | SKILL.md:20 |
Scan History
Embed Code
[](https://skillshield.io/report/b9cba9fae5dfa684)
Powered by SkillShield