T08 · Insecure Dependencies
- Location
SKILL.md:63- Finding
Execution of Unpinned Third-Party Repository and Python Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 63–98
Vulnerability Type: Unpinned and mutable third-party dependencies
Risk Level: MediumVulnerable Code
Repository retrieval and execution instructions at lines 63–74:
bash cd /vol1/@apphome/trim.openclaw/data/workspace git clone https://github.com/bytedance/deer-flow.git cd deer-flowbash make docker-init # First pull of the sandbox image make docker-start # Start all servicesUnpinned package installation instructions at lines 96–98:
bash pip install -U pip pip install fastapi uvicorn httpx langchain langchain-openai \ langgraph-cli[inmem] langgraph-checkpoint-sqlite tavily-pythonTechnical Analysis
The installation process clones the current state of a remote repository without checking out a reviewed commit, version tag, or cryptographically verified release. It then executes Make targets supplied by that repository. Consequently, the code executed during installation can change after this Skill has been reviewed.
The Python dependencies are also installed without exact version constraints, lockfiles, or package hashes. Package managers can therefore resolve different direct and transitive dependency versions on different installation dates. Installation hooks and subsequently imported package code execute with the permissions of the installing user.
Although the repository URL points to the declared official DeerFlow GitHub project and the listed packages do not appear to be typosquatted, the lack of version and integrity controls creates a supply-chain exposure.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, a package publisher, or a transitive dependency.
- The attacker adds malicious build logic, installation hooks, or runtime code to a mutable release.
- A user follows the Skill and clones the current repository state or installs the lat ...[truncated 746 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin DeerFlow to a reviewed commit hash or a specific signed release rather than cloning and executing the default branch.
- Verify release signatures or published checksums before running any repository-provided Make target.
- Pin every direct and transitive Python dependency to an audited version.
- Generate and commit a lockfile that includes cryptographic hashes, and install dependencies with hash verification enabled.
- Avoid upgrading
pipimplicitly during deployment; use a separately reviewed and pinned installer version. - Review the referenced Make targets and container definitions before granting them access to the Docker daemon.
- Perform installation inside an isolated, nonprivileged environment with restricted filesystem and network access.
- Add automated dependency vulnerability and integrity scanning to the installation workflow.
