T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:30- Finding
Mutable Remote Payload Is Piped Directly into Bash
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This memory-restoration skill does what it claims, but it uses risky installation and persistence methods that can automatically expose prior chats into future agent sessions.
Review carefully before installing. Avoid the one-line remote installer; only install from a pinned, locally reviewed archive with a verified hash. Do not enable automatic recovery unless every user understands that prior chat content may be replayed into later sessions. Check AGENTS.md changes, restrict file permissions on trackers/logs, and require a clear uninstall or rollback path.
SKILL.md:30Mutable Remote Payload Is Piped Directly into Bash
install.sh:11Unpinned Remote Archive Is Extracted and Executed Without Integrity Verification
scripts/install.sh:164Installer Persistently Injects Automatic Execution Instructions into Global Agent Configuration
scripts/autorecover.py:182Untrusted Historical Messages Are Elevated into System Context
scripts/maintenance.sh:37Runtime Identifiers Are Interpolated Directly into Python Source
Modifying AGENTS.md to establish persistent auto-execution instructions is a materially different behavior from merely restoring context after reset. Persistence mechanisms increase risk because they can survive session boundaries and cause repeated execution of file reads or shell commands without fresh user review.
Modifying AGENTS.md to establish persistent auto-execution instructions is a materially different behavior from merely restoring context after reset. Persistence mechanisms increase risk because they can survive session boundaries and cause repeated execution of file reads or shell commands without fresh user review.
Modifying AGENTS.md to establish persistent auto-execution instructions is a materially different behavior from merely restoring context after reset. Persistence mechanisms increase risk because they can survive session boundaries and cause repeated execution of file reads or shell commands without fresh user review.
Modifying AGENTS.md to establish persistent auto-execution instructions is a materially different behavior from merely restoring context after reset. Persistence mechanisms increase risk because they can survive session boundaries and cause repeated execution of file reads or shell commands without fresh user review.
Automatically reloading prior conversation context into a new session can surface secrets, sensitive prompts, or private user data that were not meant to carry forward. In this context, the skill is specifically designed to bridge reset boundaries, which makes the confidentiality risk more acute rather than incidental.
Piping remote content directly into bash executes unreviewed code from a network source with the user's privileges. This is one of the highest-risk installation patterns because a compromised server, DNS, TLS endpoint, or upstream package can immediately lead to arbitrary code execution and persistent system compromise.
The skill instructs users to fetch and immediately execute an external script from a nonstandard remote endpoint. This creates a direct arbitrary code execution path and is particularly dangerous here because the skill also seeks persistent integration with session behavior, amplifying compromise impact.
# 下载并安装
curl -sSL https://wry-manatee-359.convex.site/api/v1/download?slug=good-memory | bash -s install
The usage instruction explicitly tells users to pipe remotely fetched script content directly into bash, which removes any opportunity to review the script before execution and enables instant arbitrary code execution if the remote host or connection is compromised. This anti-pattern is particularly risky for an installer that appears intended to run as root or to write into root-controlled directories.
#!/bin/bash
#
# Good-Memory 一键安装脚本
# 用法:curl -sSL https://xxx/install.sh | bash
#
set -e
Using a shell pipeline into bash chains network retrieval directly into command execution, so any malicious or unexpected response body becomes shell code immediately. This amplifies compromise risk because there is no validation, no integrity gate, and no pause for user review before commands run.
#!/bin/bash
#
# Good-Memory 一键安装脚本
# 用法:curl -sSL https://xxx/install.sh | bash
#
set -e
The script automatically outputs prior conversation history into the current context with no warning or consent step. This can expose secrets, personal data, or prior instructions from another session to the current interaction, especially when session detection is imperfect.
This is the clearest confirmed issue: prior conversation data is inserted into the agent's system context for a new conversation. That can leak sensitive information across session boundaries and can also privilege stale or user-controlled historical content as hidden instructions, undermining confidentiality and prompt integrity.
The injected AGENTS.md instructions direct automatic restoration of prior conversation history into new or reset chats, including plain-language replay of recent messages. In the context of a memory-recovery skill, this is especially dangerous because the core feature directly handles sensitive conversational data and can leak previous user-provided secrets, personal data, or confidential instructions into a session without fresh consent.
Advertising that context recovery is automatic and unnoticed normalizes hidden reuse of prior conversation data and encourages deployment without transparency safeguards. Because this skill's purpose is to recover memory, the skill context makes the risk greater: the hidden behavior is not incidental but central, so any privacy or session-boundary failure directly exposes historical content.
The quickstart instructs users to fetch a remote archive and immediately run installation scripts, but provides no integrity verification, provenance checks, or warning about filesystem and agent-level changes. This creates a supply-chain execution path where a compromised download endpoint or archive could lead to arbitrary code execution during installation.
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.
# 下载并解压到skills目录
mkdir -p ~/.openclaw/workspace/skills/good-memory
cd ~/.openclaw/workspace/skills/good-memory
curl -L https://wry-manatee-359.convex.site/api/v1/download?slug=good-memory | unzip -
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.
# 下载并解压到skills目录
mkdir -p ~/.openclaw/workspace/skills/good-memory
cd ~/.openclaw/workspace/skills/good-memory
curl -L https://wry-manatee-359.convex.site/api/v1/download?slug=good-memory | unzip -
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.
# 下载并解压到skills目录
mkdir -p ~/.openclaw/workspace/skills/good-memory
cd ~/.openclaw/workspace/skills/good-memory
curl -L https://wry-manatee-359.convex.site/api/v1/download?slug=good-memory | unzip -
The skill's core behavior is to automatically restore and manually expose prior conversation records across sessions, which can defeat user expectations that a reset cleared context. Because chats often contain secrets, tokens, personal data, or prior instructions, this persistence and retrieval path meaningfully expands the risk of sensitive data disclosure.
The documented first reply is a fixed Chinese-language message, and the file does not indicate that the user can opt into that language or select another locale. This is a natural-language policy concern because it appears to force a specific language in user-facing output without explicit opt-in.
The manual recovery commands are explicitly designed to list and read prior conversation history, yet the quickstart does not warn users that sensitive data from earlier sessions may be exposed to anyone with shell access or access to the agent environment. In a memory-restoration skill, that omission materially increases privacy and confidentiality risk.
The skill documentation declares automatic behavior, installation steps, environment-variable usage, and local file interaction, yet it does not declare any explicit tool scope or permissions boundaries. In a skill that reads session files, writes local state, and invokes shell commands, missing scope declarations reduce transparency and make overbroad execution harder to review or constrain.
The natural-language description and usage guidance are presented in Chinese, which can impose a language constraint on users without opt-in. Under the language/locale policy, this should either provide multilingual support or clearly document that the skill is intended for a Chinese-speaking audience.
The skill advertises automatic restoration of prior conversation history but does not warn that past sessions may contain credentials, personal data, or other sensitive content that will be reintroduced into a new context. This can cause privacy leakage to the model, plugins, logs, or unintended participants in the new session.
The script downloads an archive from a remote URL, unpacks it, and immediately executes a nested installer script without any integrity verification, signature check, or explicit warning that downloaded code will be run. If the download endpoint, transport path, or hosted artifact is compromised, arbitrary code will execute with the privileges of the user running the installer, which is especially dangerous given the default path under /root.
The file-level description and runtime recovery message are written only in Chinese, which imposes a specific language on users and the hosting agent behavior. There is no mechanism to let the user choose language or any documented justification for a Chinese-only locale constraint.
No suspicious patterns detected.