T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned and Unused npm Dependency Creates Supply-Chain Exposure
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16-18
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumVulnerable Code
yaml install: npm: - "@sardis/sdk"Technical Analysis
The Skill declares automatic installation of
@sardis/sdkwithout an exact version or integrity constraint. The documented workflows usecurlandjq; the npm package is not used anywhere in the reviewed file. It therefore expands the trusted computing base without being necessary for the demonstrated functionality.An unpinned npm dependency may resolve to a newer package release than the one originally reviewed. If the package, its maintainer account, or a transitive dependency is compromised, installation can introduce attacker-controlled code. npm lifecycle scripts may execute during installation with the privileges of the user or service installing the Skill.
No evidence establishes that
@sardis/sdkis currently malicious. The confirmed weakness is the unnecessary and unconstrained supply-chain dependency.Attack Path
- An attacker compromises the npm package, its publication credentials, or one of its transitive dependencies.
- The attacker publishes a malicious version containing an installation lifecycle script or malicious runtime code.
- A user or automated environment installs the Skill.
- Because no version is pinned, npm resolves the compromised release.
- Package-controlled code executes during installation or becomes available in the local environment.
Impact Assessment
Successful exploitation could execute code with the privileges of the account performing installation. Depending on that account's permissions, this may expose environment variables, local files, API credentials, and other accessible resources. It could also modify files or install additional components within the account's permission scope.
The issue does not itself demonstrate pri ...[truncated 47 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove
@sardis/sdkbecause the documented implementation does not use it. - If the dependency is required, pin it to an audited exact version rather than a floating package reference.
- Use a committed lockfile and verify package integrity through the package manager's integrity metadata.
- Review the package's source, maintainers, transitive dependencies, and lifecycle scripts before deployment.
- Disable npm lifecycle scripts during installation where operationally possible.
- Perform dependency installation in an isolated, least-privileged environment without sensitive credentials.
- Use automated dependency monitoring and require review before accepting version changes.
- Remove
