T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:739
- Finding
- Unpinned Package Execution and Recursive Dependency Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 739–759 **Vulnerability Type**: Unpinned third-party dependencies and unsafe transitive installation **Risk Level**: Medium ### Vulnerable Code ```yaml Required_Skills: core_dependencies: - accounting-workflows - greek-compliance-aade - cli-deadline-monitor - greek-email-processor - greek-individual-taxes - openclaw-greek-accounting-meta advanced_dependencies: - aade-api-monitor - greek-banking-integration - greek-document-ocr - efka-api-integration openclaw_core: - file-processor - deepread - doc-converter Installation_Command: setup: "npx openclaw skills add dashboard-greek-accounting --install-deps" verification: "openclaw dashboard health-check --verify-all-integrations" ``` ### Technical Analysis The installation command invokes `npx openclaw` without pinning the package to a reviewed version or integrity hash. Depending on the local npm environment, `npx` may retrieve and execute the currently resolved package from the configured registry. The effective installer can therefore change after this Skill has been reviewed. The `--install-deps` option also recursively installs multiple Skills whose versions, source repositories, and integrity values are not specified. Those components are not included in the audited project, so their behavior cannot be verified from the available files. This creates a supply-chain trust boundary in which the installation process depends on mutable registry content and unaudited transitive components. The audit found no evidence that the currently documented package or dependencies are malicious; the risk arises from the absence of immutable dependency controls. ### Attack Path 1. An attacker compromises a future release of the `openclaw` npm package, one of its transitive dependencies, or one of the named Skill dependencies. 2. Alternatively, dependency resolution is redirected through a compro ...[truncated 1450 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the CLI to an explicitly reviewed version: ```bash npx --yes openclaw@<reviewed-version> skills add dashboard-greek-accounting ``` 2. Record and verify package integrity using a lockfile, checksums, or registry integrity metadata. 3. Replace `--install-deps` with an explicit dependency manifest that pins every Skill to an immutable version, commit, or content digest. 4. Document trusted registries and source repositories. Reject dependency resolution from unapproved registries or mutable branches. 5. Review every transitive Skill before installation and maintain an allowlist of approved package names, versions, publishers, and hashes. 6. Disable npm lifecycle scripts where operationally possible, or perform installation in a restricted sandbox before deployment. 7. Run installation as a dedicated, non-privileged account with no unnecessary access to production accounting data or notification credentials. 8. Separate installation from runtime credential provisioning so package installation processes cannot inherit `SMTP_PASSWORD`, webhook URLs, or similar secrets. 9. Generate and retain a software bill of materials for the CLI, its npm dependency graph, and all installed Skills.
