T08 · Insecure Dependencies
- Location
SKILL.md:28- Finding
Unpinned External Repository Installed into the Active Skill Directory
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 28–32
Vulnerability Type: Untrusted mutable supply-chain dependency
Risk Level: MediumVulnerable Code
bash git clone https://github.com/niflhum/machiavelli-library.git ~/.workbuddy/skills/machiavelli-libraryTechnical Analysis
The packaged artifact does not contain the
library/directory required for its advertised search functionality. Instead, the installation instructions direct users to clone a repository from a personal GitHub namespace into the active Skill installation directory.The command does not pin a reviewed commit or immutable release and does not verify a cryptographic digest or signature. The effective Skill contents can therefore change after this artifact has been reviewed. Because the destination is the active Skill directory rather than a dedicated data directory, the downloaded repository may replace existing instructions or introduce additional scripts and configuration alongside the expected textual corpus.
The reviewed command only downloads files; it does not itself execute downloaded code. Nevertheless, later agent behavior may load modified Skill instructions or invoke newly introduced scripts from that directory.
Attack Path
- An attacker compromises the upstream repository, its maintainer account, or the repository's default branch.
- The attacker modifies Skill instructions, scripts, or other files in the repository.
- A user follows the documented first-use command.
- Git retrieves the current mutable default branch without commit or integrity verification.
- The files are placed in the active Skill installation directory.
- A subsequent agent session may load the altered instructions or execute introduced scripts as part of normal Skill use.
Impact Assessment
Exploitation could modify the effective behavior of the Skill after review. The resulting access would be limited to the pr ...[truncated 459 chars]
- Remediation
View remediation
Remediation Suggestions
- Bundle the required text corpus with the reviewed Skill package whenever licensing and package-size constraints permit.
- If external retrieval is necessary, pin the source to a specific reviewed commit rather than the mutable default branch.
- Publish and verify a cryptographic digest or signed manifest before accepting downloaded files.
- Store downloaded corpus data in a dedicated non-executable data directory outside the active Skill instruction and script directory.
- Enforce an allowlist of expected paths and file types, rejecting scripts, symbolic links, Skill manifests, and unexpected executable files.
- Document the exact reviewed repository revision and provide a controlled update process requiring revalidation before activation.
