T03 · Remote Payload Retrieval and Execution
- Location
references/setup.md:27- Finding
Mutable Remote Installer Is Executed Directly Through a Shell
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a coherent durable-memory skill, but its setup instructions include unsafe unverified remote execution and unpinned plugin/source installs.
Before installing, prefer a pinned package version or a signed, checksum-verified release. Avoid running the documented curl-to-bash local installer as written, and treat any Memoria API or embedding key as a secret. Also review what categories of information you want stored durably, because this skill is designed to remember user and project context across sessions.
references/setup.md:27Mutable Remote Installer Is Executed Directly Through a Shell
references/setup.md:6Plugin and Source Installation Use Unpinned Executable Dependencies
The skill explicitly instructs the agent to store durable user preferences, profile facts, project decisions, and learned facts, but it does not require any notice, consent, or confirmation that this information will persist across sessions. This creates a privacy and data-minimization risk because users may disclose sensitive personal or project information without understanding it is being retained long-term, and the broad categories encouraged by the skill increase the chance of over-collection.
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.
If the npm package is unavailable, install from source:
mkdir -p ~/.openclaw/plugins-src
git clone https://github.com/matrixorigin/Memoria.git ~/.openclaw/plugins-src/Memoria
openclaw plugins install --link ~/.openclaw/plugins-src/Memoria/plugins/openclaw
openclaw memoria setup --mode cloud --api-url <MEMORIA_API_URL> --api-key <API_KEY>
The instructions tell users to execute a remote script directly with curl ... | bash, which is a dangerous software supply-chain pattern because the fetched content can change at any time and executes immediately without inspection or integrity verification. In a setup guide for a memory plugin, this is more dangerous because users are likely to run the command during installation with little scrutiny, potentially leading to arbitrary code execution on the host.
The setup guide instructs users to provide API keys but gives no guidance on safe credential handling, increasing the risk of users exposing secrets via shell history, screenshots, shared terminals, or committed config files. In this plugin context, those keys may grant access to long-term memory or backend services, so disclosure could expose stored data or allow unauthorized service use.
Fetching an external script from GitHub and piping it directly to bash allows unreviewed remote content to execute immediately on the user's machine. The skill context makes this more dangerous because it is presented as routine installation guidance for a plugin, which creates a strong social-engineering path for users to run arbitrary code under their own account.
curl -sSL https://raw.githubusercontent.com/matrixorigin/Memoria/main/scripts/install.sh | bash -s -- -y -d ~/.local/bin
openclaw plugins install @matrixorigin/thememoria
openclaw memoria setup --mode local --install-memoria --embedding-api-key <EMBEDDING_API_KEY>
openclaw memoria health