T05 · Unauthorized Access and Privilege Escalation
- Location
SKILL.md:23- Finding
Excessive Read Access to Persistent Agent Memory
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:23-35; duplicated incron-message.md:68-75
Vulnerability Type: Excessive permissions and violation of least privilege
Risk Level: LowVulnerable Configuration
yaml paths: read: - /workspace/skills/ - /workspace/MEMORY.md - /workspace/AGENTS.md - /workspace/.learnings/LEARNINGS.md - /workspace/.learnings/FEATURE_REQUESTS.md - /workspace/COMBINATIONS.md write: - /workspace/COMBINATIONS.md - /workspace/.learnings/LEARNINGS.md - /workspace/.learnings/FEATURE_REQUESTS.md - /workspace/memory/YYYY-MM-DD.mdThe corresponding weekly task explicitly authorizes these commands:
text READ — inventory and learnings: - ls /workspace/skills/ - cat /workspace/skills/*/SKILL.md | grep -E "^name:|^description:" - cat /workspace/.learnings/LEARNINGS.md - cat /workspace/.learnings/FEATURE_REQUESTS.md - cat /workspace/COMBINATIONS.md - cat /workspace/MEMORY.md - cat /workspace/AGENTS.mdTechnical Analysis
The skill requests permission to read
/workspace/MEMORY.md, although the documented weekly-distillation algorithm does not require persistent general memory. Its stated inputs are the installed-skill metadata, combination logs, feature requests, the combinations catalogue, and the autonomy policy.Persistent memory may contain private historical context, prior task information, or operational details unrelated to skill-combination analysis. Loading that information into the model context unnecessarily expands the data exposed to the skill and violates least-privilege principles.
Reading
AGENTS.mdhas a documented purpose—consulting the autonomy gate and proposing startup-ritual changes—but granting access to the complete file is still broader than a dedicated, narrowly scoped policy interface would be.The project includes instructions not to log or output sensitive data, which reduces the likelihood of disclosure. However, instruction-leve ...[truncated 1276 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
/workspace/MEMORY.mdfrom the declared read paths and from the cron task because the documented distillation process does not use it. - Replace full
AGENTS.mdaccess with a dedicated file containing only the autonomy-gate policy required by this skill. - If full
AGENTS.mdaccess is unavoidable, extract only a clearly delimited policy section rather than loading the complete file. - Enforce file permissions through the OpenClaw runtime instead of relying solely on natural-language constraints.
- Add an output-filtering step that detects secrets and personal information before reports or memory summaries are written.
- Document each requested file permission and the exact processing operation that requires it.
- Remove
