T08 · Insecure Dependencies
- Location
SKILL.md:65- Finding
Unpinned Installation from an Unspecified GitHub Repository
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 65
Vulnerability Type: Supply-chain risk from an ambiguous and unverified dependency source
Risk Level: MediumVulnerable Code Snippet
markdown 2. 安装 Pandoc Document Converter:从 GitHub 下载 Pandoc Document Converter 的源代码,并按照说明进行安装。English translation: “Install Pandoc Document Converter: Download its source code from GitHub and install it according to the instructions.”
Technical Analysis
The installation procedure directs users or agents to obtain source code from GitHub without specifying:
- The official repository URL or verified owner
- An immutable release, tag, or commit
- A required package version
- A cryptographic checksum or signature
- Exact, reviewable installation commands
Because the project name is generic, a user following this instruction may rely on GitHub or web search results to identify a repository. An attacker could publish a similarly named or search-optimized repository and provide malicious installation instructions or dependencies. The effective code installed by the user would therefore be selected outside the audited Skill package and could change after this Skill has been reviewed.
The audited project contains only
SKILL.md; it does not include an implementation, package manifest, lockfile, or other mechanism that establishes dependency provenance. The documented API and conversion behavior consequently cannot be tied to a particular verified implementation.Attack Path
- A user or agent loads the Skill and follows the environment-preparation instructions.
- The user searches GitHub for “Pandoc Document Converter” because no repository URL is supplied.
- An attacker-controlled, typosquatted, or compromised repository appears in the results.
- The user downloads that repository and follows its installation instructions.
- Malicious setup code, package hooks, or substituted dependencies execute under the installing user's account. 6 ...[truncated 637 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the generic GitHub instruction with the exact official HTTPS repository URL and verified publisher identity.
- Pin installation to an immutable, reviewed release or full commit hash rather than a mutable branch.
- Publish expected SHA-256 checksums or signature-verification instructions for release artifacts.
- Provide explicit installation commands so users do not have to trust repository-specific instructions discovered through search results.
- Include a package manifest and lockfile with exact dependency versions where applicable.
- Document dependency provenance and verify artifacts in CI before publication.
- Advise users to install with an unprivileged account in an isolated environment and to review installation scripts before execution.
- Avoid recommending administrator privileges as a generic response to permission errors; instead, correct file ownership, permissions, or output paths using the minimum privileges required.
