T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:13- Finding
Overly Broad Read and Execution Permissions for Memory Scanning
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:13-15andSKILL.md:61
Vulnerability Type: Excessive tool permissions and insufficiently constrained file access
Risk Level: MediumVulnerable Code
yaml tools: - read - exectext - Supports scanning MEMORY.md, memory/*.md, and workspace configuration filesTechnical Analysis
The skill requests both arbitrary file-reading and command-execution capabilities while describing a scan scope that includes unspecified workspace configuration files. No path allowlist, workspace-boundary validation, sensitive-file exclusion policy, or least-privilege restriction is defined.
Reading memory files is consistent with the skill's stated purpose, but access to broadly defined workspace configuration files can expose credentials, service endpoints, tool settings, and other operationally sensitive information to the agent context. The requested
execpermission further exceeds what is demonstrably necessary because the package contains onlySKILL.md; no bundled scanning script exists whose execution would justify this capability.This finding does not establish that data is transmitted externally or that commands are currently executed maliciously. It identifies an authorization design that permits access beyond a narrowly bounded memory-scanning task and increases the consequences of malicious content, prompt injection, or unsafe future implementation.
Attack Path
- A user invokes the skill to scan agent memory.
- The skill receives
readandexeccapabilities without documented command or path restrictions. - The scan scope is expanded from dedicated memory files to unspecified workspace configuration files.
- Sensitive configuration content is loaded into the agent's context.
- A malicious or prompt-injected memory file may attempt to influence the agent into inspecting additional files or using the execution capability.
...[truncated 885 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the
execcapability unless a specific, reviewed implementation requires it. - Restrict default reads to an explicit allowlist such as
MEMORY.mdand Markdown files under a canonicalizedmemory/directory. - Resolve and canonicalize every requested path before access, reject path traversal, and ensure the resolved path remains inside the approved workspace boundary.
- Exclude sensitive files and directories by default, including environment files, credential stores, private keys, version-control metadata, and agent or tool configuration containing secrets.
- Require explicit user confirmation before scanning any workspace configuration file or expanding beyond the default memory paths.
- If command execution is introduced, invoke a fixed bundled executable with structured arguments rather than constructing shell commands from user-controlled paths or input.
- Add output redaction for tokens, credentials, and other secrets so detected values are not reproduced in reports or logs.
- Remove or clarify the unused
callback_urlinput because it conflicts with the documented zero-network guarantee. If callbacks are implemented later, require explicit consent, validate destinations, and prevent access to loopback, link-local, private-network, and cloud-metadata addresses. - Include the actual scanner implementation in the package so its file-access, quarantine, restoration, and network behavior can be reviewed and tested.
- Remove the
