Trust Assessment
todoist 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 Potential Command Injection via User Input in Shell Commands.
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 Findings1
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| HIGH | Potential Command Injection via User Input in Shell Commands The skill instructs the LLM to generate and execute shell commands using the 'todoist' CLI, as indicated by `bins: ['todoist']` in the manifest. Several commands, such as `todoist add`, `todoist update`, `todoist search`, `todoist project-add`, `todoist label-add`, and `todoist comment`, take user-provided strings as arguments (e.g., task names, project names, search queries, comments). If the LLM directly interpolates unsanitized user input into these command arguments, a malicious user could inject arbitrary shell commands by crafting input that breaks out of the intended argument string (e.g., by using quotes, semicolons, or other shell metacharacters). This could lead to arbitrary code execution on the host system where the agent is running. The LLM must sanitize or properly escape all user-provided strings before interpolating them into shell commands. This can be achieved by quoting arguments and escaping any special characters within the quotes, or by using a dedicated library function for shell argument escaping (e.g., `shlex.quote` in Python) to prevent shell metacharacters from being interpreted as commands. Ensure that all arguments derived from user input are treated as untrusted and are robustly escaped. | LLM | SKILL.md:34 |
Scan History
Embed Code
[](https://skillshield.io/report/fffdd127c152a5b0)
Powered by SkillShield