T09 · Insecure Skill Coding Practices
- Location
references/commands.md:6- Finding
Security-Critical Operations Delegate to Unbundled and Unverified External Scripts
- Content
View full analysis
Vulnerability Details
File Location:
references/commands.md:6-63; related workflow declarations inSKILL.md:26-28,37-42
Vulnerability Type: Execution of ambient, unverified operational scripts
Risk Level: HighVulnerable Code
bash scripts/backup/quarkpan-login.sh scripts/backup/quark-account-guard.sh bind --confirm YES_I_UNDERSTAND scripts/backup/quark-account-guard.sh statusbash scripts/backup/backup-cron.sh daily scripts/backup/backup-cron.sh weeklybash scripts/backup/upload-cloud.sh /path/archive.tar.gz /path/archive.tar.gz.sha256 smoke-openlistbash scripts/backup/restore-quarkpan.sh --from-index /root/.openclaw/backup/indexes/cloud-daily-YYYY-MM-DD.txt --dry-runbash scripts/backup/lighthouse-snapshot-create.sh --waitbash scripts/backup/lighthouse-snapshot-prune.sh --keep 2 scripts/backup/lighthouse-snapshot-prune.sh --keep 2 --applybash scripts/backup/lighthouse-snapshot-apply.sh --snapshot-id lhsnap-xxxx --confirm YES_I_UNDERSTANDbash scripts/backup/system-state-backup.shTechnical Analysis
The Skill directs users or an Agent to execute numerous programs under
scripts/backup/, but none of those programs are included in the audited project. The only packaged executable isscripts/check_env.sh.Because these commands use relative paths, their targets depend on the process working directory rather than a canonical path anchored to the installed Skill. The package also provides no integrity hash, signature, ownership check, or trusted installation procedure for the missing scripts.
Consequently, the security controls described by the documentation—including account UID binding, token rotation, dry-run restoration, cloud-upload safeguards, and explicit snapshot confirmation—cannot be verified. Their enforcement is delegated entirely to external code that may differ from the documented behavior.
Attack Path
- An attacker gains write access to the wor ...[truncated 1572 chars]
- Remediation
View remediation
Remediation Suggestions
- Bundle every required operational script in the Skill so its implementation can be reviewed and distributed atomically.
- Resolve executable paths relative to the verified Skill directory instead of the caller's working directory.
- Refuse to proceed when any required component is absent.
- Verify each helper's cryptographic digest or signed manifest before execution.
- Validate that each executable is a regular file, is not a symbolic link, has trusted ownership, and is not writable by untrusted users.
- Implement account binding, credential redaction, dry-run enforcement, and destructive-operation confirmation in the bundled and audited code.
- Use absolute, canonical paths after validating them against an allowed installation root.
- Apply least privilege: cloud-upload helpers should not receive snapshot or restore permissions, and destructive system operations should be isolated from ordinary backup operations.
- Add automated integration tests proving that UID mismatch blocks uploads and that restore or snapshot operations cannot run without the required confirmation.
