T08 · Insecure Dependencies
- Location
SKILL.md:15- Finding
Unpinned Third-Party Executable Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:15-20; duplicated inreferences/README.md:17-22
Vulnerability Type: Unpinned executable dependency installation
Risk Level: MediumComplete Code Snippet
From
SKILL.md:15-20:markdown ## Quick Start ```bash cargo install office-oxide-mcpOr download the latest release.
text The equivalent installation guidance appears in `references/README.md:17-22`: ```markdown ## Quick Start ```bash cargo install office-oxide-mcpOr download from GitHub Releases.
text ### Technical Analysis The documented `cargo install office-oxide-mcp` command does not pin the dependency to the Skill's declared version, `0.2.0`. It installs whichever package version the registry currently resolves as the latest compatible release. The alternative recommendation to download the latest GitHub release similarly provides no version pinning, checksum, or signature-verification procedure. This creates a supply-chain trust gap between the artifact reviewed during this audit and the executable ultimately installed by a user. If the package publisher, registry account, source repository, release workflow, or latest release is compromised, the command could retrieve and compile attacker-controlled code that was not part of the audited Skill package. The installed program is subsequently configured as an MCP server: ```json { "mcpServers": { "office": { "command": "office-oxide-mcp", "args": ["--transport", "stdio"] } } }Consequently, it runs as a local executable with the privileges of the user hosting the MCP client. Although installation of an executable is necessary for the declared document-processing functionality, selecting an unpinned latest version exceeds the minimum supply-chain trust ...[truncated 2102 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin installation to the version declared by the Skill:
bash cargo install office-oxide-mcp --version 0.2.0 --locked -
Review and test the exact pinned release before recommending it. Update the Skill version and installation command together through a controlled release process.
-
Publish cryptographic SHA-256 checksums for prebuilt release artifacts and document verification before execution:
bash sha256sum -c office-oxide-mcp-SHA256SUMS -
Prefer signed releases or build provenance, such as Sigstore attestations, and require users to verify the signature against a documented trusted identity.
-
Avoid wording such as “latest release.” Link to an immutable versioned release and clearly identify the expected artifact name, platform, checksum, and signer.
-
Run the MCP executable with least privilege. Restrict it to dedicated document directories where feasible, avoid administrator or root execution, and isolate network access if local-only processing does not require outbound connectivity.
-
Document that Office and PDF files may contain sensitive information and require explicit user approval before exposing files or directories to the MCP server.
-
