T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party Package Installation Creates Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:4andSKILL.md:85-88
Vulnerability Type: Unpinned third-party dependency installation
Risk Level: MediumVulnerable Code Snippet:
yaml metadata: {"openclaw":{"emoji":"📋","requires":{"bins":["tdnet-disclosure-mcp"]},"install":[{"id":"uv","kind":"uv","package":"tdnet-disclosure-mcp","bins":["tdnet-disclosure-mcp"],"label":"Install tdnet-disclosure-mcp (uv)"}],"tags":["japan","finance","tdnet","disclosure","earnings","stock","jpx","tse","mcp"]}}markdown ## Setup - No API key required - Python package: `pip install tdnet-disclosure-mcp` or `uv tool install tdnet-disclosure-mcp` - Data source: Yanoshin Web API (mirrors TDNET data)Technical Analysis
The Skill directs the environment to install and execute the external
tdnet-disclosure-mcpPython package without specifying an exact version, integrity hash, lockfile, trusted repository URL, or verified publisher identity. Consequently,piporuvresolves whichever release is current at installation time.The project contains only
SKILL.md; it does not include the package implementation or other executable source that would allow its runtime behavior to be audited. The reviewed content does not establish that the current package is malicious. However, the installation mechanism leaves the effective executable dependency mutable after review and exposes users to compromised publisher accounts, malicious future releases, package-index compromise, or dependency-resolution attacks.Python packages may execute code during installation depending on their build configuration and will execute package-controlled code when the installed command is invoked.
Attack Path
- An attacker compromises the package publisher account, distribution channel, or a dependency used by
tdnet-disclosure-mcp, or publishes a malicious future release. - The attacker distributes a modified package v ...[truncated 1058 chars]
- An attacker compromises the package publisher account, distribution channel, or a dependency used by
- Remediation
View remediation
Remediation Suggestions
- Pin the package to an exact, reviewed version in both Skill metadata and setup commands, such as
tdnet-disclosure-mcp==X.Y.Z. - Require cryptographic artifact hashes through a hash-locked requirements file or equivalent package-manager lockfile.
- Document the canonical source repository, expected package-index namespace, and verified publisher identity.
- Review the pinned package source and its complete transitive dependency tree before publication.
- Use a private or controlled package mirror where feasible and permit only approved artifacts.
- Perform installation and execution in a sandbox with minimal filesystem, credential, and network access.
- Add automated dependency monitoring and require a new security review before updating the pinned version.
- Pin the package to an exact, reviewed version in both Skill metadata and setup commands, such as
