T08 · Insecure Dependencies
Warning
- Location
- README.md:23
- Finding
- Unpinned and Inconsistent Git Repository Used for Manual Installation<![CDATA[ ## Vulnerability Details **File Location**: `README.md:23-27` **Related Location**: `SKILL.md:5` **Vulnerability Type**: Untrusted and mutable supply-chain source **Risk Level**: Medium ### Vulnerable Code `README.md:23-27`: ```bash ### Manual ```bash cd your-workspace/skills git clone https://github.com/parags/deep-research-pro.git ``` ``` The repository differs from the homepage declared in `SKILL.md:5`: ```yaml homepage: https://github.com/paragshah/deep-research-pro ``` ### Technical Analysis The manual installation procedure clones the mutable default branch of a remote Git repository without pinning a reviewed commit, verifying a signed release, or validating a checksum. Consequently, the installed content can change after this artifact has been reviewed. The installation repository uses the GitHub account `parags`, while the declared homepage uses `paragshah`. The reviewed files do not establish that these accounts or repositories are controlled by the same trusted publisher. This inconsistency can result from a documentation error, but it also creates typosquatting and repository-substitution risk. No malicious code was present in the audited artifact, and exploitation requires the referenced repository to be malicious or compromised. ### Attack Path 1. An attacker controls or compromises the `parags/deep-research-pro` repository, or takes advantage of the inconsistent repository identity. 2. The attacker modifies its default branch to include malicious Skill instructions, scripts, package hooks, or other executable content. 3. A user follows the documented manual installation procedure. 4. Git downloads the current attacker-controlled default branch without integrity or signature verification. 5. The user or Agent loads the downloaded Skill or invokes its scripts. 6. Malicious content then executes with the permissions of that user or Agent process. ### Impact Assessment The initial `git clone` only writes remote repository co ...[truncated 820 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Identify and document one canonical, publisher-verified repository. Make the installation URL and the `homepage` field identical. 2. Pin manual installation to a specific reviewed commit or cryptographically signed release rather than a mutable default branch. 3. Publish SHA-256 checksums for release archives and require users or installers to verify them before loading the Skill. 4. Use signed Git tags or release artifacts and document signature verification steps. 5. Ensure the package registry version contains all advertised files so users do not need to retrieve unaudited components from another source. 6. Add automated release checks that reject mismatched repository owners, homepage URLs, package versions, and file manifests. 7. If cloning remains necessary, use a verified tag and explicitly check out the expected commit: ```bash git clone --branch v1.0.2 --depth 1 https://github.com/VERIFIED_OWNER/deep-research-pro.git cd deep-research-pro test "$(git rev-parse HEAD)" = "EXPECTED_FULL_COMMIT_HASH" ``` 8. Review the pinned repository contents, especially executable scripts and lifecycle hooks, before recommending installation. ]]>
