T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:253
- Finding
- Unpinned Third-Party Installation Command Creates a Supply-Chain Risk## Vulnerability Details **File Location**: `SKILL.md:253` **Vulnerability Type**: Unpinned third-party dependency and mutable remote source **Risk Level**: Medium ### Vulnerable Code ```text npx skills add WardLu/skills --skill codex-cross-provider-session-repair --global --agent codex --yes ``` ### Technical Analysis The documented installation command invokes the `skills` npm package without specifying a package version. It also installs Skill content from the mutable `WardLu/skills` GitHub repository without pinning a commit hash or verifying an archive checksum or signature. As a result, the code installed by this command can differ from the artifact covered by this audit. The `--yes` option further suppresses interactive confirmation. This creates a supply-chain trust boundary involving both the npm package and the remote repository. The audited project itself does not retrieve or execute a remote payload during its normal repair workflow. The risk is specifically associated with the documented installation command. ### Attack Path 1. An attacker compromises the npm package, its publishing credentials, the referenced GitHub repository, or a relevant upstream account. 2. The attacker publishes a modified package version or changes the repository content. 3. A user executes the documented unpinned `npx skills add ... --yes` command. 4. `npx` resolves the mutable package version, and the installer retrieves mutable repository content. 5. The modified content is executed during installation or installed globally under the user's Agent Skill directory. 6. The malicious Skill subsequently executes with the privileges of the user running the agent. ### Impact Assessment Successful exploitation could install or execute arbitrary code with the current user's privileges. The affected scope includes files, credentials, agent configuration, and other resources accessible to that user. The command does not itself request administrative privileges, so the dir ...[truncated 64 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the npm package to a reviewed version, for example by using an explicit `package@version` reference. 2. Pin the Skill repository to an immutable commit hash or signed release rather than a mutable branch. 3. Publish a SHA-256 checksum or cryptographic signature for the distributable archive and require verification before installation. 4. Remove `--yes` from the recommended command when practical so users can review installation details. 5. Document the expected package version, repository commit, archive digest, and installed file manifest. 6. Prefer installation from a locally downloaded and verified release artifact.
