Trust Assessment
config-guardian received a trust score of 37/100, placing it in the Untrusted category. This skill has significant security findings that require attention before use in production.
SkillShield's automated analysis identified 7 findings: 1 critical, 1 high, 5 medium, and 0 low severity. Key findings include Sensitive environment variable access: $HOME, Path traversal allows data exfiltration via backup script, Path traversal allows arbitrary file read via diff script.
The analysis covered 4 layers: Manifest Analysis, Static Code Analysis, Dependency Graph, LLM Behavioral Safety. The LLM Behavioral Safety layer scored lowest at 48/100, indicating areas for improvement.
Last analyzed on February 14, 2026 (commit 13146e6a). SkillShield performs automated 4-layer security analysis on AI skills and MCP servers.
Layer Breakdown
Behavioral Risk Signals
Security Findings7
| Severity | Finding | Layer | Location | |
|---|---|---|---|---|
| CRITICAL | Path traversal allows arbitrary file overwrite via restore script The `restore_config.sh` script takes `BACKUP_PATH` and `CONFIG_PATH` as arguments. If untrusted input is provided, an attacker could use path traversal sequences (e.g., `../../`) to specify an arbitrary source file (`BACKUP_PATH`) and an arbitrary destination file (`CONFIG_PATH`). This could allow an attacker to overwrite critical system files (e.g., `/etc/sudoers`, `/etc/ssh/sshd_config`) with malicious content, leading to privilege escalation or system compromise. Crucially, validate and sanitize user-provided paths to ensure they are strictly within expected, non-sensitive directories (e.g., `$HOME/.openclaw/backups/` for `BACKUP_PATH` and `$HOME/.openclaw/` for `CONFIG_PATH`). Use `realpath -m` to resolve paths and then check if they are prefixes of allowed directories. Restrict the skill's ability to accept arbitrary paths for these arguments. | LLM | scripts/restore_config.sh:6 | |
| HIGH | Path traversal allows data exfiltration via backup script The `backup_config.sh` script takes `CONFIG_PATH` and `BACKUP_DIR` as arguments. Although these are quoted, if untrusted input is provided, an attacker could use path traversal sequences (e.g., `../../`) to specify arbitrary files for `CONFIG_PATH` (e.g., `/etc/passwd`) and copy them to an attacker-controlled `BACKUP_DIR` (e.g., `/tmp/attacker_dir/passwd_backup`), leading to data exfiltration. Validate and sanitize user-provided paths to ensure they are strictly within expected directories (e.g., `$HOME/.openclaw/`). Use `realpath -m` to resolve paths and then check if they are prefixes of allowed directories. Alternatively, restrict the skill's ability to accept arbitrary paths for these arguments. | LLM | scripts/backup_config.sh:10 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/abdhilabs/config-guardian/scripts/backup_config.sh:4 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/abdhilabs/config-guardian/scripts/diff_config.sh:5 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/abdhilabs/config-guardian/scripts/restore_config.sh:5 | |
| MEDIUM | Sensitive environment variable access: $HOME Access to sensitive environment variable '$HOME' detected in shell context. Verify this environment variable access is necessary and the value is not exfiltrated. | Static | skills/abdhilabs/config-guardian/scripts/validate_config.sh:14 | |
| MEDIUM | Path traversal allows arbitrary file read via diff script The `diff_config.sh` script takes `BACKUP_PATH` and `CONFIG_PATH` as arguments. If untrusted input is provided, an attacker could use path traversal sequences (e.g., `../../`) to specify arbitrary files (e.g., `/etc/passwd`, `/etc/shadow`) to be read and compared. While `diff` itself doesn't directly exfiltrate, the output could be captured by the calling agent, leading to information disclosure. Validate and sanitize user-provided paths to ensure they are strictly within expected directories (e.g., `$HOME/.openclaw/`). Restrict the skill's ability to accept arbitrary paths for these arguments. | LLM | scripts/diff_config.sh:6 |
Scan History
Embed Code
[](https://skillshield.io/report/f892755270b49a1a)
Powered by SkillShield