T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:15- Finding
Excessive Command Execution and Filesystem Permissions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 15-22
Supporting Locations:SKILL.md, lines 237, 265, and 286
Vulnerability Type: Excessive tool permissions and ambiguous permission configuration
Risk Level: MediumVulnerable Code
yaml tools: - - read - exec homepage: https://skillhub.cn pricing_tier: L2 pricing_model: per_use suggested_price: 19.9 tools: ["read", "write", "exec"]The permission declaration is inconsistent with the documented behavior. The Skill states at line 237 that it only generates SQL and does not execute database queries. Nevertheless, it requests general
read,write, andexeccapabilities. Line 265 also classifies the Skill as requiring command execution, while line 286 recommends executingpingfor network troubleshooting.Technical Analysis
The Skill's legitimate function is to transform user-provided natural-language requirements and schemas into SQL text. This task does not inherently require arbitrary command execution or unrestricted filesystem writes. Granting
execandwritetherefore violates the principle of least privilege.The front matter also defines the
toolskey twice and uses inconsistent structures. YAML parsers may retain the first value, retain the last value, or reject duplicate keys depending on their configuration. Consequently, the effective permissions may be ambiguous across hosting platforms. Under last-key-wins parsing, the Skill receives all three capabilities:read,write, andexec.No malicious command or automated exploitation logic is present in the reviewed file. The security risk arises because these unnecessary capabilities expand the consequences of prompt injection, erroneous model behavior, or future untrusted instructions processed while the Skill is active.
Attack Path
- A platform loads
SKILL.mdand parses the finaltoolsdeclaration. - The platform grants the Skill fi ...[truncated 1419 chars]
- A platform loads
- Remediation
View remediation
Remediation Suggestions
-
Remove
execbecause SQL text generation does not require operating-system command execution. -
Remove
writeunless the user explicitly requests export to a file. If export is supported, request narrowly scoped write access only for a user-approved destination and only for that operation. -
Retain
readonly if loading schema files is an intended feature. Restrict access to files explicitly selected by the user. -
Replace the duplicate declarations with one unambiguous metadata entry, for example:
yaml tools: ["read"]If schema content is always supplied directly in the prompt, use an empty tool list instead.
-
Remove the
MD+EXECclassification and the recommendation to executeping, or move network diagnostics into a separate, explicitly authorized administrative workflow. -
Configure the host to deny undeclared capabilities, sandbox command execution, constrain filesystem paths, block unnecessary network access, and require confirmation before any privileged operation.
-
Add automated metadata validation that rejects duplicate YAML keys and flags tool permissions not justified by documented functionality.
-
