T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:10
- Finding
- Unpinned Executable npm Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 10-18 **Vulnerability Type**: Supply-chain exposure through an unpinned executable dependency **Risk Level**: Medium ### Vulnerable Code ```json "install": [ { "id": "node", "kind": "node", "package": "pdauth", "bins": ["pdauth"], "label": "Install pdauth (node)", }, ] ``` ### Technical Analysis The installation configuration specifies the executable npm package `pdauth` without an exact version, lockfile, integrity hash, or other provenance control. Consequently, installation may resolve to whichever package version is current in the configured registry rather than to a version that was reviewed with this Skill. The remainder of the Skill delegates sensitive operations to this binary, including Pipedream credential configuration, OAuth authorization-link generation, connected-account enumeration, and third-party API calls. This creates a supply-chain trust boundary: a compromised registry account, malicious package release, dependency-confusion condition in a misconfigured registry, or unexpectedly unsafe upstream update could cause attacker-controlled code to execute under the agent's privileges. The audit found no evidence that the currently referenced package is malicious. The confirmed issue is the absence of dependency pinning and integrity verification for a security-sensitive executable. ### Attack Path 1. An attacker compromises the upstream npm package or its publisher account, or causes the environment to resolve `pdauth` from an unsafe registry source. 2. The attacker publishes a malicious version under the package name accepted by this installation configuration. 3. A user or agent installs the Skill dependency without a version constraint or integrity check. 4. The package manager resolves and installs the attacker-controlled release. 5. The malicious executable runs during configuration ...[truncated 974 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `pdauth` to a reviewed exact version rather than allowing mutable latest-version resolution. 2. Commit and enforce an appropriate package lockfile with integrity metadata. 3. Verify package publisher ownership, registry provenance, release signatures where available, and expected integrity hashes before installation. 4. Configure the package manager to use an explicitly trusted registry and disable unintended fallback to private or untrusted registries. 5. Review the pinned package and its transitive dependencies for install scripts, network behavior, credential storage, and update mechanisms. 6. Run the executable in a least-privileged environment with restricted filesystem, environment-variable, process, and network access. 7. Grant only the minimum OAuth scopes necessary for each operation and isolate credentials by user and service. 8. Document expected Pipedream endpoints and authorization domains so unexpected OAuth links or network destinations can be rejected. 9. Establish a controlled update process that repeats code review and integrity verification before changing the pinned version.
