T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Unpinned Third-Party Repository Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 31–36
Vulnerability Type: Unpinned and mutable remote dependency
Risk Level: HighComplete Code Snippet:
bash # From the repo root pip install -e . # Or via pipx for isolated install pipx install git+https://github.com/Catafal/lead-gen-factory.gitTechnical Analysis
The Skill instructs users to install software directly from the default branch of a third-party Git repository. The dependency is not pinned to a release version, immutable commit hash, or verified artifact checksum. Consequently, the code installed by this command can change after the Skill has been reviewed.
Python installation can invoke package-controlled build backends or installation hooks. The installed
lgfexecutable subsequently runs with the invoking user's permissions. Because the executable source and package metadata are absent from the audited artifact, its installation behavior, network activity, filesystem access, and handling ofTAVILY_API_KEYandOPENROUTER_API_KEYcannot be independently verified.The local
pip install -e .alternative is also not usable from the supplied artifact because the project contains onlySKILL.mdand no Python package or build metadata.Attack Path
- An attacker compromises the referenced repository, obtains maintainer access, or causes malicious changes to be merged into its default branch.
- The attacker adds malicious installation behavior, build hooks, or runtime logic to the package.
- A user follows the Skill instructions and runs:
bash pipx install git+https://github.com/Catafal/lead-gen-factory.git pipxretrieves the current repository contents rather than a previously audited immutable revision.- Package-controlled code may execute during installation or when the user subsequently invokes
lgf. - The malicious code runs with the user's privileges and may access reso ...[truncated 997 chars]
- Remediation
View remediation
Remediation Suggestions
- Publish the reviewed implementation as a versioned package from a controlled package registry.
- Pin installation to an immutable release version or full Git commit hash rather than the repository's default branch.
- Distribute and verify cryptographic hashes or signed release artifacts before installation.
- Include lockfiles and hashes for transitive dependencies to reduce supply-chain variability.
- Prefer isolated installation and execution with only the filesystem and network permissions required for lead research.
- Include the reviewed executable source and package metadata in the Skill artifact so installation hooks and runtime behavior can be audited.
- Document the exact repository revision reviewed and establish a process for re-auditing dependency updates.
- Restrict the permissions and quotas of the Tavily and OpenRouter API keys, store the credential file with user-only permissions, and avoid exposing secrets through command-line arguments or logs.
