T08 · Insecure Dependencies
- Location
SKILL.md:30- Finding
Unpinned Third-Party Installation and Unverified Model Retrieval
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 30–40
Vulnerability Type: Supply-chain exposure through mutable upstream dependencies
Risk Level: MediumVulnerable Code
sh uv tool install git+https://github.com/xxxgqcoder/hermit.git # Deploy the skill to ~/.agents/skills/hermit-search/ (optional, for automatic agent discovery) hermit install-skillssh hermit downloadTechnical Analysis
The installation command retrieves executable Python package content directly from the default branch of a third-party Git repository. It does not pin an immutable commit, a signed release, or a versioned artifact, and it performs no checksum or signature verification. Consequently, the code installed by this instruction can change after the skill has been reviewed.
The subsequent
hermit downloadcommand retrieves approximately 1 GB of model artifacts through the newly installed tool. The document does not identify immutable model revisions or provide expected cryptographic hashes. Because the audited project contains onlySKILL.mdand does not include the Hermit implementation, the destination URLs, transport controls, artifact validation, and execution behavior cannot be independently verified from this project.This is a supply-chain weakness rather than proof that the current upstream project is malicious.
Attack Path
- An attacker compromises the upstream repository, its maintainer account, release infrastructure, or another dependency in its installation chain.
- The attacker modifies the repository's mutable default branch to include malicious package installation or runtime behavior.
- A user follows the documented
uv tool install git+https://github.com/xxxgqcoder/hermit.gitinstruction after the malicious update. - The package manager retrieves and installs the attacker-controlled revision without verifying a project-specified commit or artifact hash.
- The malicious package executes during installation ...[truncated 1338 chars]
- Remediation
View remediation
Remediation Suggestions
-
Replace the mutable Git installation reference with an immutable, reviewed commit:
sh uv tool install "git+https://github.com/xxxgqcoder/hermit.git@<reviewed-full-commit-sha>" -
Prefer a versioned release from a trusted package registry with locked transitive dependencies and hash verification.
-
Require signed commits or releases and document how users should verify the maintainer signature.
-
Publish SHA-256 or stronger hashes for all distributed package and model artifacts, and fail closed if verification fails.
-
Pin each model by repository, immutable revision, and exact artifact filename rather than relying on mutable model aliases.
-
Document the external hosts contacted by
hermit downloadand the expected files, sizes, revisions, and checksums. -
Review the pinned Hermit source and dependency lock file before recommending installation.
-
Run the service under a dedicated, unprivileged account with access limited to explicitly selected knowledge-base directories.
-
Avoid indexing directories containing credentials, private keys, tokens, browser profiles, or other unrelated sensitive data.
-
Provide a reproducible or vendored installation option so the reviewed source corresponds exactly to the installed program.
-
