T08 · Insecure Dependencies
- Location
SKILL.md:51- Finding
Unpinned Installation of an Executable Third-Party Dependency
- Content
View full analysis
/dev/null; then echo "安装govulncheck..." go install golang.org/x/vuln/cmd/govulncheck@latest fi ``` The same mutable installation pattern is used in the documented CI workflow: ```yaml - name: Install govulncheck run: go install golang.org/x/vuln/cmd/govulncheck@latest ``` ### Technical Analysis The Skill instructs the agent to download, compile, and execute the mutable `latest` version of `golang.org/x/vuln/cmd/govulncheck`. Although this is the official module path and there is no evidence of malicious intent, the version ultimately executed can change without any corresponding modification to the audited Skill. This prevents reproducible execution and creates supply-chain exposure. A compromised upstream release, module distribution service, proxy, or newly published version could cause code that was not reviewed during this audit to run automatically. Because `go install` compiles and installs an executable, the resulting program subsequently runs with the same operating-system permissions as the agent or CI worker. ### Attack Path 1. An attacker compromises an upstream release channel, module source, or configured Go module proxy, or otherwise causes a malicious future release to resolve as `latest`. 2. A user invokes the Skill on a system where `govulncheck` is not already available, or the documented CI workflow runs. 3. The command resolves and installs the attacker-controlled version. 4. The installed executable is invoked against the project. 5. Malicious code executes with the permissions and accessible environment of the agent or CI worker. This path depends on compromise or manipulation of the external dependency-delivery chain; the ...[truncated 682 chars]- Remediation
View remediation
