T08 · Insecure Dependencies
- Location
SKILL.md:28- Finding
Unpinned Remote Repository and Dependency Installation
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This configuration-management skill is purpose-aligned, but it asks for broad backup, restore, remote sync, scheduling, credential, and sudo-level capabilities without enough safety boundaries or warnings.
Install only if you trust the publisher and repository. Use a private reviewed Git remote, exclude or encrypt secrets before any backup, avoid auto-push until tested, preview restores in a staging directory first, and do not run sudo restore unless you know exactly which files will be changed.
SKILL.md:28Unpinned Remote Repository and Dependency Installation
The documented Git integration exposes powerful repository and network-affecting operations such as init with arbitrary URLs, push, and pull, but provides no restrictions, validation expectations, or trust-boundary warnings. In a skill that manages configuration, such parameters could direct backups to attacker-controlled repositories or pull untrusted config into an environment, leading to data leakage or unsafe state changes.
/config git init --url <repository-url>
# 推送更新
/config git push --message "更新说明"
# 拉取更新
/config git pull
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# Git认证
export OPENCLAW_GIT_TOKEN="your-github-token"
export OPENCLAW_GIT_SSH_KEY="~/.ssh/id_ed25519"
# 加密密钥
export OPENCLAW_ENCRYPTION_KEY="your-encryption-key"
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
│ │ └── validation.js # 验证工具
│ └── templates/ # 模板文件
│ ├── openclaw.json.template
│ └── secrets.env.template
├── scripts/ # 辅助脚本
│ ├── deploy.sh
│ ├── restore.sh
The security-features section states that the skill automatically desensitizes API keys and supports encrypted storage. Elsewhere, the document only shows manual /config secrets --encrypt/--decrypt usage and includes plaintext examples for OPENCLAW_GIT_TOKEN and OPENCLAW_ENCRYPTION_KEY, so the stated automatic protection behavior is not reflected by the documented implementation.
The documentation promotes scheduled backup and Git-backed automation without clearly warning that configuration contents may be transmitted to remote repositories or servers. Because configuration often contains secrets, tokens, internal hostnames, or environment-specific data, users may unknowingly exfiltrate sensitive information through auto-push behavior.
The restore workflow is presented as a routine action without warning that it can overwrite existing configuration or operational state. In a configuration-management skill, this can cause destructive misoperation, accidental rollback, outage, or loss of local changes if a user runs restore in the wrong environment.
The documentation instructs users to run a restore command with sudo, which elevates a potentially broad, state-changing operation to full administrative privileges. In the context of a config-restore skill, this increases blast radius substantially: a mistaken restore or compromised package could overwrite privileged files, alter services, or impact the whole host.
/config fix --permissions
sudo /config restore --input ./backup.tar.gz
### 调试模式
The natural-language content of the skill documentation is effectively fixed to Chinese, and there is no indication that users may select another language or that the skill is intentionally limited to a Chinese-speaking audience. The policy explicitly calls out forced language or locale without user opt-in as a violation.
The structure section describes a source tree with specific command and utility modules as if they exist and implement the advertised functionality. In the analyzed file, there is no corresponding code, so the documentation presents an implementation picture that is not supported by the artifact being reviewed.