T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:12
- Finding
- Unpinned and Unused Automatically Installed npm Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 12-15 **Vulnerability Type**: Unpinned third-party dependency and unnecessary supply-chain exposure **Risk Level**: Medium ```yaml install: npm: - "@sardis/sdk" ``` ### Technical Analysis The skill metadata directs the installation mechanism to install `@sardis/sdk` without specifying an exact version or package integrity hash. This allows the dependency resolver to retrieve a package release whose contents may change after the skill has been audited. The documented workflows use `curl` and `jq`; they do not reference this SDK. The dependency therefore introduces code beyond the demonstrated functional requirements. Depending on the package manager's configuration, the package or its transitive dependencies may execute npm lifecycle scripts during installation. This is a supply-chain risk rather than evidence that the current package is malicious. Exploitation requires the package, one of its transitive dependencies, or the package-distribution channel to become compromised or unexpectedly modified. ### Attack Path 1. A user or agent installs the skill and its metadata-declared dependencies. 2. The package manager resolves the current available version of `@sardis/sdk`, because no exact version or integrity constraint is provided. 3. The package manager downloads the package and its transitive dependencies from the configured registry. 4. npm lifecycle scripts may execute with the privileges of the account performing installation. 5. If a resolved package release or dependency is compromised, attacker-controlled code can execute on the local system. ### Impact Assessment Successful exploitation could execute code with the privileges of the installer. Depending on those privileges and the runtime environment, the compromised dependency could read accessible files and environment variables, including credentials, make outbound network requests, modify project or user files, or tamper wit ...[truncated 293 chars]
- Remediation
- ## Remediation Suggestions 1. Remove the `@sardis/sdk` installation declaration if the skill continues to operate exclusively through the documented `curl` and `jq` workflows. 2. If the SDK is required by an undisclosed runtime integration, pin it to an exact reviewed version rather than a floating release. 3. Commit and enforce a lockfile containing registry-resolved integrity hashes for the package and its transitive dependencies. 4. Verify package provenance and registry configuration, and review the selected release and dependency tree before distribution. 5. Disable npm lifecycle scripts during installation where operationally possible, for example by using an installation policy equivalent to `--ignore-scripts`. 6. Install dependencies in a sandbox or container with minimal filesystem access, no unnecessary credentials, and restricted outbound networking. 7. Document the specific feature requiring the SDK so future reviewers can verify that the dependency remains necessary.
