T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Unpinned and Unverifiable External CLI Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 12–17
Vulnerability Type: Untrusted and mutable third-party dependency
Risk Level: MediumVulnerable Code
markdown This skill requires the Translink CLI scripts to be installed and available in PATH. - CLI repo: `https://github.com/alanburchill/traslink-cli-scripts` - Expected commands: `translink_*` (or equivalent wrappers that expose the same command names) If the CLI is not installed, stop and ask the user to install it first.Technical Analysis
The Skill delegates its operational behavior to code outside the audited package. The dependency is hosted in a personal GitHub repository and is not pinned to an immutable commit, signed release, version, or integrity hash. The repository path also uses
traslinkrather thantranslink, which may be intentional but creates ambiguity and potential typosquatting risk.The instruction additionally permits unspecified “equivalent wrappers” based only on matching command names. An executable named
translink_*found earlier inPATHcould therefore be accepted without validating its origin or integrity. Because the external implementation is absent from the project, its network access, filesystem behavior, command construction, and update process could not be audited.This finding does not establish that the referenced repository is malicious. It identifies an unsafe supply-chain trust boundary that could allow the effective behavior to change after this Skill has been reviewed.
Attack Path
- An attacker compromises the referenced repository, distributes a similarly named repository, or supplies an untrusted wrapper exposing the expected command names.
- The user installs the mutable external code, or the malicious executable is placed earlier in
PATH. - The Skill treats the executable as a legitimate Translink command because its name matches
translink_*. - A normal schedule or realtime query invokes the substi ...[truncated 674 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the dependency to a reviewed immutable commit SHA or cryptographically signed release rather than a mutable repository branch.
- Publish an expected checksum or signature and verify it before installation or execution.
- Confirm and document whether the
traslink-cli-scriptsspelling is intentional; correct it if it is an error. - Provide explicit installation instructions using the exact repository, version, and verification procedure.
- Remove support for unspecified “equivalent wrappers,” or define an allowlist of approved executable paths and versions.
- Resolve each executable to its canonical path and validate its provenance and integrity before invocation.
- Prefer bundling the auditable implementation with the Skill when licensing and deployment constraints permit.
- Run the CLI with least privilege and restrict its filesystem and network access where practical.
