T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:96
- Finding
- Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md:96` and `SKILL.md:105` **Vulnerability Type**: Supply-chain exposure through unpinned dependencies **Risk Level**: Medium ### Vulnerable Code ```bash # Install the Rust core cargo install surrealfs ``` ```bash # Install the Python agent pip install surrealfs-ai ``` ### Technical Analysis The documented installation commands retrieve mutable package versions without specifying an exact version, package hash, lockfile, signature, or other artifact verification mechanism. Although the metadata references an upstream commit, the installation commands do not bind the installed packages to that commit. Consequently, the code installed by a user can differ from the version that was reviewed. A compromised package publisher, registry account, release artifact, or transitive dependency could introduce attacker-controlled code. Package installation or subsequent package execution may then run that code with the privileges of the user following the instructions. The repository contains only `SKILL.md`; therefore, no dependency manifests or integrity controls elsewhere in the project were available to mitigate this exposure. ### Attack Path 1. An attacker compromises the `surrealfs` or `surrealfs-ai` publishing account, package registry entry, release process, or a resolved transitive dependency. 2. The attacker publishes a malicious package version that becomes the version selected by an unpinned installation. 3. A user follows the Quick Start instructions and runs `cargo install surrealfs` or `pip install surrealfs-ai`. 4. The package manager downloads the attacker-controlled release. 5. Malicious code executes during installation, import, startup, or normal package operation. ### Impact Assessment Exploitation could provide code execution with the privileges of the installing or executing user. Depending on the environment, this may expose local files, environ ...[truncated 226 chars]
- Remediation
- ## Remediation Suggestions - Pin both packages to exact, reviewed versions in every installation example. - Use Rust lockfiles and Python hash-locked dependency files where applicable. - Require package hashes or verified signatures for release artifacts. - Document the expected package registry and verify package ownership and provenance. - Bind documented package releases to the reviewed upstream commit. - Use isolated virtual environments or containers and avoid installing packages with administrative privileges. - Add a controlled dependency-update process that reviews changes before updating pins.
