file-transfer-thru-local-workspace
Skill provides legitimate file transfer functionality but exhibits undisclosed credential harvesting behavior and hardcoded path vulnerability that exposes sensitive configuration data.
Both install.sh and upload-server.js read ~/.openclaw/openclaw.json to extract authentication tokens. This credential harvesting is not declared in SKILL.md or documented as a capability.
install.sh:44 为什么得出这个结论
2/4 个维度触发发现 4 项声明之外的能力或越权行为。
提取到 1 个一般风险产物,需要结合上下文判断。
报告包含 0 步攻击链,另有 2 项高危或严重发现。
没有完整依赖信息,供应链判断需要保留弹性。
风险分是怎么被拉高的
install.sh and upload-server.js read ~/.openclaw/openclaw.json to extract tokens - this is not declared in SKILL.md or package.json permissions
upload-server.js line 31: hardcodes '/home/admin/.openclaw/' path, bypassing HOME env and potentially reading wrong user's config
install.sh passes GATEWAY_AUTH_VALUE as env var to node process, visible in process listing (ps eww)
Can enumerate and download all installed skills, potentially exposing API keys stored in other skills' configs
最关键的证据
Undeclared credential file access
Both install.sh and upload-server.js read ~/.openclaw/openclaw.json to extract authentication tokens. This credential harvesting is not declared in SKILL.md or documented as a capability.
install.sh:44 Hardcoded user path creates information disclosure
upload-server.js has a hardcoded path '/home/admin/.openclaw/' that bypasses the HOME environment variable. This can cause the skill to read the wrong user's configuration file if HOME is unset or different.
src/upload-server.js:31 Skill download exposes other skills' secrets
The skill can enumerate and package all installed skill packages. Many skills contain API keys or credentials in their configs. Downloading all skills provides a credential aggregation attack vector.
src/upload-server.js:200 Permissions mismatch between declared and actual
package.json declares 'filesystem: [write:workspace, read:skills]' but the skill actually reads openclaw.json (credential file) which is outside declared scope.
package.json:26 声明能力 vs 实际能力
install.sh:44-45 reads openclaw.json, upload-server.js:31 has hardcoded /home/admin path upload-server.js:200 uses spawn('zip') for skill packaging Server binds to 0.0.0.0:15170 serving files to any client install.sh extracts HOME, reads openclaw.json, passes GATEWAY_AUTH_VALUE 可疑产物与外联
http://127.0.0.1:15170/ SKILL.md:228
依赖与供应链
没有结构化依赖告警。
文件构成
src/upload-server.js SKILL.md install.sh package.json