T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:8- Finding
Unnecessary Local Filesystem Read and Write Permissions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 8
Vulnerability Type: Excessive permissions and violation of least privilege
Risk Level: MediumVulnerable Code
yaml permissions: \["network", "file.read", "file.write"]Technical Analysis
The skill requests
file.readandfile.writepermissions even though its documented implementation only retrieves city and NFT-related information from remote websites. NeitherSKILL.mdnorREADME.mdidentifies a workflow that requires reading from or writing to the local filesystem.Granting capabilities unrelated to the skill's stated purpose violates the principle of least privilege. If the host maps these declarations to effective filesystem access without additional path restrictions, the skill would possess a broader security boundary than needed. This unnecessary access could become exploitable if the skill instructions, remote content processed by the agent, or a future skill update were compromised.
Attack Path
- A user installs or enables the skill for city rankings, digital-city information, or NFT-related operations.
- The host grants the permissions declared in
SKILL.md, including local file read and write access. - The skill retrieves and processes externally controlled content from the documented remote service, or its instructions are maliciously modified in a later update.
- Compromised instructions invoke the unnecessary filesystem capabilities.
- Files accessible to the host process may be read, disclosed through network access, modified, or overwritten.
This exploitation path is conditional on the host enforcing the declared permissions as effective capabilities and on malicious instructions or content reaching the agent. The repository itself contains no executable malicious payload.
Impact Assessment
Potential impact includes unauthorized access to files available to the agent process, disclosure of loca ...[truncated 580 chars]
- Remediation
View remediation
Remediation Suggestions
-
Remove
file.readandfile.writefrom the permission declaration because the documented functionality only requires network access:yaml permissions: \["network"] -
If local persistence is later required, document the precise business requirement and request only the minimum necessary capability.
-
Restrict any required filesystem access to a dedicated application data directory rather than granting general local file access.
-
Prevent access to wallet files, SSH keys, browser profiles, environment files, credentials, and operating-system configuration.
-
Require explicit user confirmation before reading or modifying files and before performing wallet, NFT purchase, trading, voting, or governance operations.
-
Apply host-level sandboxing and deny filesystem access by default, independently of the skill manifest.
-
Add automated manifest validation to reject permissions that are not exercised or justified by the documented implementation.
-
