T08 · Insecure Dependencies
- Location
scripts/_lib.sh:53- Finding
Unverified External Skill Code Is Sourced and Executed
- Content
View full analysis
/dev/null || continue local out if out=$(resolve_pua_scripts 2>/dev/null) && [ -n "$out" ]; then echo "$out" return 0 fi fi done ``` The resolved dependency is later executed in `scripts/detect-drift.sh`, lines 24–34: ```bash AWARENESS_SCRIPTS="$(pum_resolve_awareness)" GW="$(pum_current_gateway_version)" if [ -z "$GW" ]; then echo "BLOCKED no-gateway-version: openclaw -V returned nothing parseable" >&2 exit 2 fi # Invoke via bash because clawhub install does not preserve exec bits. bash "$AWARENESS_SCRIPTS/check-plugin-drift.sh" "$GW" "$PROFILE" ``` ### Technical Analysis The resolver searches several mutable user-level directories and sources the first readable `resolve.sh` it finds. In Bash, `source` does not merely parse function definitions: it executes every top-level command in the selected file in the current shell process. The implementation does not verify: - The installed dependency version, despite declaring `post-update-awareness >= 0.3.1`. - A cryptographic checksum or package signature. - File ownership or whether the file is group- or world-writable. - Whether the canonical path rema ...[truncated 1907 chars]- Remediation
View remediation
