T08 · Insecure Dependencies
- Location
- scripts/install.sh:6
- Finding
- Unpinned Third-Party Package Is Installed and Immediately Executed<![CDATA[ ## Vulnerability Details **File Location**: `scripts/install.sh:6-11` **Vulnerability Type**: Unpinned and unverified third-party dependency execution **Risk Level**: Medium ### Vulnerable Code ```bash pip install nadirclaw 2>/dev/null || pip3 install nadirclaw echo "Running OpenClaw onboarding..." nadirclaw openclaw onboard echo "Starting NadirClaw in background..." nohup nadirclaw serve > /tmp/nadirclaw.log 2>&1 & ``` The installation instruction in `SKILL.md:14` likewise uses an unpinned dependency: ```bash pip install nadirclaw ``` ### Technical Analysis The installer retrieves `nadirclaw` without pinning an audited version or verifying package integrity with cryptographic hashes. It then immediately executes package-provided commands. Consequently, the code ultimately executed can change between installations without any corresponding change to this Skill. The implementation of `nadirclaw` is not included in the audited project. Its package installation hooks, onboarding behavior, configuration changes, prompt processing, and network activity therefore cannot be verified from the supplied source. Redirecting the first `pip install` command's standard error to `/dev/null` also obscures diagnostic and security-relevant installation failures. This is a supply-chain trust issue rather than evidence that the current external package is malicious. ### Attack Path 1. An attacker compromises the package publisher account, distribution infrastructure, or a future package release. 2. A user invokes `scripts/install.sh`. 3. `pip` resolves and installs the uncontrolled package version available at that time. 4. The script executes `nadirclaw openclaw onboard`, permitting package code to alter the user's OpenClaw configuration. 5. The script executes `nadirclaw serve` as a detached process. 6. Malicious package logic can operate with the invoking user's privileges and process LLM traffic routed through the service. ### Impact Assessment Successf ...[truncated 638 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `nadirclaw` to a specifically reviewed version rather than resolving the latest available release. 2. Install from a locked requirements file containing cryptographic hashes, using `pip install --require-hashes`. 3. Verify package provenance and release signatures where supported, and document the trusted package index explicitly. 4. Review the pinned package and its transitive dependencies before distribution. 5. Install into a dedicated virtual environment with the minimum required filesystem and environment access. 6. Do not suppress installation errors; preserve standard error so failures and repository warnings remain visible. 7. Require explicit user confirmation before modifying OpenClaw configuration or starting a detached service. 8. Run the proxy under a restricted account or sandbox and expose only the network interfaces necessary for local use. ]]>
