Executes shell commands and returns stdout/stderr output
Single tool 'run-command' has a minimal description (24 chars) and a single parameter with basic schema. The tool is destructive (executes arbitrary shell commands) but lacks error handling guidance, security warnings, or recovery instructions. No output schema documented. Parameter lacks format constraints or validation rules. Tool name is generic ('run-command' vs verb_noun pattern like 'execute_shell_command'). Critical security issues: no input sanitization against command injection, no permission gates, no audit logging.
Executes a shell command
Destructive tool lacks error handling and recovery guidance. No documentation of what happens on command failure, timeout, or permission denial. LLM has no guidance on retry strategy or fallback actions.
No input validation or sanitization. Tool accepts arbitrary shell commands with no constraints, regex patterns, or allowlist. Vulnerable to command injection if LLM is prompt-injected. Missing parameter description of format/constraints.
Tool description is 24 characters ('Executes a shell command'), below 34-char baseline for p10. Lacks WHEN to use, prerequisites, or consequences. Does not state that tool modifies system state (destructive).
No output schema documented. Response structure (stdout/stderr as separate text blocks) is inferred from code, not declared. LLM cannot plan downstream parsing or error extraction.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
No permission gates, audit logging, or scope declarations. Tool can execute any command as the server process user. No trace of who called it, when, or what was executed, violates compliance and incident response requirements.