T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:23
- Finding
- Mutable and Unpinned Remote Installation Target<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:23-25`; `README.md:9-12` **Vulnerability Type**: Unpinned remote dependency installation **Risk Level**: Medium ### Vulnerable Code `SKILL.md:23-25`: ```yaml install: - go: github.com/nyluke/subwayskill@latest ``` `README.md:9-12`: ```text ## Install go install github.com/nyluke/subwayskill@latest ``` ### Technical Analysis The installation instructions retrieve `@latest` from a remote repository instead of installing the exact revision represented by the audited artifact. The meaning of `latest` can change after the Skill has been reviewed. The supplied artifact also does not include `go.mod` or `go.sum`, preventing the audit from confirming the exact direct and transitive dependency versions used by the remotely installed release. Although the Go module ecosystem provides checksum verification for published module versions, it does not ensure that a mutable `@latest` selection corresponds to the source code audited here. This is a supply-chain weakness rather than evidence that the current source contains a malicious dependency. ### Attack Path 1. A user or Agent follows the manifest or README installation instruction. 2. The Go tool resolves `github.com/nyluke/subwayskill@latest` at installation time. 3. An attacker compromises the upstream repository or maintainer account, or a future release introduces unsafe code. 4. The resolved release differs from the audited source. 5. The downloaded package is compiled and installed as `subwayskill`. 6. Subsequent Skill invocations execute the substituted code with the privileges and data access of the Agent process. ### Impact Assessment A malicious upstream release could execute arbitrary code under the account performing installation or running the resulting binary. Its practical scope would include files, environment variables, network access, and credentials available to that account. No privilege escalation beyond the invoking accou ...[truncated 45 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Replace `@latest` with a reviewed, immutable semantic version: ```yaml install: - go: github.com/nyluke/subwayskill@v1.0.0 ``` 2. Ensure the documented installation command uses the same pinned version. 3. Distribute `go.mod` and `go.sum` with the project so direct and transitive dependencies can be reproduced and verified. 4. Pin critical dependencies to reviewed versions and run dependency vulnerability scanning in CI. 5. Sign release artifacts or publish checksums and verify them before installation. 6. Require release review before updating the version referenced by the Skill manifest. ]]>
