T08 · Insecure Dependencies
- Location
- SKILL.md:1445
- Finding
- Unpinned External Dependency Installation Through npx## Vulnerability Details **File Location**: `SKILL.md`, lines 1445–1459 **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium ### Vulnerable Code ```text ## If the script isn't found ``` bash: ../ofox-video-core/references/ofox-video.sh: No such file or directory ``` This means `ofox-video-core` isn't installed alongside this skill — not that anything is broken. This skill delegates all execution to it and reaches it by relative path. Fix: `npx skills add ofoxai/skills` (the whole repo). Say that plainly rather than relaying the raw path error, which names neither the missing skill nor the fix. ``` ### Technical Analysis The project does not include the `ofox-video-core` implementation or the delegated `ofox-video.sh` script. Instead, it directs the agent to execute an npm-distributed command through `npx` to install the external `ofoxai/skills` repository. Neither the `skills` CLI nor the repository is pinned to a reviewed version, release tag, commit hash, checksum, or signature. The command also installs the whole external repository rather than only the required `ofox-video-core` component. The code ultimately executed can therefore differ from the code available at audit time. Because the bundled files repeatedly instruct the agent to delegate generation, polling, downloading, API-key handling, and local-file processing to the missing script, the unaudited dependency becomes part of the trusted execution path. ### Attack Path 1. The agent attempts to use the skill while `../ofox-video-core/references/ofox-video.sh` is absent. 2. Following the documented recovery procedure, the agent runs `npx skills add ofoxai/skills`. 3. `npx` retrieves and executes a mutable version of the `skills` package. 4. That package obtains and installs mutable content from the external `ofoxai/skills` source. 5. A compromised package, account, release, dependency, or upstream reposito ...[truncated 1148 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the `skills` npm package to an exact reviewed version rather than invoking an unspecified current release through `npx`. 2. Pin `ofoxai/skills` to an immutable commit hash or cryptographically signed release. 3. Verify downloaded artifacts with a published checksum or signature before installation or execution. 4. Install only the required `ofox-video-core` component instead of the whole repository. 5. Prefer bundling the reviewed `ofox-video.sh` implementation and required reference files with the artifact. 6. Require explicit user approval before downloading or executing installation code. 7. Run the dependency with least privilege and a restricted environment containing only `OFOX_API_KEY` and the files required for the current operation. 8. Restrict filesystem writes to a dedicated output directory and restrict network access to documented API endpoints. 9. Re-audit the exact pinned dependency version, including its transitive dependencies and API-key handling, before treating it as trusted.
