Security Audit
dceoy/speckit-agent-skills:skills/speckit-baseline
github.com/dceoy/speckit-agent-skillsTrust Assessment
dceoy/speckit-agent-skills:skills/speckit-baseline received a trust score of 85/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 dynamically generated script arguments.
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 April 1, 2026 (commit a934d48e). 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 dynamically generated script arguments The skill instructs the LLM to execute a local shell script (`.specify/scripts/bash/create-new-feature.sh`) with arguments (`calculated number` and `short name`) that are derived from the analysis of untrusted source code. If an attacker can control the input source code, they could craft it to produce a `short name` or `calculated number` containing shell metacharacters (e.g., `;`, `|`, `$(...)`, `` ` ``). Although the skill mentions escaping single quotes, relying on the LLM to perfectly sanitize all possible shell metacharacters in dynamically generated arguments is a significant security risk and a common vector for command injection. A successful injection could lead to arbitrary command execution on the host system. Implement robust sanitization or validation of the `calculated number` and `short name` before they are passed as arguments to the shell script. Ideally, use a safer method for inter-process communication than direct shell command construction with untrusted strings. If shell execution is unavoidable, ensure all arguments are properly escaped for the target shell (e.g., using `shlex.quote` in Python or similar robust mechanisms). Consider passing arguments via environment variables or temporary files if the script supports it, rather than directly on the command line. | LLM | SKILL.md:33 |
Scan History
Embed Code
[](https://skillshield.io/report/9303f5919976465d)
Powered by SkillShield