T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned Executable Dependency Installed Through a Third-Party Module Proxy
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16-22; duplicated inREADME.md:47-53
Vulnerability Type: Unpinned third-party executable dependency
Risk Level: MediumVulnerable Code
bash # Update apt sudo apt update # Install Go sudo apt install golang-go # Set Chinese mirror export GOPROXY=https://goproxy.cn,direct # Install feed go install github.com/odysseus0/feed/cmd/feed@latestTechnical Analysis
The installation command uses the mutable
@latestselector rather than a reviewed, immutable release or commit. Consequently, the source code installed when a user follows these instructions can change after the Skill itself has been audited.The command also configures
goproxy.cnas the primary Go module proxy. Although Go module checksums may provide some ecosystem-level integrity protection, the Skill does not document an expected version, commit, module checksum, trusted release signature, or independent verification procedure. The reviewed project therefore cannot establish which executable will ultimately be installed.This is a supply-chain vulnerability rather than evidence that the current upstream project or proxy is malicious.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, the release process, or another relevant dependency-delivery component.
- The attacker publishes a malicious revision that is selected by
@latest. - A user follows the Skill and runs the documented
go installcommand. - Go retrieves and compiles the newly selected code.
- The resulting binary is installed under the user's account.
- When the user or Agent invokes that binary, attacker-controlled code executes with the invoking user's privileges.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the privileges of the account that runs the installed
feedbinary. This may permit access to files, e ...[truncated 400 chars]- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith a reviewed, immutable version or commit, such as an explicitly approved semantic version. - Record and verify the expected module checksum or signed release artifact.
- Review the selected release and its dependency graph before recommending installation.
- Prefer an official and trusted Go module source. If a regional proxy is required, document its trust assumptions and verification procedure.
- Run installation and subsequent execution as an unprivileged user.
- Consider building in an isolated environment and distributing a verified artifact with a published cryptographic digest.
- Add an update process requiring explicit review before changing the pinned version.
- Replace
