T08 · Insecure Dependencies
- Location
skill.md:66- Finding
Unverified Remote Skill Archives Are Installed into a Trusted Skill Directory
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is not clearly malicious, but it asks users to install changing remote skill packages and delete local skill folders without adequate verification or safeguards.
Review this carefully before installing. Do not run the cleanup or download commands as written unless you have backups and trust the publisher-hosted ZIPs; prefer a signed or checksum-verified release, inspect the downloaded sub-skills before loading them, and enter MX_APIKEY only through a confidential secret-handling path.
skill.md:66Unverified Remote Skill Archives Are Installed into a Trusted Skill Directory
skill.md:56Destructive Wildcard Deletion Can Remove Unrelated Skills
skill.md:116Defective and Non-Confidential API Key Input Handling
rm -rf ~/.openclaw/skills/mx-skills* is a genuinely hazardous parameter pattern because it performs recursive deletion on a glob-expanded path in persistent user storage. In the context of a financial skill package, there is no strong justification for such an aggressive cleanup step, making the instruction disproportionately dangerous.
安装前,请先删除~/.openclaw/skills目录下任何以mx-skills开头的现有技能目录,以避免版本冲突:
rm -rf ~/.openclaw/skills/mx-skills*
rm -rf ~/.openclaw/skills/mx-skills* is a genuinely hazardous parameter pattern because it performs recursive deletion on a glob-expanded path in persistent user storage. In the context of a financial skill package, there is no strong justification for such an aggressive cleanup step, making the instruction disproportionately dangerous.
安装前,请先删除~/.openclaw/skills目录下任何以mx-skills开头的现有技能目录,以避免版本冲突:
rm -rf ~/.openclaw/skills/mx-skills*
The file claims to describe a financial skill collection, but actually behaves like an installer by deleting directories and replacing local content. That is dangerous because users or agents may treat it as harmless metadata/documentation while it contains operational instructions that modify the local environment.
The file claims to describe a financial skill collection, but actually behaves like an installer by deleting directories and replacing local content. That is dangerous because users or agents may treat it as harmless metadata/documentation while it contains operational instructions that modify the local environment.
The skill documentation includes package-installer behavior—deletion, remote archive download, unzip, and persistence into the user's skill directory—that is not necessary for a financial query skill's runtime purpose. This expands the attack surface to supply-chain compromise, path misuse, and accidental destructive changes on the host.
The documented rm -rf ~/.openclaw/skills/mx-skills* deletes persistent local content without confirmation, backup guidance, or safety checks. Wildcard-based recursive deletion is especially risky because path expansion mistakes or user misunderstanding can cause unintended data loss.
The instructions tell users to download and unzip multiple remote archives into persistent directories without any safety warning, signature check, or checksum verification. If the remote host, transport, or referenced artifacts are compromised, this can lead to silent installation of malicious skill content.
The installer persists downloaded content under ~/.openclaw/skills/mx-skills, creating long-lived local state that can continue affecting future sessions. Because the content comes from remote archives without integrity verification, this persistence increases the blast radius of any compromise or mistaken installation.
从云端下载最新的mx-skillsskill 定义,保持所有文件在同一目录下:
mkdir -p ~/.openclaw/skills/mx-skills/scripts
# 下载 妙想金融数据skill
MX_DATA_DOWNLOAD_URL="https://marketdfs.dfcfw.com/file/download/E220260320DRQ9S9.zip"
MX_DATA_TEMP_FILE= "/temp/mx_data.zip"
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
所有这些Skill文件在复制后都应存在:
test -f ~/.openclaw/skills/mx-skills/mx-data/SKILL.md && echo "mx_data.md OK" || echo "mx_data.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-search/SKILL.md && echo "mx_search.md OK" || echo "mx_search.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-select-stock/SKILL.md && echo "mx_select_stock.md OK" || echo "mx_select_stock.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-selfselect/SKILL.md && echo "mx_selfselect.md OK" || echo "mx_selfselect.md MISSING"
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
test -f ~/.openclaw/skills/mx-skills/mx-data/SKILL.md && echo "mx_data.md OK" || echo "mx_data.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-search/SKILL.md && echo "mx_search.md OK" || echo "mx_search.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-select-stock/SKILL.md && echo "mx_select_stock.md OK" || echo "mx_select_stock.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-selfselect/SKILL.md && echo "mx_selfselect.md OK" || echo "mx_selfselect.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-stock-simulator/SKILL.md && echo "mx_stock_simulator.md OK" || echo "mx_stock_simulator.md MISSING"
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
test -f ~/.openclaw/skills/mx-skills/mx-data/SKILL.md && echo "mx_data.md OK" || echo "mx_data.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-search/SKILL.md && echo "mx_search.md OK" || echo "mx_search.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-select-stock/SKILL.md && echo "mx_select_stock.md OK" || echo "mx_select_stock.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-selfselect/SKILL.md && echo "mx_selfselect.md OK" || echo "mx_selfselect.md MISSING"
test -f ~/.openclaw/skills/mx-skills/mx-stock-simulator/SKILL.md && echo "mx_stock_simulator.md OK" || echo "mx_stock_simulator.md MISSING"
echo "MX_APIKEY=${MX_APIKEY:+is set}"
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
test -f ~/.openclaw/skills/mx-skills/mx-data/SKILL.md && echo "mx_data.md OK" || echo "mx_data.md MISSING" test -f ~/.openclaw/skills/mx-skills/mx-search/SKILL.md && echo "mx_search.md OK" || echo "mx_search.md MISSING" test -f ~/.openclaw/skills/mx-skills/mx-select-stock/SKILL.md && echo "mx_select_stock.md OK" || echo "mx_select_stock.md MISSING" test -f ~/.openclaw/skills/mx-skills/mx-selfselect/SKILL.md && echo "mx_selfselect.md OK" || echo "mx_selfselect.md MISSING" test -f ~/.openclaw/skills/mx-skills/mx-stock-simulator/SKILL.md && echo "mx_stock_simulator.md OK" || echo "mx_stock_simulator.md MISSING" echo "MX_APIKEY=${MX_APIKEY:+is set}"
Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.
test -f ~/.openclaw/skills/mx-skills/mx-search/SKILL.md && echo "mx_search.md OK" || echo "mx_search.md MISSING" test -f ~/.openclaw/skills/mx-skills/mx-select-stock/SKILL.md && echo "mx_select_stock.md OK" || echo "mx_select_stock.md MISSING" test -f ~/.openclaw/skills/mx-skills/mx-selfselect/SKILL.md && echo "mx_selfselect.md OK" || echo "mx_selfselect.md MISSING" test -f ~/.openclaw/skills/mx-skills/mx-stock-simulator/SKILL.md && echo "mx_stock_simulator.md OK" || echo "mx_stock_simulator.md MISSING" echo "MX_APIKEY=${MX_APIKEY:+is set}"
The manifest and installation guidance are presented in Chinese, but the file does not indicate that the skill is region-specific or offer an alternative language or user opt-in. This can violate a language/locale policy when documentation forces a specific language by default.
Detected: suspicious.destructive_delete_command