T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:25
- Finding
- Unpinned Third-Party Components Receive Persistent Access to an Authenticated Workday Session<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 25–34 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium ### Vulnerable Code ```sh npm install -g @fetchproxy/cli # provides `fpx` fpx profile add workday --domain myworkday.com # apex domain (per-tenant subdomain e.g. wd5) fpx pair -p workday # prints a pair code → approve in Transporter ``` ```text Requirements: the Transporter extension installed, an open tab at https://<host>/<tenant> (e.g. https://wd5.myworkday.com/acme) with SSO already completed, and the extension's Chrome Site access allowing myworkday.com. Pairing persists — after the first approval every later fpx call reuses it. ``` ### Technical Analysis The Skill instructs users to globally install `@fetchproxy/cli` without pinning a version or integrity hash. It then pairs that CLI persistently with a browser extension that has access to `myworkday.com` and an already authenticated Workday tab. The CLI and extension are not included in the audited project, so their implementation, update behavior, publisher authenticity, and handling of authenticated requests cannot be verified from the reviewed files. Because Workday responses may contain compensation, benefits, worker-profile, organization, and session-envelope information, the trust placed in these components is security-sensitive. The apex-domain site permission and persistent pairing are broader and longer-lived than the minimum permission needed for a single request to one tenant. Although the project contains no evidence that these components are currently malicious, an unsafe installation source, compromised publisher account, dependency compromise, or malicious extension update could abuse the established bridge. ### Attack Path 1. A user follows the Skill instructions and globally installs the latest available version of `@fetchproxy/cli`. 2. The user grants the Transporter extension access t ...[truncated 1132 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Pin `@fetchproxy/cli` to a reviewed version instead of installing the latest release implicitly. 2. Verify package provenance and use npm integrity or lockfile controls where the installation mechanism permits. 3. Document the official CLI and extension publishers, expected package identifiers, and verified distribution URLs. 4. Scope browser site access to the exact Workday tenant host rather than the `myworkday.com` apex domain whenever the extension supports it. 5. Prefer session-scoped pairing or require reauthorization after a short expiration period. 6. Provide explicit unpairing and permission-revocation instructions. 7. Require confirmation before accessing particularly sensitive areas such as pay, compensation, benefits, or manager records. 8. Publish or independently audit the CLI, extension, and bridge protocol, including request routing, telemetry, update behavior, and response retention. 9. Ensure the bridge enforces an allowlist of expected HTTPS Workday origins and rejects redirects or requests to unrelated hosts. ]]>
