T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:12- Finding
Unnecessary Filesystem and Calendar Tool Permissions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12–14
Vulnerability Type: Excessive tool permissions violating least privilege
Risk Level: MediumComplete Code Snippet:
yaml openclaw: requires: tools: [calendar, filesystem]Technical Analysis
The skill declares access to both the calendar and filesystem tools, but none of its documented behavior requires reading or modifying files or accessing calendar information. Its operational instructions only provide conversational guidance concerning loneliness, social outreach, and crisis resources.
This discrepancy violates the principle of least privilege. If the host grants the declared capabilities, the skill receives access beyond what is necessary for its stated purpose. Although the reviewed instructions do not currently invoke these tools maliciously, unnecessary permissions increase the consequences of a future malicious update, instruction injection, or other compromise.
Attack Path
- A user installs or activates the skill.
- The hosting agent grants the declared
calendarandfilesystemcapabilities. - The skill instructions are subsequently compromised, maliciously updated, or influenced by untrusted content.
- The compromised execution path invokes the unnecessarily available tools.
- Depending on host-side controls, local files or calendar records could be read, created, changed, or deleted without a legitimate need.
Impact Assessment
The potential scope includes data and operations exposed through the host's filesystem and calendar tool implementations. This could include disclosure of sensitive local files or calendar entries and unauthorized modification or deletion of accessible data. The exact privileges depend on the sandboxing, authorization, and confirmation controls enforced by the host platform.
- Remediation
View remediation
Remediation Suggestions
-
Remove both tool requirements because the current skill workflow is entirely conversational:
yaml openclaw: requires: tools: [] -
If a future scheduling feature genuinely requires calendar access, request only calendar access and only when the user explicitly asks to create or modify an event.
-
Do not grant filesystem access unless a documented feature requires it.
-
Apply read-only scopes where possible and require explicit confirmation before writes or deletions.
-
Enforce host-side sandboxing and path or calendar-resource allowlists so manifest declarations alone cannot provide unrestricted access.
-
Add a permission-to-feature review check to prevent future releases from declaring capabilities that are not exercised by documented functionality.
-
