auto-deploy@1.0.0
BLOCKED· static onlyPublisher claims: "Automates Git project deployment by pulling code, building, and deploying via SSH to Linux servers with backup and health checks." Observed in sandbox: static analysis only — behavior not yet observed.
Coverage
Static only; nothing was run yet.The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.
Is [email protected] safe to install?
KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-15 and scored it 45/100 (Blocked). Do not install it: the sandbox observed behaviour consistent with credential theft, exfiltration or persistence. Notable findings: Reads credential paths from the home directory; Access to sensitive file paths; Reads credential paths from the home directory. Summary: static analysis only — behavior not yet observed.
Behavior trace
Queued for honeypot run · static analysis onlyThis version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.
Static findings
echo " mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ssh-copy-id -i ~/.ssh/server_deploy.pub user@server_ipFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.cat ~/.ssh/server_deploy.pubFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ssh-keygen -t ed25519 -C "openclaw-deploy" -f ~/.ssh/openclaw_deployFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.curl -fsSL https://deb.nodesource.com/setup_20.x | bash -Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.ssh -i ~/.ssh/server_deploy user@server_ip "echo connected"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ssh-keygen -t ed25519 -C "openclaw-deploy" -f ~/.ssh/openclaw_deployFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.rm -rf /www/wwwroot/points/*Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.mkdir -p ~/.sshFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ssh-keygen -t ed25519 -C "openclaw-server" -f ~/.ssh/server_deploy -N ""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.cat ~/.ssh/openclaw_deploy.pubFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ssh-keygen -t ed25519 -C "server-deploy" -f ~/.ssh/server_deployFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.rm /tmp/points-deploy.tar.gzFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.ssh-keygen -t ed25519 -C "openclaw-server" -f ~/.ssh/server_deploy -N ""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.echo "$PUBLIC_KEY" >> ~/.ssh/authorized_keysFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.cat ~/.ssh/openclaw_deploy.pubFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chown -R www:www $BACKUP_PATHFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.set ssh_key "~/.ssh/server_deploy.pub"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.git clone http://${GIT_USER}:${GIT_PASS}@${GIT_URL#http://} points-buildFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chmod 600 ~/.ssh/authorized_keysFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.curl -fsSL https://rpm.nodesource.com/setup_20.x | bash -Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.if [ -f ~/.ssh/server_deploy ]; thenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.console.log(' ssh -i ~/.ssh/server_deploy ' + SERVER_USER + '@' + SERVER_IP + ' "echo 连接成功"');Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| `git.url` | Git 仓库地址 | `http://192.168.1.169:8015/peninsula/points` |Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.cat ~/.ssh/server_deploy.pubFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.console.log(' chmod 700 ~/.ssh');Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.git ls-remote http://192.168.1.169:8015/peninsula/pointsFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.ssh -i "$SSH_KEY" -p "$SERVER_PORT" "$SERVER_USER@$SERVER_HOST" "rm -f /tmp/deploy-commit.txt"Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.ssh-keygen -t ed25519 -C "openclaw-server" -f ~/.ssh/server_deploy -N ""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.ssh-keygen -t ed25519 -C "openclaw-server" -f ~/.ssh/server_deploy -N ""Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chmod 600 ~/.ssh/authorized_keysFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chmod 700 ~/.sshFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chown -R www:www $DEPLOY_PATHFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.console.log(' chmod 600 ~/.ssh/authorized_keys');Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.console.log(' mkdir -p ~/.ssh');Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.console.log(' chmod 700 ~/.ssh');Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.rm /tmp/points-deploy.tar.gzFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.console.log(' chmod 600 ~/.ssh/authorized_keys');Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.curl -fsSL https://deb.nodesource.com/setup_20.x | bash -Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.- SSH Key 设置权限 `chmod 600`Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.- 验证 SSH Key 权限(`chmod 600 ~/.ssh/server_deploy`)Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.echo " mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.chmod 700 ~/.sshFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.console.log(' echo "' + publicKey + '" >> ~/.ssh/authorized_keys');Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."url": "http://192.168.1.169:8015/peninsula/points",Fix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.
What would make this Verified
35 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Reads credential paths from the home directory≈ +9 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Unclaimed publisher≈ +8 on the totalClaim zjm1226: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Destructive file system command detected≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
- URL with embedded credentials≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.