T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:18
- Finding
- Unpinned External CLI Dependency<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 18–22 **Vulnerability Type**: Unpinned third-party npm package installation **Risk Level**: Medium ### Vulnerable Code ```yaml { 'kind': 'node', 'package': '@philidorlabs/cli', 'bins': ['philidor'], 'label': 'Install Philidor CLI', }, ``` ### Technical Analysis The skill delegates its operational behavior to the external npm package `@philidorlabs/cli`, but does not pin the package to an exact version or provide an integrity hash or lockfile. The CLI implementation is not included in this project, so its installation-time and runtime behavior cannot be verified from the audited files. Consequently, installation may resolve to a future, mutable package release. If the package publisher account, npm distribution channel, or package itself is compromised, malicious code could be introduced after this skill has already been reviewed. Depending on the package configuration, such code could execute through npm lifecycle scripts during installation or when the `philidor` binary is invoked. This finding does not establish that the current package is malicious. It identifies an avoidable supply-chain trust boundary caused by installing unaudited, unpinned external code. ### Attack Path 1. An attacker compromises the npm publisher account or another component of the distribution process for `@philidorlabs/cli`. 2. The attacker publishes a malicious version under the legitimate package name. 3. A user or agent installs the skill's required CLI without an exact version constraint. 4. The package manager resolves the mutable package reference to the malicious release. 5. Malicious code executes through an installation lifecycle script or when the agent invokes the installed `philidor` binary. 6. The code runs with the privileges of the account performing the installation or invocation. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the local ...[truncated 459 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `@philidorlabs/cli` to a reviewed, exact version rather than resolving a mutable release. 2. Verify the package using a trusted integrity hash or package-manager lockfile. 3. Audit and retain the source corresponding to the pinned CLI release. 4. Disable npm lifecycle scripts during installation where operationally feasible, and explicitly review any required scripts before permitting them. 5. Install and run the CLI in a least-privilege sandbox with restricted filesystem access, environment exposure, and outbound network connectivity. 6. Use automated dependency monitoring and require review before updating the pinned version. 7. Consider vendoring the reviewed CLI implementation or distributing it through a controlled, signed artifact channel. ]]>
