T08 · Insecure Dependencies
- Location
references/workflow_candidate_upload.md:30- Finding
Unpinned and Registry-Ambiguous Executable Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
references/workflow_candidate_upload.md:30-51
Vulnerability Type: Supply-chain dependency substitution
Risk Level: HighVulnerable Code
markdown ### 1. mcporter CLI ```bash npm install -g mcporterVerification:
bash mcporter --version2. Tencent Docs Authorization
First ensure that the
tencent-docsSkill is installed. Prefer the Skill registry supported by the current runtime, for example:bash openclaw skills install tencent-docs openclaw skills info tencent-docsIf SkillHub, ClawHub, or another registry is used, a Skill with the same name may also be installed.
text Equivalent unpinned installation guidance also appears in: - `references/dependency_contracts.md:109-123` - `SKILL.md:123-133` ### Technical Analysis The workflow instructs users to globally install `mcporter` and install a same-named `tencent-docs` Skill without specifying an exact version, package digest, trusted publisher, or mandatory registry. It also explicitly permits alternative registries to provide a Skill under the same name. Both dependencies participate directly in sensitive operations. `mcporter` receives serialized candidate records and invokes the remote MCP service, while the `tencent-docs` Skill participates in authorization and token retrieval. A substituted or compromised dependency could therefore inspect candidate PII, access authentication material available to the process, or execute arbitrary code with the invoking user's privileges. Global npm installation increases the potential impact because package installation lifecycle scripts execute in the user's environment. Merely checking `mcporter --version` does not authenticate the package or establish its integrity. ### Attack Path 1. An attacker publishes a malicious package or Skill using the expected name, or compromises an accepted registry or package version. ...[truncated 910 chars]- Remediation
View remediation
Remediation Suggestions
- Pin
mcporterto a reviewed exact version instead of installing the latest package:bash npm install --global mcporter@<reviewed-version> - Record and verify package integrity using a lockfile, registry-supported integrity metadata, signed provenance, or an independently published checksum.
- Require a specific trusted registry and verified publisher. Remove guidance allowing arbitrary registries to supply a same-named Skill.
- Pin the
tencent-docsSkill to a reviewed immutable release or commit and verify its signature or digest before use. - Prefer an isolated virtual environment, container, or project-local dependency installation over a global npm installation.
- Disable or strictly control package lifecycle scripts where operationally possible.
- Document the expected package identity, publisher, version, registry URL, and cryptographic digest.
- Re-review dependencies before upgrades and test them in a sandbox without production credentials or candidate data.
- Pin
