T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:37
- Finding
- Unpinned Third-Party Packages Executed Through Package Runners<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 37–52 **Vulnerability Type**: Unpinned and immediately executed third-party dependencies **Risk Level**: Medium ### Vulnerable Code ```markdown ### Detect the user's framework and install Frontman: **Next.js:** ```bash npx @frontman-ai/nextjs install ``` **Astro:** ```bash npx astro add @frontman-ai/astro ``` **Vite (React, Vue, Svelte):** ```bash npx @frontman-ai/vite install ``` ``` ### Technical Analysis The setup instructions invoke packages without pinning reviewed versions or verifying package integrity. In particular, `npx` can download and immediately execute the package version currently resolved by the registry. The `astro add` command can likewise install an integration and execute its setup logic. Because the package references are mutable, the code executed when a user follows these instructions may differ from the code available when the skill was audited. This creates a software supply-chain risk if a publisher account, package, registry response, or transitive dependency is compromised. The commands are consistent with the skill's stated installation purpose, and there is no evidence in the audited file that the referenced packages are currently malicious. The vulnerability is the absence of dependency pinning and verification before execution. ### Attack Path 1. An attacker compromises a referenced package, its publisher account, or a dependency in its supply chain. 2. The attacker publishes a malicious release that is selected by the unpinned package reference. 3. A user or agent follows the instructions in `SKILL.md`. 4. The package runner retrieves the mutable package release from the configured registry. 5. Installation or initialization code executes with the permissions of the user running the command. 6. The malicious code can access or alter resources available to that user before the compromise is detected. ### Impact Assessment Successful exploitatio ...[truncated 600 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin every executable package to a specifically reviewed version, for example: ```bash npx --yes @frontman-ai/nextjs@<reviewed-version> install npx --yes astro@<reviewed-version> add @frontman-ai/astro@<reviewed-version> npx --yes @frontman-ai/vite@<reviewed-version> install ``` 2. Record resolved dependencies in a committed lockfile and require immutable or frozen-lockfile installation in automated environments. 3. Verify package provenance, publisher identity, registry source, and integrity metadata before execution. 4. Review installation scripts and release changes before updating pinned versions. 5. Run installation with least privilege in an isolated development environment without production credentials. 6. Configure trusted registries explicitly and apply dependency monitoring for compromised, deprecated, or unexpectedly transferred packages. 7. Require users to review generated configuration and source changes before committing or deploying them. ]]>
