T08 · Insecure Dependencies
- Location
SKILL.md:91- Finding
Unpinned Third-Party Executable Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:91-93
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippet:
markdown ### Locating `tableauc` 1. Try `tableauc --version` first 2. If not found: `go install github.com/tableauio/tableau/cmd/tableauc@latest`Technical Analysis
The Skill instructs the Agent to download, compile, and install the mutable
@latestversion of a third-party Go module whentableaucis unavailable. Because@latestdoes not identify an immutable, previously reviewed release, the effective dependency and its transitive dependency graph can change after this Skill has been audited.This creates a supply-chain risk: compromise of the upstream repository, module publishing process, release credentials, or a future dependency version could cause the Agent to build and install hostile code. The referenced GitHub organization is consistent with the Skill's declared project, so there is no evidence of dependency confusion, typosquatting, or intentional malicious behavior. The issue is the use of a mutable, unverified dependency version.
Attack Path
- An attacker compromises the upstream module, release process, maintainer credentials, or a transitive dependency selected by the latest release.
- The target environment does not already contain the
tableaucexecutable. - The Agent follows the instruction in
SKILL.mdand executes:bash go install github.com/tableauio/tableau/cmd/tableauc@latest - Go resolves and downloads the current mutable module version and its dependencies.
- The downloaded source is compiled, and the resulting executable is installed under the Agent user's Go binary path.
- The compromised executable subsequently runs during spreadsheet conversion and operates with the Agent user's permissions.
Exploitation depends on an upstream or dependency compromise and on the installation i ...[truncated 788 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith a reviewed, immutable semantic version:bash go install github.com/tableauio/tableau/cmd/tableauc@vX.Y.Z - Record the approved version in the Skill and update it only through a deliberate review process.
- Require explicit user approval before downloading or installing any missing executable.
- Prefer a preinstalled, trusted
tableaucbinary in a controlled environment rather than performing installation during normal Skill execution. - Document verification of the module source and checksum through the Go checksum database or an organization-controlled checksum policy.
- Pin and review relevant transitive dependencies where reproducible build controls permit.
- Run the converter in a sandbox with minimal filesystem access, restricted network access, no unnecessary credentials, and no administrative privileges.
- If installation fails or the approved version is unavailable, stop and report the condition instead of falling back to another mutable version.
- Replace
