T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:34
- Finding
- Unpinned and Unverified Third-Party Package Installation Guidance## Vulnerability Details **File Location**: `SKILL.md`, lines 34-40 **Vulnerability Type**: Supply-chain exposure through unpinned third-party dependencies **Risk Level**: Medium ```md ## Official Documentation & Package Repositories - **Official Web App**: [BPM Finder App](https://bpmfinderapp.com) - **NPM Package**: `npm i bpm-finder-app` - **PyPI Package**: `pip install bpm-finder-app` - **PHP Packagist**: `composer require bpm-finder/app` - **crates.io (Rust)**: `cargo add bpm-finder-app` - **NuGet (.NET)**: `dotnet add package bpm-finder-app` ``` ### Technical Analysis The documentation recommends installing similarly named packages from five separate package registries without specifying reviewed versions, integrity hashes, verified publisher identities, lockfiles, or canonical registry links. These commands consequently resolve mutable package versions controlled outside the audited project. Package installation can introduce and, depending on the package manager and package configuration, execute registry-delivered code or lifecycle hooks. An attacker who compromises a referenced publisher account, gains control of a package, or publishes a confusing lookalike could use this guidance as a supply-chain delivery channel. The project itself contains only `SKILL.md`, and its BPM calculations are fully described as formulas. No evidence in the audited content establishes that any of these packages are required. There is also no evidence that the currently referenced packages are malicious; the risk arises from unsafe, unverified installation guidance rather than a confirmed malicious payload. ### Attack Path 1. A user or agent follows one of the installation commands in `SKILL.md`. 2. The package manager resolves the current package release from the external registry without a reviewed version or integrity constraint. 3. An attacker-controlled release is returned following publisher compromise, package takeov ...[truncated 1138 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the package installation recommendations unless the packages are necessary for the documented calculations. 2. If a dependency is required, link directly to its canonical registry page and verified source repository, and document the verified publisher or organization. 3. Pin each dependency to a specifically reviewed version rather than allowing installation of the latest mutable release. 4. Use lockfiles and integrity hashes or checksums where supported, and verify signatures or provenance attestations when available. 5. Review package contents, transitive dependencies, and installation lifecycle scripts before recommending a release. 6. Disable installation scripts where feasible and test packages in a sandbox with minimal filesystem, credential, and network access. 7. Add automated dependency monitoring and require a new security review before updating pinned versions. 8. Prefer implementing the documented arithmetic directly because the formulas are simple and already included in the skill.
