T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
Unpinned Remote Git Dependency Installed and Registered as an MCP Server
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 19–20
Vulnerability Type: Unpinned dependency from a mutable remote source
Risk Level: Mediumbash pip install "git+https://github.com/snuri00/osint-mcp" openclaw mcp add osint-mcp --command osint-mcp-serverTechnical Analysis
The installation command retrieves and installs executable Python package content directly from the default branch of a remote GitHub repository. It does not specify an immutable commit hash, a signed release, a fixed package version, or an integrity hash.
Consequently, the code installed by this command can change after the skill has been reviewed. Python package installation may execute attacker-controlled build hooks, while subsequent registration causes the installed
osint-mcp-servercommand to run as an MCP server. The local project does not contain the external implementation, so its behavior could not be verified during this audit.No evidence establishes that the current upstream repository is malicious. The vulnerability is the unsafe trust model: a future malicious commit, repository compromise, or ownership change could turn the documented setup procedure into a code-execution path.
Attack Path
- An attacker compromises the referenced GitHub repository, gains control of its publishing workflow, or causes malicious content to be committed to its default branch.
- The attacker modifies Python build hooks, package initialization logic, or the
osint-mcp-serverexecutable. - A user follows the setup instructions and runs the unpinned
pip installcommand. pipretrieves the current attacker-controlled repository state and may execute malicious build or installation logic.- The user registers the installed executable with OpenClaw.
- OpenClaw launches the malicious MCP server, allowing the payload to operate with the privileges and environment available to that process.
Impact Assessment
...[truncated 623 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the Git dependency to a specific, reviewed commit hash rather than the repository's mutable default branch:
bash pip install "git+https://github.com/snuri00/osint-mcp@REVIEWED_COMMIT_HASH" - Prefer a fixed, trusted package release with cryptographic hashes and a lock file. Verify release signatures or provenance where available.
- Review the pinned source, including packaging metadata, build-system configuration, installation hooks, entry points, and MCP server code.
- Install the dependency in an isolated virtual environment or container instead of the user's global Python environment.
- Run the MCP server under a dedicated low-privilege account or sandbox with restricted filesystem and network access.
- Expose only API keys required for a specific operation. Do not pass unrelated credentials or the user's complete environment to the server.
- Document an update process requiring explicit review and integrity verification before changing the pinned revision.
- Pin the Git dependency to a specific, reviewed commit hash rather than the repository's mutable default branch:
