T08 · Insecure Dependencies
- Location
SKILL.md:80- Finding
Unpinned Installation of an Executable Go Security Tool
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 80
Vulnerability Type: Unpinned executable dependency
Risk Level: MediumVulnerable Code:
bash go install golang.org/x/vuln/cmd/govulncheck@latest govulncheck ./...The same unpinned installation instruction is repeated at line 188.
Technical Analysis
The skill instructs the agent to install
govulncheckusing the mutable@latestversion selector. This downloads and compiles whichever version the Go module infrastructure resolves at execution time. The installed executable is subsequently run with the permissions of the agent's operating-system account.Because no reviewed version is pinned, the effective code can change after the skill has been audited. A compromised upstream repository, maintainer account, release process, or dependency could therefore cause unexpected code to be installed and executed. The lack of version pinning also makes audit results and automated workflows non-reproducible.
Go checksum-database validation can help detect inconsistent module content, but it does not establish that a newly published version is trustworthy or appropriate for this workflow.
Attack Path
- An attacker compromises the upstream project, a maintainer account, its release process, or a dependency included by a future release.
- A compromised version becomes the version selected by
@latest. - An agent follows the skill and executes
go install golang.org/x/vuln/cmd/govulncheck@latest. - Go downloads and compiles the attacker-influenced source and installs the resulting executable.
- The agent runs
govulncheck ./..., executing the installed code under the agent user's security context.
Impact Assessment
Successful exploitation could execute arbitrary code with the privileges of the user running the agent. Depending on that user's permissions and environment, the affected scope could include project source files ...[truncated 333 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace
@latestwith a reviewed, fixed release, for example:bash go install golang.org/x/vuln/cmd/govulncheck@vX.Y.Z -
Record the approved version in the skill and update it through a controlled review process.
-
Review upstream release notes and dependency changes before upgrading.
-
Retain Go module checksum verification and use trusted Go proxy and checksum-database settings.
-
Install and execute the tool in an isolated, least-privileged environment without unnecessary credentials.
-
Apply the same correction to the repeated installation instruction at line 188.
-
