T08 · Insecure Dependencies
- Location
SKILL.md:10- Finding
Unpinned Third-Party Executable Dependency
- Content
View full analysis
Vulnerability Details
File Locations:
SKILL.md:10andREADME.md:16
Vulnerability Type: Supply-chain risk caused by a mutable, unpinned dependency
Risk Level: MediumVulnerable code in
SKILL.md:10:text "install": "go install github.com/typhonius/pidge@latest",Vulnerable code in
README.md:16:bash go install github.com/typhonius/pidge@latestTechnical Analysis
The installation instructions use the mutable
@latestversion selector to download and build a third-party executable directly from GitHub. Consequently, the installed source can change after this skill has been reviewed. The project does not pin a reviewed release or document an expected module checksum.An attacker who compromises the upstream repository, its release process, or an account authorized to publish module versions could introduce malicious code into a later release. Users following the documented command would then build and install that code under their local account without any corresponding change to this audited project.
This is a supply-chain weakness rather than evidence that the current upstream dependency is malicious.
Attack Path
- An attacker compromises the upstream
pidgerepository, release pipeline, or publisher account. - The attacker publishes a malicious version that resolves through
@latest. - A user follows the project's installation instructions.
- Go retrieves, compiles, and installs the mutable malicious release.
- The installed executable runs with the user's privileges when the skill invokes it.
- The executable can potentially access the SMS data and gateway configuration available to that user.
Impact Assessment
Successful exploitation would provide code execution with the privileges of the user who installs or invokes
pidge. Within that user's accessible scope, a compromised executable could read or alter~/.config/pidge/config.toml, acc ...[truncated 371 chars]- An attacker compromises the upstream
- Remediation
View remediation
Remediation Suggestions
- Replace
@latestwith a reviewed, immutable semantic version:bash go install github.com/typhonius/pidge@vX.Y.Z - Pin the same version consistently in both
SKILL.mdandREADME.md. - Record and verify the expected Go module checksum through a controlled
go.sumor equivalent integrity-verification procedure. - Review dependency source and release provenance before updating the pinned version.
- Adopt a controlled upgrade process that tests new releases and documents security-relevant changes before modifying the pin.
- Where supported, require signed releases or verifiable build provenance and distribute hashes for approved binaries.
- Run the executable with only the filesystem and network permissions required to communicate with the configured SMS gateway.
- Replace
