T09 · Insecure Skill Coding Practices
- Location
scripts/package_memory_backup.py:56- Finding
Untrusted Discovery Data Allows Arbitrary Local File Archiving
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill has a coherent memory-backup purpose, but its helper scripts and cloud-plugin guidance create real risk of archiving or exporting unintended local files.
Install only if you are comfortable reviewing every canonical path before backup, keeping archives local unless explicitly needed, and avoiding the unsafe mnemospark install path. Do not use this on untrusted workspaces or with discovery JSON you did not just generate and inspect.
scripts/package_memory_backup.py:56Untrusted Discovery Data Allows Arbitrary Local File Archiving
scripts/discover_memory.py:59Symlinked Memory Entries Can Escape the Workspace Boundary
SKILL.md:18Plugin Installation Guidance Explicitly Bypasses Safety Controls
Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.
This repo starts with one skill:
- `memory-backup` — inspect OpenClaw memory systems, propose a safe memory-only backup set, create a deterministic local archive, and optionally hand the archive off to mnemospark for cloud storage.
## Skill included
The skill instructs the agent to inspect configuration files, validate on-disk paths, and read artifacts via helper scripts, but it does not declare any explicit tool scope such as permissions or allowed-tools. That mismatch can cause the runtime to grant broader-than-necessary file/environment access or leave operators unable to enforce least privilege, increasing the risk of unintended data exposure during backup discovery.
This skill is explicitly designed to create persistent backup bundles of agent memory artifacts, which introduces retention and exfiltration risk if sensitive memory contents are archived or handed off to external storage. Although the text includes exclusions for secrets, logs, and unrelated config, the capability still increases the attack surface because durable memory may contain sensitive operational context and the workflow optionally transfers archives to another system.
# Memory Backup
Create or update backups for OpenClaw memory artifacts only.
Follow this workflow:
The manifest records workspace as str(workspace), which is an absolute local filesystem path. When the backup bundle is shared or stored externally, this leaks host-environment metadata such as usernames, directory layout, or mount structure, which exceeds the stated goal of a memory-only archive. In this skill context, that makes the issue slightly more concerning because the tool is explicitly designed to export and hand off archives.