T03 · Remote Payload Retrieval and Execution
- Location
references/platform-guide.md:53- Finding
Remote Installation Scripts Are Piped Directly into Privileged Shells
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This memory skill is purpose-aligned but needs review because it persistently stores broad conversation history and can automatically route, index, or back up sensitive memory with limited safeguards.
Install only if you are comfortable with an agent retaining long-term memory about conversations, identity, preferences, projects, and decisions. Keep the initial setup local-only, avoid optional cloud/vector indexing until you have an allowlist and secret redaction, replace unattended git add -A backups with reviewed or encrypted backups to a private repository, and do not run the curl-to-shell or unpinned binary setup commands without independent verification.
references/platform-guide.md:53Remote Installation Scripts Are Piped Directly into Privileged Shells
references/deployment-guide.md:84Unverified Mutable Native Binaries, Modules, and Container Images Are Executed
references/deployment-guide.md:153Semantic Indexing Submits All Workspace Markdown Files to OpenAI
references/deployment-guide.md:263Automated Git Backup Can Publish Persistent Memory Without Review
scripts/layer0-agent-prompt-template.md:85Recurring Signal Router Can Persist Prompt-Injection Content into Long-Term Memory
references/platform-guide.md:53Docker Group Membership Grants Root-Equivalent Host Capabilities
scripts/template-integrity-check.sh:85Local Mutable Checksum Is Misrepresented as Prompt-Injection Prevention
The advertised purpose focuses on persistent memory, but the skill also introduces integrity enforcement, approval workflows, audit logging, and failure/halting behavior. This mismatch can mislead users about operational side effects and authority, causing them to enable a skill that performs more control and security-sensitive functions than disclosed.
The skill strongly promotes persistent storage of conversations, preferences, identity, and continuity, but does not present a clear up-front warning that sensitive user data may be retained across logs, markdown memory files, backups, and possibly remote repositories. This undermines informed consent and can expose personal, confidential, or regulated data to long-term retention and replication.
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
Memory corrupted → restore from Git:
git log --oneline # Find last good commit
git reset --hard <commit> # Restore
Deployment broken → restore VPS snapshot:
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
memory/daily/ SESSION-STATE.md *.migrated .env
**Daily backup cron (via OpenClaw):**
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).
cp ~/.openclaw/lcm.db ~/.openclaw/lcm.db.backup-$(date +%Y%m%d)
rm ~/.openclaw/lcm.db
# Restart OpenClaw gateway (recreates clean database)
The '| sh' pattern is dangerous because it chains retrieval and execution into a single step, preventing meaningful review and making accidental arbitrary-code execution trivial. In documentation consumed by users setting up an agent platform, this pattern increases the chance of blind trust and exploitation through compromised distribution channels.
# Install Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
This command executes a remote install script from ollama.com directly via the shell, creating a direct arbitrary-code-execution path if the script, hosting infrastructure, TLS trust chain, or DNS path is compromised. Because the file is operational guidance for setting up a persistent agent stack, the likelihood of users running it uncritically is elevated.
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b
This one-liner combines remote content retrieval and execution, making it easy for a network or upstream compromise to translate immediately into code execution on the host. The optional nature of the feature does not reduce the severity of the unsafe execution pattern itself.
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5:7b
Using '| bash' with a GitHub-hosted installer is still a chaining abuse pattern because it eliminates inspection and provenance validation before execution. Even trusted upstreams can be compromised, and shell-piped installers normalize unsafe operator behavior.
# Option A: nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 22
nvm use 22
On a VPS, a '| sh' installer creates a direct path from remote content delivery failure to server compromise. Because the surrounding section also enables long-lived services, successful exploitation could produce durable host-level impact.
curl -fsSL https://get.docker.com | sh
usermod -aG docker $USER
systemctl enable docker
systemctl start docker
The README explicitly promotes capturing every message and preserving long-term memory, but it does not pair that behavior with a clear privacy notice, retention policy, or guidance on handling secrets and personal data. In an agent skill context, users may unknowingly persist sensitive conversations, credentials, or regulated data into local files and backups.
Encouraging comprehensive capture of all messages and durable storage in human-readable memory artifacts materially increases the chance that sensitive natural-language data is retained and later exposed. Even if intended as a feature, broad persistence expands the blast radius of any local compromise, accidental commit, or later sharing of the memory directory.
The architecture instructs the agent to write critical facts before responding and continuously route raw logs into persistent buckets, which operationalizes ongoing collection of conversational data. In practice, this can capture secrets, private user details, or internal system outputs without contextual consent or minimization.
The README describes automated Git backups and optional cloud-hosted components without clearly warning that conversation-derived memory may leave the local machine. This can cause unintentional exfiltration of sensitive data to third-party services or remote repositories if users enable backups or semantic recall services.
The README recommends storing identity, beliefs, projects, lessons, and daily logs in readable files and then backing them up with Git, which can aggregate highly sensitive conversation-derived data into easily inspectable artifacts. This is especially risky because such files are simple to copy, accidentally commit, or expose through repository misconfiguration.
The skill describes shell-capable setup, cron, chmod, git, and restore operations but does not declare an explicit tool scope or allowed-tools boundary. That creates an authorization ambiguity where an agent may invoke shell actions beyond what a user expects, especially in a persistence-oriented skill that touches logs, backups, and filesystem state.
The architecture encourages broad retention of user-provided content across SQLite logs, curated memory files, heartbeat tracking, and backups. Because the skill is specifically designed for continuity and identity persistence, the context makes this more dangerous: it normalizes long-lived storage and cross-layer replication of sensitive conversation data.
Daily Git backup guidance would replicate accumulated memory content to external hosting, extending the exposure surface from local storage to remote repositories and provider infrastructure. In a skill that stores identity, preferences, decisions, and daily logs, remote replication materially increases the risk of privacy breaches, accidental publication, and unauthorized access.
The Security section states 'Network isolation: Layer 0.5 cron has no external network requirements,' but elsewhere the skill describes Layer 0.5 using Claude Haiku on a recurring basis and Layer 2 pushing backups to GitHub/GitLab. That creates an intent-level contradiction in the documentation because the file presents network-free operation as a security property while also describing network-dependent deployments and integrations.
The WAL protocol explicitly instructs the agent to write important user facts before responding, including preferences, names, dates, URLs, and decisions. This creates a systematic capture pipeline for potentially sensitive content before the user can assess or opt out, increasing privacy risk and making accidental retention highly likely.
The WAL triggers are broad enough to capture ordinary conversation content such as names, preferences, dates, URLs, and decisions with little contextual limitation. In a memory skill, that ambiguity increases the risk of over-collection, silent retention of sensitive data, and persistence of information users did not realize would be logged.
The cloud-service instructions direct users to create hosted semantic-memory infrastructure and use an API key, but they do not warn that user messages and long-term memory content may be transmitted to third-party services and persist outside the local environment. In a memory skill, this materially increases privacy risk because the stored content is likely to include sensitive personal, behavioral, or project data across sessions.
### Option C: Cloud Services (Zero Local Infrastructure)
**Qdrant Cloud:**
1. Create free account at https://qdrant.tech (1GB cluster free)
2. Create cluster → get API key + cluster URL
3. Use in embedding script: `client = QdrantClient(url="...", api_key="...")`
The guide promotes persistent storage and Git-based backup of agent memory, identity, and session-related artifacts, which creates long-lived retention of potentially sensitive conversational data. In the context of a persistent-memory skill, this is more dangerous than ordinary documentation because the entire purpose is to preserve user and agent state across sessions, increasing the chance of over-retention and unintended disclosure.
git remote add origin git@github.com:yourusername/yourrepo-memory.git
**Create `.gitignore`** (protect private files):
```gitignore
SOUL.md
USER.md
The guide instructs users to automate git add -A && git commit && git push over the entire workspace, which can exfiltrate sensitive memory, prompts, tokens, or private notes if .gitignore is incomplete, misapplied, or later changed. Because this runs unattended on a schedule, a single mistake can repeatedly publish newly created sensitive files to a remote repository without the user noticing.
This markdown file provides commands that create files and directories, modify prompt templates, install Docker via a remote script, and alter user group membership, but it does not include a user-facing warning about system changes or the risks of running those commands. Under the markdown-file criteria for SQP-2, documentation should warn when behaviors may affect user data, privacy, or system integrity.
No suspicious patterns detected.